From fdecc184b304448c5bf8bde3d4dbaf8cd8253d61 Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Fri, 16 Oct 2015 23:16:00 -0700 Subject: [PATCH 1/6] Removed unused include. --- 3party/opening_hours/osm_time_range.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/3party/opening_hours/osm_time_range.cpp b/3party/opening_hours/osm_time_range.cpp index ee411e5261..fc174e04cf 100644 --- a/3party/opening_hours/osm_time_range.cpp +++ b/3party/opening_hours/osm_time_range.cpp @@ -33,7 +33,6 @@ //#define BOOST_SPIRIT_DEBUG 1 #define BOOST_SPIRIT_USE_PHOENIX_V3 #include -#include #include #include #include @@ -241,7 +240,6 @@ namespace namespace qi = boost::spirit::qi; namespace phx = boost::phoenix; - namespace repo = boost::spirit::repository; namespace charset = boost::spirit::standard_wide; using space_type = charset::space_type; From 459883c07b0f5f601b8ca0040e8d1a13f2f7750b Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Fri, 16 Oct 2015 23:16:28 -0700 Subject: [PATCH 2/6] OSRM warning fixes. --- 3party/osrm/osrm-backend/plugins/MapsMePlugin.hpp | 5 +++-- routing/osrm_data_facade.hpp | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/3party/osrm/osrm-backend/plugins/MapsMePlugin.hpp b/3party/osrm/osrm-backend/plugins/MapsMePlugin.hpp index eb255a7643..af6eb7a920 100644 --- a/3party/osrm/osrm-backend/plugins/MapsMePlugin.hpp +++ b/3party/osrm/osrm-backend/plugins/MapsMePlugin.hpp @@ -23,6 +23,7 @@ #include "../util/simple_logger.hpp" #include +#include #include #include #include @@ -175,7 +176,7 @@ public: raw_route.segment_end_coordinates.emplace_back( PhantomNodes{first_pair.first, second_pair.first}); }; - + osrm::for_each_pair(phantom_node_pair_list, build_phantom_pairs); vector uturns; @@ -202,7 +203,7 @@ public: GetByPoint doGet(m_regions, pt); ForEachCountry(pt, doGet); - if (doGet.m_res != -1) + if (doGet.m_res != std::numeric_limits::max()) usedMwms.emplace_back(make_pair(m_countries[doGet.m_res].m_name, pt)); } } diff --git a/routing/osrm_data_facade.hpp b/routing/osrm_data_facade.hpp index a2d5d2a949..cf9482f3de 100644 --- a/routing/osrm_data_facade.hpp +++ b/routing/osrm_data_facade.hpp @@ -93,7 +93,7 @@ public: EdgeDataT res; res.shortcut = m_shortcuts[e]; - res.id = res.shortcut ? (node - static_cast(bits::ZigZagDecode(m_edgeId[m_shortcuts.rank(e)]))) : 0; + res.id = res.shortcut ? (node - static_cast(bits::ZigZagDecode(m_edgeId[static_cast(m_shortcuts.rank(e))]))) : 0; res.backward = (m_matrix.select(e) % 2 == 1); res.forward = !res.backward; res.distance = static_cast(m_edgeData[e]); From 5f459b6450e78df1f973afcef69a4864a56cb3fc Mon Sep 17 00:00:00 2001 From: Alex Zolotarev Date: Fri, 16 Oct 2015 23:11:24 -0700 Subject: [PATCH 3/6] Updated boost to 1.59. --- .../accumulators/framework/depends_on.hpp | 6 +- .../statistics/times2_iterator.hpp | 6 +- 3party/boost/boost/algorithm/algorithm.hpp | 86 + 3party/boost/boost/algorithm/cxx11/all_of.hpp | 5 - 3party/boost/boost/algorithm/cxx11/any_of.hpp | 5 - .../boost/boost/algorithm/cxx11/copy_if.hpp | 5 - 3party/boost/boost/algorithm/cxx11/copy_n.hpp | 5 - .../boost/algorithm/cxx11/find_if_not.hpp | 5 - 3party/boost/boost/algorithm/cxx11/iota.hpp | 5 - .../boost/algorithm/cxx11/is_partitioned.hpp | 5 - .../boost/algorithm/cxx11/is_permutation.hpp | 7 - .../boost/boost/algorithm/cxx11/is_sorted.hpp | 6 - .../boost/boost/algorithm/cxx11/none_of.hpp | 5 - .../boost/algorithm/cxx11/partition_copy.hpp | 5 - .../boost/algorithm/cxx11/partition_point.hpp | 7 +- .../boost/algorithm/cxx14/is_permutation.hpp | 18 +- 3party/boost/boost/algorithm/hex.hpp | 1 - .../algorithm/searching/detail/bm_traits.hpp | 4 +- .../boost/algorithm/string/find_iterator.hpp | 7 +- 3party/boost/boost/align.hpp | 22 +- 3party/boost/boost/align/align.hpp | 76 +- 3party/boost/boost/align/aligned_alloc.hpp | 68 +- .../boost/boost/align/aligned_allocator.hpp | 367 +- .../boost/align/aligned_allocator_adaptor.hpp | 409 +- .../aligned_allocator_adaptor_forward.hpp | 39 +- .../boost/align/aligned_allocator_forward.hpp | 39 +- 3party/boost/boost/align/aligned_delete.hpp | 60 +- .../boost/align/aligned_delete_forward.hpp | 37 +- 3party/boost/boost/align/alignment_of.hpp | 79 +- .../boost/align/alignment_of_forward.hpp | 39 +- 3party/boost/boost/align/assume_aligned.hpp | 29 + 3party/boost/boost/align/detail/address.hpp | 26 +- 3party/boost/boost/align/detail/addressof.hpp | 26 +- 3party/boost/boost/align/detail/align.hpp | 46 +- .../boost/boost/align/detail/align_cxx11.hpp | 20 +- .../boost/align/detail/aligned_alloc.hpp | 69 +- .../align/detail/aligned_alloc_android.hpp | 37 +- .../align/detail/aligned_alloc_macos.hpp | 58 +- .../boost/align/detail/aligned_alloc_msvc.hpp | 37 +- .../align/detail/aligned_alloc_posix.hpp | 52 +- .../align/detail/aligned_alloc_sunos.hpp | 37 +- .../boost/boost/align/detail/alignment_of.hpp | 36 +- .../boost/align/detail/alignment_of_clang.hpp | 35 +- .../align/detail/alignment_of_codegear.hpp | 35 +- .../boost/align/detail/alignment_of_cxx11.hpp | 24 +- .../boost/align/detail/alignment_of_gcc.hpp | 35 +- .../boost/align/detail/alignment_of_msvc.hpp | 36 +- .../boost/align/detail/assume_aligned.hpp | 17 + .../align/detail/assume_aligned_clang.hpp | 21 + .../boost/align/detail/assume_aligned_gcc.hpp | 18 + .../align/detail/assume_aligned_intel.hpp | 18 + .../align/detail/assume_aligned_msvc.hpp | 20 + .../boost/align/detail/integral_constant.hpp | 48 + .../boost/boost/align/detail/is_aligned.hpp | 28 +- .../boost/boost/align/detail/is_alignment.hpp | 30 +- .../boost/align/detail/is_alignment_const.hpp | 27 - .../align/detail/is_alignment_constant.hpp | 28 + 3party/boost/boost/align/detail/max_align.hpp | 33 +- .../boost/boost/align/detail/max_count_of.hpp | 34 +- 3party/boost/boost/align/detail/min_size.hpp | 33 +- .../boost/align/detail/offset_object.hpp | 26 + 3party/boost/boost/align/detail/padded.hpp | 24 - .../boost/align/detail/remove_traits.hpp | 92 + .../boost/boost/align/detail/type_traits.hpp | 90 - 3party/boost/boost/align/is_aligned.hpp | 49 +- 3party/boost/boost/any.hpp | 45 +- .../boost/boost/archive/archive_exception.hpp | 24 +- 3party/boost/boost/archive/basic_archive.hpp | 4 +- .../boost/archive/basic_binary_iarchive.hpp | 58 +- .../boost/archive/basic_binary_iprimitive.hpp | 26 +- .../boost/archive/basic_binary_oarchive.hpp | 33 +- .../boost/archive/basic_binary_oprimitive.hpp | 20 +- .../archive/basic_streambuf_locale_saver.hpp | 8 +- .../boost/archive/basic_text_iarchive.hpp | 15 +- .../boost/archive/basic_text_iprimitive.hpp | 8 +- .../boost/archive/basic_text_oarchive.hpp | 21 +- .../boost/archive/basic_text_oprimitive.hpp | 10 +- .../boost/boost/archive/basic_xml_archive.hpp | 16 +- .../boost/archive/basic_xml_iarchive.hpp | 43 +- .../boost/archive/basic_xml_oarchive.hpp | 67 +- .../boost/boost/archive/binary_iarchive.hpp | 2 +- .../boost/archive/binary_iarchive_impl.hpp | 8 +- .../boost/boost/archive/binary_oarchive.hpp | 2 +- .../boost/archive/binary_oarchive_impl.hpp | 8 +- 3party/boost/boost/archive/codecvt_null.hpp | 8 +- .../boost/boost/archive/detail/abi_prefix.hpp | 4 - .../boost/boost/archive/detail/abi_suffix.hpp | 4 - .../archive/detail/archive_serializer_map.hpp | 9 +- .../archive/detail/basic_archive_impl.hpp | 48 - .../boost/archive/detail/basic_config.hpp | 45 - .../boost/archive/detail/basic_iarchive.hpp | 44 +- .../archive/detail/basic_iserializer.hpp | 10 +- .../boost/archive/detail/basic_oarchive.hpp | 34 +- .../archive/detail/basic_oserializer.hpp | 10 +- .../detail/basic_pointer_iserializer.hpp | 10 +- .../detail/basic_pointer_oserializer.hpp | 10 +- .../archive/detail/basic_serializer_map.hpp | 8 +- .../boost/archive/detail/common_iarchive.hpp | 2 +- .../boost/archive/detail/common_oarchive.hpp | 2 +- 3party/boost/boost/archive/detail/decl.hpp | 68 +- .../archive/detail/helper_collection.hpp | 56 +- .../archive/detail/interface_iarchive.hpp | 12 +- .../archive/detail/interface_oarchive.hpp | 23 +- .../boost/archive/detail/iserializer.hpp | 47 +- .../detail/polymorphic_iarchive_route.hpp | 9 +- .../detail/polymorphic_oarchive_route.hpp | 8 +- .../boost/archive/detail/register_archive.hpp | 2 +- .../archive/impl/archive_serializer_map.ipp | 6 +- .../archive/impl/basic_binary_iarchive.ipp | 15 +- .../archive/impl/basic_binary_iprimitive.ipp | 26 +- .../archive/impl/basic_binary_oarchive.ipp | 6 +- .../archive/impl/basic_binary_oprimitive.ipp | 25 +- .../archive/impl/basic_text_iarchive.ipp | 8 +- .../archive/impl/basic_text_iprimitive.ipp | 26 +- .../archive/impl/basic_text_oarchive.ipp | 4 +- .../archive/impl/basic_text_oprimitive.ipp | 18 +- .../boost/archive/impl/basic_xml_grammar.hpp | 14 +- .../boost/archive/impl/basic_xml_iarchive.ipp | 24 +- .../boost/archive/impl/basic_xml_oarchive.ipp | 65 +- .../boost/archive/impl/text_iarchive_impl.ipp | 18 +- .../boost/archive/impl/text_oarchive_impl.ipp | 12 +- .../archive/impl/text_wiarchive_impl.ipp | 10 +- .../archive/impl/text_woarchive_impl.ipp | 8 +- .../boost/archive/impl/xml_iarchive_impl.ipp | 35 +- .../boost/archive/impl/xml_oarchive_impl.ipp | 22 +- .../boost/archive/impl/xml_wiarchive_impl.ipp | 66 +- .../boost/archive/impl/xml_woarchive_impl.ipp | 68 +- .../archive/iterators/base64_from_binary.hpp | 6 +- .../archive/iterators/binary_from_base64.hpp | 5 +- .../archive/iterators/insert_linebreaks.hpp | 6 +- .../boost/archive/iterators/mb_from_wchar.hpp | 7 +- .../archive/iterators/remove_whitespace.hpp | 6 +- .../archive/iterators/transform_width.hpp | 9 +- .../boost/archive/iterators/wchar_from_mb.hpp | 5 +- .../boost/archive/iterators/xml_escape.hpp | 5 +- .../boost/archive/iterators/xml_unescape.hpp | 5 +- .../boost/archive/polymorphic_iarchive.hpp | 18 +- .../boost/archive/polymorphic_oarchive.hpp | 17 +- .../boost/boost/archive/shared_ptr_helper.hpp | 219 - 3party/boost/boost/archive/text_iarchive.hpp | 29 +- 3party/boost/boost/archive/text_oarchive.hpp | 18 +- 3party/boost/boost/archive/text_wiarchive.hpp | 20 +- 3party/boost/boost/archive/text_woarchive.hpp | 12 +- .../boost/archive/xml_archive_exception.hpp | 5 +- 3party/boost/boost/archive/xml_iarchive.hpp | 34 +- 3party/boost/boost/archive/xml_oarchive.hpp | 14 +- 3party/boost/boost/archive/xml_wiarchive.hpp | 44 +- 3party/boost/boost/archive/xml_woarchive.hpp | 28 +- 3party/boost/boost/asio.hpp | 2 +- 3party/boost/boost/asio/async_result.hpp | 2 +- .../boost/asio/basic_datagram_socket.hpp | 2 +- .../boost/boost/asio/basic_deadline_timer.hpp | 2 +- 3party/boost/boost/asio/basic_io_object.hpp | 2 +- 3party/boost/boost/asio/basic_raw_socket.hpp | 2 +- .../boost/asio/basic_seq_packet_socket.hpp | 2 +- 3party/boost/boost/asio/basic_serial_port.hpp | 2 +- 3party/boost/boost/asio/basic_signal_set.hpp | 2 +- 3party/boost/boost/asio/basic_socket.hpp | 2 +- .../boost/asio/basic_socket_acceptor.hpp | 2 +- .../boost/asio/basic_socket_iostream.hpp | 2 +- .../boost/asio/basic_socket_streambuf.hpp | 2 +- .../boost/boost/asio/basic_stream_socket.hpp | 2 +- 3party/boost/boost/asio/basic_streambuf.hpp | 2 +- .../boost/boost/asio/basic_streambuf_fwd.hpp | 2 +- .../boost/boost/asio/basic_waitable_timer.hpp | 2 +- 3party/boost/boost/asio/buffer.hpp | 2 +- .../boost/boost/asio/buffered_read_stream.hpp | 2 +- .../boost/asio/buffered_read_stream_fwd.hpp | 2 +- 3party/boost/boost/asio/buffered_stream.hpp | 2 +- .../boost/boost/asio/buffered_stream_fwd.hpp | 2 +- .../boost/asio/buffered_write_stream.hpp | 2 +- .../boost/asio/buffered_write_stream_fwd.hpp | 2 +- 3party/boost/boost/asio/buffers_iterator.hpp | 2 +- .../boost/boost/asio/completion_condition.hpp | 2 +- 3party/boost/boost/asio/connect.hpp | 2 +- 3party/boost/boost/asio/coroutine.hpp | 2 +- .../boost/asio/datagram_socket_service.hpp | 2 +- 3party/boost/boost/asio/deadline_timer.hpp | 4 +- .../boost/asio/deadline_timer_service.hpp | 2 +- 3party/boost/boost/asio/detail/addressof.hpp | 2 +- 3party/boost/boost/asio/detail/array.hpp | 2 +- 3party/boost/boost/asio/detail/array_fwd.hpp | 2 +- 3party/boost/boost/asio/detail/assert.hpp | 2 +- .../boost/boost/asio/detail/atomic_count.hpp | 2 +- .../asio/detail/base_from_completion_cond.hpp | 2 +- .../boost/boost/asio/detail/bind_handler.hpp | 2 +- .../boost/asio/detail/buffer_resize_guard.hpp | 2 +- .../asio/detail/buffer_sequence_adapter.hpp | 2 +- .../asio/detail/buffered_stream_storage.hpp | 2 +- 3party/boost/boost/asio/detail/call_stack.hpp | 2 +- .../boost/asio/detail/chrono_time_traits.hpp | 2 +- .../boost/asio/detail/completion_handler.hpp | 2 +- 3party/boost/boost/asio/detail/config.hpp | 185 +- .../boost/asio/detail/consuming_buffers.hpp | 2 +- 3party/boost/boost/asio/detail/cstdint.hpp | 2 +- .../boost/boost/asio/detail/date_time_fwd.hpp | 2 +- .../asio/detail/deadline_timer_service.hpp | 2 +- .../boost/asio/detail/dependent_type.hpp | 2 +- .../boost/asio/detail/descriptor_ops.hpp | 2 +- .../boost/asio/detail/descriptor_read_op.hpp | 2 +- .../boost/asio/detail/descriptor_write_op.hpp | 2 +- .../boost/asio/detail/dev_poll_reactor.hpp | 6 +- .../boost/boost/asio/detail/epoll_reactor.hpp | 2 +- 3party/boost/boost/asio/detail/event.hpp | 2 +- .../detail/eventfd_select_interrupter.hpp | 2 +- .../boost/asio/detail/fd_set_adapter.hpp | 2 +- .../boost/boost/asio/detail/fenced_block.hpp | 2 +- 3party/boost/boost/asio/detail/function.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 +- .../asio/detail/handler_alloc_helpers.hpp | 2 +- .../asio/detail/handler_cont_helpers.hpp | 2 +- .../asio/detail/handler_invoke_helpers.hpp | 2 +- .../boost/asio/detail/handler_tracking.hpp | 2 +- .../asio/detail/handler_type_requirements.hpp | 2 +- 3party/boost/boost/asio/detail/hash_map.hpp | 2 +- .../detail/impl/buffer_sequence_adapter.ipp | 2 +- .../boost/asio/detail/impl/descriptor_ops.ipp | 2 +- .../asio/detail/impl/dev_poll_reactor.hpp | 2 +- .../asio/detail/impl/dev_poll_reactor.ipp | 51 +- .../boost/asio/detail/impl/epoll_reactor.hpp | 2 +- .../boost/asio/detail/impl/epoll_reactor.ipp | 2 +- .../impl/eventfd_select_interrupter.ipp | 2 +- .../asio/detail/impl/handler_tracking.ipp | 2 +- .../boost/asio/detail/impl/kqueue_reactor.hpp | 2 +- .../boost/asio/detail/impl/kqueue_reactor.ipp | 103 +- .../detail/impl/pipe_select_interrupter.ipp | 2 +- .../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 | 2 +- .../impl/reactive_serial_port_service.ipp | 2 +- .../impl/reactive_socket_service_base.ipp | 2 +- .../detail/impl/resolver_service_base.ipp | 2 +- .../boost/asio/detail/impl/select_reactor.hpp | 2 +- .../boost/asio/detail/impl/select_reactor.ipp | 2 +- .../asio/detail/impl/service_registry.hpp | 2 +- .../asio/detail/impl/service_registry.ipp | 2 +- .../asio/detail/impl/signal_set_service.ipp | 2 +- .../boost/asio/detail/impl/socket_ops.ipp | 60 +- .../detail/impl/socket_select_interrupter.ipp | 2 +- .../boost/asio/detail/impl/strand_service.hpp | 2 +- .../boost/asio/detail/impl/strand_service.ipp | 2 +- .../asio/detail/impl/task_io_service.hpp | 2 +- .../asio/detail/impl/task_io_service.ipp | 2 +- .../boost/asio/detail/impl/throw_error.ipp | 2 +- .../asio/detail/impl/timer_queue_ptime.ipp | 2 +- .../asio/detail/impl/timer_queue_set.ipp | 2 +- .../boost/asio/detail/impl/win_event.ipp | 2 +- .../detail/impl/win_iocp_handle_service.ipp | 2 +- .../asio/detail/impl/win_iocp_io_service.hpp | 2 +- .../asio/detail/impl/win_iocp_io_service.ipp | 2 +- .../impl/win_iocp_serial_port_service.ipp | 2 +- .../impl/win_iocp_socket_service_base.ipp | 8 +- .../boost/asio/detail/impl/win_mutex.ipp | 2 +- .../detail/impl/win_object_handle_service.ipp | 5 +- .../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 | 2 +- .../detail/impl/winrt_timer_scheduler.hpp | 2 +- .../detail/impl/winrt_timer_scheduler.ipp | 2 +- .../boost/asio/detail/impl/winsock_init.ipp | 2 +- 3party/boost/boost/asio/detail/io_control.hpp | 2 +- .../boost/asio/detail/keyword_tss_ptr.hpp | 2 +- .../boost/asio/detail/kqueue_reactor.hpp | 3 +- .../asio/detail/local_free_on_block_exit.hpp | 2 +- .../boost/asio/detail/macos_fenced_block.hpp | 2 +- 3party/boost/boost/asio/detail/mutex.hpp | 2 +- .../boost/boost/asio/detail/noncopyable.hpp | 2 +- 3party/boost/boost/asio/detail/null_event.hpp | 2 +- .../boost/asio/detail/null_fenced_block.hpp | 2 +- 3party/boost/boost/asio/detail/null_mutex.hpp | 2 +- .../boost/boost/asio/detail/null_reactor.hpp | 2 +- .../boost/asio/detail/null_signal_blocker.hpp | 2 +- .../boost/asio/detail/null_socket_service.hpp | 2 +- .../boost/asio/detail/null_static_mutex.hpp | 2 +- .../boost/boost/asio/detail/null_thread.hpp | 2 +- .../boost/boost/asio/detail/null_tss_ptr.hpp | 2 +- .../boost/boost/asio/detail/object_pool.hpp | 2 +- .../boost/asio/detail/old_win_sdk_compat.hpp | 2 +- 3party/boost/boost/asio/detail/op_queue.hpp | 2 +- 3party/boost/boost/asio/detail/operation.hpp | 2 +- .../asio/detail/pipe_select_interrupter.hpp | 2 +- .../boost/boost/asio/detail/pop_options.hpp | 28 +- .../boost/boost/asio/detail/posix_event.hpp | 2 +- .../asio/detail/posix_fd_set_adapter.hpp | 2 +- .../boost/boost/asio/detail/posix_mutex.hpp | 2 +- .../asio/detail/posix_signal_blocker.hpp | 2 +- .../boost/asio/detail/posix_static_mutex.hpp | 2 +- .../boost/boost/asio/detail/posix_thread.hpp | 2 +- .../boost/boost/asio/detail/posix_tss_ptr.hpp | 2 +- .../boost/boost/asio/detail/push_options.hpp | 30 +- .../detail/reactive_descriptor_service.hpp | 2 +- .../asio/detail/reactive_null_buffers_op.hpp | 2 +- .../detail/reactive_serial_port_service.hpp | 2 +- .../asio/detail/reactive_socket_accept_op.hpp | 2 +- .../detail/reactive_socket_connect_op.hpp | 2 +- .../asio/detail/reactive_socket_recv_op.hpp | 2 +- .../detail/reactive_socket_recvfrom_op.hpp | 2 +- .../detail/reactive_socket_recvmsg_op.hpp | 2 +- .../asio/detail/reactive_socket_send_op.hpp | 2 +- .../asio/detail/reactive_socket_sendto_op.hpp | 2 +- .../asio/detail/reactive_socket_service.hpp | 2 +- .../detail/reactive_socket_service_base.hpp | 2 +- 3party/boost/boost/asio/detail/reactor.hpp | 2 +- .../boost/boost/asio/detail/reactor_fwd.hpp | 2 +- 3party/boost/boost/asio/detail/reactor_op.hpp | 2 +- .../boost/asio/detail/reactor_op_queue.hpp | 2 +- 3party/boost/boost/asio/detail/regex_fwd.hpp | 2 +- .../boost/asio/detail/resolve_endpoint_op.hpp | 2 +- 3party/boost/boost/asio/detail/resolve_op.hpp | 2 +- .../boost/asio/detail/resolver_service.hpp | 2 +- .../asio/detail/resolver_service_base.hpp | 2 +- .../boost/boost/asio/detail/scoped_lock.hpp | 2 +- 3party/boost/boost/asio/detail/scoped_ptr.hpp | 2 +- .../boost/asio/detail/select_interrupter.hpp | 2 +- .../boost/asio/detail/select_reactor.hpp | 2 +- .../boost/asio/detail/service_registry.hpp | 14 +- 3party/boost/boost/asio/detail/shared_ptr.hpp | 2 +- .../boost/asio/detail/signal_blocker.hpp | 2 +- .../boost/asio/detail/signal_handler.hpp | 2 +- .../boost/boost/asio/detail/signal_init.hpp | 2 +- 3party/boost/boost/asio/detail/signal_op.hpp | 2 +- .../boost/asio/detail/signal_set_service.hpp | 2 +- .../boost/boost/asio/detail/socket_holder.hpp | 2 +- 3party/boost/boost/asio/detail/socket_ops.hpp | 2 +- .../boost/boost/asio/detail/socket_option.hpp | 2 +- .../asio/detail/socket_select_interrupter.hpp | 2 +- .../boost/boost/asio/detail/socket_types.hpp | 2 +- .../asio/detail/solaris_fenced_block.hpp | 2 +- .../boost/boost/asio/detail/static_mutex.hpp | 2 +- 3party/boost/boost/asio/detail/std_event.hpp | 2 +- 3party/boost/boost/asio/detail/std_mutex.hpp | 2 +- .../boost/asio/detail/std_static_mutex.hpp | 2 +- 3party/boost/boost/asio/detail/std_thread.hpp | 2 +- .../boost/asio/detail/strand_service.hpp | 2 +- .../boost/asio/detail/task_io_service.hpp | 2 +- .../asio/detail/task_io_service_operation.hpp | 2 +- .../detail/task_io_service_thread_info.hpp | 2 +- 3party/boost/boost/asio/detail/thread.hpp | 2 +- .../boost/asio/detail/thread_info_base.hpp | 2 +- .../boost/boost/asio/detail/throw_error.hpp | 2 +- .../boost/asio/detail/throw_exception.hpp | 2 +- .../boost/boost/asio/detail/timer_queue.hpp | 13 +- .../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 +- 3party/boost/boost/asio/detail/tss_ptr.hpp | 2 +- .../boost/boost/asio/detail/type_traits.hpp | 2 +- .../boost/asio/detail/variadic_templates.hpp | 2 +- .../boost/boost/asio/detail/wait_handler.hpp | 2 +- 3party/boost/boost/asio/detail/wait_op.hpp | 2 +- 3party/boost/boost/asio/detail/weak_ptr.hpp | 2 +- 3party/boost/boost/asio/detail/win_event.hpp | 2 +- .../boost/asio/detail/win_fd_set_adapter.hpp | 2 +- .../boost/asio/detail/win_fenced_block.hpp | 2 +- .../asio/detail/win_iocp_handle_read_op.hpp | 2 +- .../asio/detail/win_iocp_handle_service.hpp | 2 +- .../asio/detail/win_iocp_handle_write_op.hpp | 2 +- .../boost/asio/detail/win_iocp_io_service.hpp | 2 +- .../asio/detail/win_iocp_null_buffers_op.hpp | 2 +- .../boost/asio/detail/win_iocp_operation.hpp | 2 +- .../asio/detail/win_iocp_overlapped_op.hpp | 2 +- .../asio/detail/win_iocp_overlapped_ptr.hpp | 2 +- .../detail/win_iocp_serial_port_service.hpp | 2 +- .../asio/detail/win_iocp_socket_accept_op.hpp | 2 +- .../detail/win_iocp_socket_connect_op.hpp | 2 +- .../asio/detail/win_iocp_socket_recv_op.hpp | 2 +- .../detail/win_iocp_socket_recvfrom_op.hpp | 2 +- .../detail/win_iocp_socket_recvmsg_op.hpp | 2 +- .../asio/detail/win_iocp_socket_send_op.hpp | 2 +- .../asio/detail/win_iocp_socket_service.hpp | 2 +- .../detail/win_iocp_socket_service_base.hpp | 2 +- .../asio/detail/win_iocp_thread_info.hpp | 2 +- 3party/boost/boost/asio/detail/win_mutex.hpp | 2 +- .../asio/detail/win_object_handle_service.hpp | 2 +- .../boost/asio/detail/win_static_mutex.hpp | 2 +- 3party/boost/boost/asio/detail/win_thread.hpp | 2 +- .../boost/boost/asio/detail/win_tss_ptr.hpp | 2 +- .../boost/boost/asio/detail/wince_thread.hpp | 2 +- .../boost/asio/detail/winrt_async_manager.hpp | 2 +- .../boost/asio/detail/winrt_async_op.hpp | 2 +- .../boost/asio/detail/winrt_resolve_op.hpp | 2 +- .../asio/detail/winrt_resolver_service.hpp | 2 +- .../asio/detail/winrt_socket_connect_op.hpp | 2 +- .../asio/detail/winrt_socket_recv_op.hpp | 2 +- .../asio/detail/winrt_socket_send_op.hpp | 2 +- .../asio/detail/winrt_ssocket_service.hpp | 2 +- .../detail/winrt_ssocket_service_base.hpp | 2 +- .../asio/detail/winrt_timer_scheduler.hpp | 2 +- .../boost/boost/asio/detail/winrt_utils.hpp | 2 +- .../boost/boost/asio/detail/winsock_init.hpp | 2 +- .../boost/asio/detail/wrapped_handler.hpp | 2 +- 3party/boost/boost/asio/error.hpp | 7 +- .../boost/asio/generic/basic_endpoint.hpp | 2 +- .../boost/asio/generic/datagram_protocol.hpp | 2 +- .../boost/asio/generic/detail/endpoint.hpp | 2 +- .../asio/generic/detail/impl/endpoint.ipp | 2 +- .../boost/boost/asio/generic/raw_protocol.hpp | 2 +- .../asio/generic/seq_packet_protocol.hpp | 2 +- .../boost/asio/generic/stream_protocol.hpp | 2 +- .../boost/boost/asio/handler_alloc_hook.hpp | 2 +- .../boost/asio/handler_continuation_hook.hpp | 2 +- .../boost/boost/asio/handler_invoke_hook.hpp | 2 +- 3party/boost/boost/asio/handler_type.hpp | 2 +- .../boost/asio/high_resolution_timer.hpp | 2 +- .../boost/asio/impl/buffered_read_stream.hpp | 2 +- .../boost/asio/impl/buffered_write_stream.hpp | 2 +- 3party/boost/boost/asio/impl/connect.hpp | 2 +- 3party/boost/boost/asio/impl/error.ipp | 2 +- .../boost/asio/impl/handler_alloc_hook.ipp | 2 +- 3party/boost/boost/asio/impl/io_service.hpp | 2 +- 3party/boost/boost/asio/impl/io_service.ipp | 2 +- 3party/boost/boost/asio/impl/read.hpp | 2 +- 3party/boost/boost/asio/impl/read_at.hpp | 2 +- 3party/boost/boost/asio/impl/read_until.hpp | 2 +- .../boost/asio/impl/serial_port_base.hpp | 2 +- .../boost/asio/impl/serial_port_base.ipp | 2 +- 3party/boost/boost/asio/impl/spawn.hpp | 41 +- 3party/boost/boost/asio/impl/src.cpp | 2 +- 3party/boost/boost/asio/impl/src.hpp | 2 +- 3party/boost/boost/asio/impl/use_future.hpp | 2 +- 3party/boost/boost/asio/impl/write.hpp | 2 +- 3party/boost/boost/asio/impl/write_at.hpp | 2 +- 3party/boost/boost/asio/io_service.hpp | 2 +- 3party/boost/boost/asio/ip/address.hpp | 2 +- 3party/boost/boost/asio/ip/address_v4.hpp | 2 +- 3party/boost/boost/asio/ip/address_v6.hpp | 2 +- 3party/boost/boost/asio/ip/basic_endpoint.hpp | 2 +- 3party/boost/boost/asio/ip/basic_resolver.hpp | 2 +- .../boost/asio/ip/basic_resolver_entry.hpp | 2 +- .../boost/asio/ip/basic_resolver_iterator.hpp | 2 +- .../boost/asio/ip/basic_resolver_query.hpp | 2 +- .../boost/boost/asio/ip/detail/endpoint.hpp | 2 +- .../boost/asio/ip/detail/impl/endpoint.ipp | 2 +- .../boost/asio/ip/detail/socket_option.hpp | 2 +- 3party/boost/boost/asio/ip/host_name.hpp | 2 +- 3party/boost/boost/asio/ip/icmp.hpp | 2 +- 3party/boost/boost/asio/ip/impl/address.hpp | 2 +- 3party/boost/boost/asio/ip/impl/address.ipp | 2 +- .../boost/boost/asio/ip/impl/address_v4.hpp | 2 +- .../boost/boost/asio/ip/impl/address_v4.ipp | 2 +- .../boost/boost/asio/ip/impl/address_v6.hpp | 2 +- .../boost/boost/asio/ip/impl/address_v6.ipp | 2 +- .../boost/asio/ip/impl/basic_endpoint.hpp | 2 +- 3party/boost/boost/asio/ip/impl/host_name.ipp | 2 +- 3party/boost/boost/asio/ip/multicast.hpp | 2 +- .../boost/asio/ip/resolver_query_base.hpp | 2 +- .../boost/boost/asio/ip/resolver_service.hpp | 2 +- 3party/boost/boost/asio/ip/tcp.hpp | 2 +- 3party/boost/boost/asio/ip/udp.hpp | 2 +- 3party/boost/boost/asio/ip/unicast.hpp | 2 +- 3party/boost/boost/asio/ip/v6_only.hpp | 2 +- 3party/boost/boost/asio/is_read_buffered.hpp | 2 +- 3party/boost/boost/asio/is_write_buffered.hpp | 2 +- .../boost/boost/asio/local/basic_endpoint.hpp | 2 +- .../boost/boost/asio/local/connect_pair.hpp | 2 +- .../boost/asio/local/datagram_protocol.hpp | 2 +- .../boost/asio/local/detail/endpoint.hpp | 2 +- .../boost/asio/local/detail/impl/endpoint.ipp | 2 +- .../boost/asio/local/stream_protocol.hpp | 2 +- 3party/boost/boost/asio/placeholders.hpp | 2 +- .../boost/asio/posix/basic_descriptor.hpp | 2 +- .../asio/posix/basic_stream_descriptor.hpp | 2 +- .../boost/asio/posix/descriptor_base.hpp | 2 +- .../boost/asio/posix/stream_descriptor.hpp | 2 +- .../asio/posix/stream_descriptor_service.hpp | 2 +- .../boost/boost/asio/raw_socket_service.hpp | 2 +- 3party/boost/boost/asio/read.hpp | 2 +- 3party/boost/boost/asio/read_at.hpp | 2 +- 3party/boost/boost/asio/read_until.hpp | 2 +- .../boost/asio/seq_packet_socket_service.hpp | 2 +- 3party/boost/boost/asio/serial_port.hpp | 2 +- 3party/boost/boost/asio/serial_port_base.hpp | 2 +- .../boost/boost/asio/serial_port_service.hpp | 2 +- 3party/boost/boost/asio/signal_set.hpp | 2 +- .../boost/boost/asio/signal_set_service.hpp | 2 +- .../boost/asio/socket_acceptor_service.hpp | 2 +- 3party/boost/boost/asio/socket_base.hpp | 2 +- 3party/boost/boost/asio/spawn.hpp | 2 +- 3party/boost/boost/asio/ssl.hpp | 2 +- 3party/boost/boost/asio/ssl/basic_context.hpp | 2 +- 3party/boost/boost/asio/ssl/context.hpp | 2 +- 3party/boost/boost/asio/ssl/context_base.hpp | 18 +- .../boost/boost/asio/ssl/context_service.hpp | 2 +- .../asio/ssl/detail/buffered_handshake_op.hpp | 2 +- 3party/boost/boost/asio/ssl/detail/engine.hpp | 2 +- .../boost/asio/ssl/detail/handshake_op.hpp | 2 +- .../boost/asio/ssl/detail/impl/engine.ipp | 5 +- .../asio/ssl/detail/impl/openssl_init.ipp | 6 +- 3party/boost/boost/asio/ssl/detail/io.hpp | 6 +- .../boost/asio/ssl/detail/openssl_init.hpp | 2 +- .../boost/asio/ssl/detail/openssl_types.hpp | 2 +- .../asio/ssl/detail/password_callback.hpp | 2 +- .../boost/boost/asio/ssl/detail/read_op.hpp | 2 +- .../boost/asio/ssl/detail/shutdown_op.hpp | 2 +- .../boost/asio/ssl/detail/stream_core.hpp | 2 +- .../boost/asio/ssl/detail/verify_callback.hpp | 2 +- .../boost/boost/asio/ssl/detail/write_op.hpp | 2 +- 3party/boost/boost/asio/ssl/error.hpp | 2 +- 3party/boost/boost/asio/ssl/impl/context.hpp | 2 +- 3party/boost/boost/asio/ssl/impl/context.ipp | 30 +- 3party/boost/boost/asio/ssl/impl/error.ipp | 2 +- .../asio/ssl/impl/rfc2818_verification.ipp | 2 +- 3party/boost/boost/asio/ssl/impl/src.hpp | 2 +- .../boost/asio/ssl/old/basic_context.hpp | 2 +- .../boost/asio/ssl/old/context_service.hpp | 2 +- .../old/detail/openssl_context_service.hpp | 2 +- .../ssl/old/detail/openssl_stream_service.hpp | 2 +- 3party/boost/boost/asio/ssl/old/stream.hpp | 2 +- .../boost/asio/ssl/old/stream_service.hpp | 2 +- .../boost/asio/ssl/rfc2818_verification.hpp | 2 +- 3party/boost/boost/asio/ssl/stream.hpp | 2 +- 3party/boost/boost/asio/ssl/stream_base.hpp | 2 +- .../boost/boost/asio/ssl/stream_service.hpp | 2 +- .../boost/boost/asio/ssl/verify_context.hpp | 2 +- 3party/boost/boost/asio/ssl/verify_mode.hpp | 2 +- 3party/boost/boost/asio/steady_timer.hpp | 2 +- 3party/boost/boost/asio/strand.hpp | 5 +- .../boost/asio/stream_socket_service.hpp | 2 +- 3party/boost/boost/asio/streambuf.hpp | 2 +- 3party/boost/boost/asio/system_timer.hpp | 2 +- 3party/boost/boost/asio/time_traits.hpp | 4 +- 3party/boost/boost/asio/unyield.hpp | 2 +- 3party/boost/boost/asio/use_future.hpp | 2 +- 3party/boost/boost/asio/version.hpp | 4 +- 3party/boost/boost/asio/wait_traits.hpp | 2 +- .../boost/asio/waitable_timer_service.hpp | 2 +- .../boost/boost/asio/windows/basic_handle.hpp | 2 +- .../asio/windows/basic_object_handle.hpp | 2 +- .../windows/basic_random_access_handle.hpp | 2 +- .../asio/windows/basic_stream_handle.hpp | 2 +- .../boost/asio/windows/object_handle.hpp | 2 +- .../asio/windows/object_handle_service.hpp | 2 +- .../boost/asio/windows/overlapped_ptr.hpp | 2 +- .../asio/windows/random_access_handle.hpp | 2 +- .../windows/random_access_handle_service.hpp | 2 +- .../boost/asio/windows/stream_handle.hpp | 2 +- .../asio/windows/stream_handle_service.hpp | 2 +- 3party/boost/boost/asio/write.hpp | 2 +- 3party/boost/boost/asio/write_at.hpp | 2 +- 3party/boost/boost/asio/yield.hpp | 2 +- 3party/boost/boost/atomic/capabilities.hpp | 1 + .../boost/atomic/detail/atomic_template.hpp | 2 +- .../boost/atomic/detail/caps_gcc_atomic.hpp | 100 +- 3party/boost/boost/atomic/detail/config.hpp | 15 + .../boost/boost/atomic/detail/interlocked.hpp | 30 + .../boost/atomic/detail/ops_gcc_alpha.hpp | 48 +- .../boost/boost/atomic/detail/ops_gcc_arm.hpp | 48 +- .../boost/atomic/detail/ops_gcc_atomic.hpp | 232 +- .../boost/boost/atomic/detail/ops_gcc_ppc.hpp | 36 +- .../boost/boost/atomic/detail/ops_gcc_x86.hpp | 24 +- .../boost/atomic/detail/ops_gcc_x86_dcas.hpp | 40 +- .../boost/atomic/detail/ops_msvc_x86.hpp | 4 +- 3party/boost/boost/atomic/detail/pause.hpp | 4 +- 3party/boost/boost/bimap/bimap.hpp | 14 +- .../associative_container_adaptor.hpp | 2 +- .../container_adaptor/container_adaptor.hpp | 2 +- .../detail/comparison_adaptor.hpp | 2 +- .../container_adaptor/detail/functor_bag.hpp | 2 +- .../detail/identity_converters.hpp | 2 +- .../detail/key_extractor.hpp | 2 +- .../detail/non_unique_container_helper.hpp | 2 +- .../bimap/container_adaptor/list_adaptor.hpp | 2 +- .../container_adaptor/list_map_adaptor.hpp | 2 +- .../bimap/container_adaptor/map_adaptor.hpp | 2 +- .../container_adaptor/multimap_adaptor.hpp | 2 +- .../container_adaptor/multiset_adaptor.hpp | 2 +- .../ordered_associative_container_adaptor.hpp | 2 +- .../sequence_container_adaptor.hpp | 2 +- .../bimap/container_adaptor/set_adaptor.hpp | 2 +- .../support/iterator_facade_converters.hpp | 2 +- ...nordered_associative_container_adaptor.hpp | 2 +- .../unordered_map_adaptor.hpp | 2 +- .../unordered_multimap_adaptor.hpp | 2 +- .../unordered_multiset_adaptor.hpp | 2 +- .../unordered_set_adaptor.hpp | 2 +- .../container_adaptor/vector_adaptor.hpp | 2 +- .../container_adaptor/vector_map_adaptor.hpp | 2 +- .../boost/boost/bimap/detail/bimap_core.hpp | 2 +- .../boost/boost/bimap/detail/concept_tags.hpp | 2 +- .../boost/bimap/detail/debug/static_error.hpp | 2 +- .../bimap/detail/generate_index_binder.hpp | 2 +- .../bimap/detail/generate_relation_binder.hpp | 2 +- .../bimap/detail/generate_view_binder.hpp | 2 +- .../boost/bimap/detail/is_set_type_of.hpp | 2 +- .../detail/manage_additional_parameters.hpp | 2 +- .../boost/bimap/detail/manage_bimap_key.hpp | 2 +- .../boost/bimap/detail/map_view_base.hpp | 2 +- .../boost/bimap/detail/map_view_iterator.hpp | 2 +- .../boost/bimap/detail/modifier_adaptor.hpp | 2 +- .../bimap/detail/non_unique_views_helper.hpp | 2 +- .../boost/bimap/detail/set_view_base.hpp | 2 +- .../boost/bimap/detail/set_view_iterator.hpp | 2 +- .../bimap/detail/test/check_metadata.hpp | 2 +- .../bimap/detail/user_interface_config.hpp | 2 +- 3party/boost/boost/bimap/list_of.hpp | 2 +- 3party/boost/boost/bimap/multiset_of.hpp | 2 +- .../boost/bimap/property_map/set_support.hpp | 2 +- .../property_map/unordered_set_support.hpp | 2 +- .../bimap/relation/detail/access_builder.hpp | 2 +- .../detail/metadata_access_builder.hpp | 2 +- .../boost/bimap/relation/detail/mutant.hpp | 2 +- .../relation/detail/static_access_builder.hpp | 2 +- .../detail/to_mutable_relation_functor.hpp | 2 +- .../boost/boost/bimap/relation/member_at.hpp | 2 +- .../boost/bimap/relation/mutant_relation.hpp | 6 +- .../boost/bimap/relation/pair_layout.hpp | 2 +- .../boost/bimap/relation/structured_pair.hpp | 6 +- .../bimap/relation/support/data_extractor.hpp | 2 +- .../boost/bimap/relation/support/get.hpp | 2 +- .../relation/support/get_pair_functor.hpp | 2 +- .../relation/support/is_tag_of_member_at.hpp | 2 +- .../relation/support/member_with_tag.hpp | 2 +- .../bimap/relation/support/opposite_tag.hpp | 2 +- .../boost/bimap/relation/support/pair_by.hpp | 2 +- .../bimap/relation/support/pair_type_by.hpp | 2 +- .../bimap/relation/support/value_type_of.hpp | 2 +- .../boost/bimap/relation/symmetrical_base.hpp | 2 +- 3party/boost/boost/bimap/set_of.hpp | 2 +- .../boost/bimap/support/data_type_by.hpp | 2 +- .../boost/bimap/support/iterator_type_by.hpp | 2 +- .../boost/boost/bimap/support/key_type_by.hpp | 2 +- 3party/boost/boost/bimap/support/lambda.hpp | 2 +- 3party/boost/boost/bimap/support/map_by.hpp | 2 +- .../boost/boost/bimap/support/map_type_by.hpp | 2 +- .../boost/bimap/support/value_type_by.hpp | 2 +- .../tags/support/apply_to_value_type.hpp | 2 +- .../bimap/tags/support/default_tagged.hpp | 2 +- .../boost/bimap/tags/support/is_tagged.hpp | 2 +- .../bimap/tags/support/overwrite_tagged.hpp | 2 +- .../boost/boost/bimap/tags/support/tag_of.hpp | 2 +- .../bimap/tags/support/value_type_of.hpp | 2 +- 3party/boost/boost/bimap/tags/tagged.hpp | 2 +- .../boost/bimap/unconstrained_set_of.hpp | 2 +- .../boost/bimap/unordered_multiset_of.hpp | 2 +- 3party/boost/boost/bimap/unordered_set_of.hpp | 2 +- 3party/boost/boost/bimap/vector_of.hpp | 2 +- .../boost/boost/bimap/views/list_map_view.hpp | 2 +- .../boost/boost/bimap/views/list_set_view.hpp | 2 +- 3party/boost/boost/bimap/views/map_view.hpp | 2 +- .../boost/boost/bimap/views/multimap_view.hpp | 2 +- .../boost/boost/bimap/views/multiset_view.hpp | 2 +- 3party/boost/boost/bimap/views/set_view.hpp | 2 +- .../bimap/views/unconstrained_map_view.hpp | 2 +- .../bimap/views/unconstrained_set_view.hpp | 2 +- .../boost/bimap/views/unordered_map_view.hpp | 2 +- .../bimap/views/unordered_multimap_view.hpp | 2 +- .../bimap/views/unordered_multiset_view.hpp | 2 +- .../boost/bimap/views/unordered_set_view.hpp | 2 +- .../boost/bimap/views/vector_map_view.hpp | 2 +- .../boost/bimap/views/vector_set_view.hpp | 2 +- 3party/boost/boost/bind/bind.hpp | 294 +- 3party/boost/boost/bind/bind_mf_cc.hpp | 214 + .../boost/chrono/detail/scan_keyword.hpp | 4 +- 3party/boost/boost/chrono/duration.hpp | 13 +- 3party/boost/boost/chrono/io/duration_get.hpp | 8 +- 3party/boost/boost/chrono/io/duration_io.hpp | 80 +- 3party/boost/boost/chrono/io/duration_put.hpp | 42 +- .../boost/boost/chrono/io/time_point_io.hpp | 14 +- 3party/boost/boost/chrono/io_v1/chrono_io.hpp | 8 +- 3party/boost/boost/circular_buffer/base.hpp | 39 +- 3party/boost/boost/circular_buffer_fwd.hpp | 2 +- .../boost/concept/detail/concept_undef.hpp | 0 3party/boost/boost/concept/detail/general.hpp | 11 +- 3party/boost/boost/concept_check.hpp | 6 +- 3party/boost/boost/concept_check/borland.hpp | 0 3party/boost/boost/concept_check/general.hpp | 0 .../boost/concept_check/has_constraints.hpp | 0 3party/boost/boost/concept_check/msvc.hpp | 0 3party/boost/boost/config/auto_link.hpp | 12 +- .../boost/boost/config/compiler/borland.hpp | 30 + 3party/boost/boost/config/compiler/clang.hpp | 79 +- .../boost/boost/config/compiler/codegear.hpp | 30 + .../boost/config/compiler/common_edg.hpp | 30 + 3party/boost/boost/config/compiler/cray.hpp | 3 + .../boost/config/compiler/digitalmars.hpp | 30 + 3party/boost/boost/config/compiler/gcc.hpp | 82 +- .../boost/boost/config/compiler/gcc_xml.hpp | 30 + 3party/boost/boost/config/compiler/intel.hpp | 357 +- .../boost/config/compiler/metrowerks.hpp | 30 + 3party/boost/boost/config/compiler/mpw.hpp | 31 + .../boost/boost/config/compiler/pathscale.hpp | 30 + 3party/boost/boost/config/compiler/pgi.hpp | 29 + .../boost/boost/config/compiler/sunpro_cc.hpp | 74 +- 3party/boost/boost/config/compiler/vacpp.hpp | 30 + .../boost/boost/config/compiler/visualc.hpp | 87 +- 3party/boost/boost/config/compiler/xlcpp.hpp | 257 + 3party/boost/boost/config/platform/haiku.hpp | 31 + 3party/boost/boost/config/platform/linux.hpp | 2 + .../boost/boost/config/platform/solaris.hpp | 5 +- 3party/boost/boost/config/platform/win32.hpp | 6 +- .../boost/config/select_compiler_config.hpp | 11 +- .../boost/config/select_platform_config.hpp | 4 + .../boost/config/select_stdlib_config.hpp | 20 +- .../boost/boost/config/stdlib/dinkumware.hpp | 27 +- 3party/boost/boost/config/stdlib/libcomo.hpp | 12 +- 3party/boost/boost/config/stdlib/libcpp.hpp | 34 + .../boost/boost/config/stdlib/libstdcpp3.hpp | 131 +- 3party/boost/boost/config/stdlib/modena.hpp | 10 + 3party/boost/boost/config/stdlib/msl.hpp | 19 +- .../boost/boost/config/stdlib/roguewave.hpp | 9 + 3party/boost/boost/config/stdlib/sgi.hpp | 13 +- 3party/boost/boost/config/stdlib/stlport.hpp | 18 +- 3party/boost/boost/config/stdlib/vacpp.hpp | 13 +- 3party/boost/boost/config/suffix.hpp | 28 +- 3party/boost/boost/config/user.hpp | 12 +- .../boost/boost/container/adaptive_pool.hpp | 121 +- 3party/boost/boost/container/allocator.hpp | 61 +- .../boost/container/allocator_traits.hpp | 464 +- .../boost/boost/container/container_fwd.hpp | 66 +- 3party/boost/boost/container/deque.hpp | 688 +- .../container/detail/adaptive_node_pool.hpp | 11 +- .../detail/adaptive_node_pool_impl.hpp | 28 +- .../boost/container/detail/addressof.hpp | 41 + .../container/detail/advanced_insert_int.hpp | 389 +- .../boost/container/detail/algorithm.hpp | 35 + .../boost/container/detail/algorithms.hpp | 90 - .../boost/container/detail/alloc_helpers.hpp | 60 + .../container/detail/alloc_lib_auto_link.hpp | 8 + .../container/detail/allocation_type.hpp | 8 +- .../detail/allocator_version_traits.hpp | 38 +- .../boost/container/detail/auto_link.hpp | 6 +- .../container/detail/compare_functors.hpp | 74 + .../boost/container/detail/config_begin.hpp | 32 +- .../boost/container/detail/config_end.hpp | 8 - .../container/detail/construct_in_place.hpp | 61 + .../{utilities.hpp => copy_move_algo.hpp} | 704 +- .../boost/container/detail/destroyers.hpp | 88 +- .../boost/container/detail/flat_tree.hpp | 347 +- .../container/detail/function_detector.hpp | 8 + .../boost/container/detail/hash_table.hpp | 24 +- .../boost/boost/container/detail/iterator.hpp | 40 + .../detail/iterator_to_raw_pointer.hpp | 58 + .../boost/container/detail/iterators.hpp | 168 +- .../boost/container/detail/math_functions.hpp | 8 + .../boost/container/detail/memory_util.hpp | 86 - .../boost/boost/container/detail/min_max.hpp | 37 + .../detail/minimal_char_traits_header.hpp | 32 + 3party/boost/boost/container/detail/mpl.hpp | 172 +- .../detail/multiallocation_chain.hpp | 22 +- 3party/boost/boost/container/detail/mutex.hpp | 14 +- .../boost/container/detail/next_capacity.hpp | 75 + .../container/detail/node_alloc_holder.hpp | 175 +- .../boost/container/detail/node_pool.hpp | 12 +- .../boost/container/detail/node_pool_impl.hpp | 37 +- 3party/boost/boost/container/detail/pair.hpp | 161 +- .../boost/container/detail/placement_new.hpp | 30 + .../boost/container/detail/pool_common.hpp | 7 +- .../container/detail/pool_common_alloc.hpp | 8 + .../boost/container/detail/preprocessor.hpp | 232 - .../boost/container/detail/singleton.hpp | 8 + .../boost/boost/container/detail/std_fwd.hpp | 76 + .../boost/container/detail/to_raw_pointer.hpp | 33 + .../container/detail/transform_iterator.hpp | 15 +- 3party/boost/boost/container/detail/tree.hpp | 397 +- .../boost/container/detail/type_traits.hpp | 225 +- .../boost/container/detail/value_init.hpp | 6 +- .../detail/variadic_templates_tools.hpp | 6 +- .../boost/container/detail/version_type.hpp | 15 +- .../boost/container/detail/workaround.hpp | 25 +- 3party/boost/boost/container/flat_map.hpp | 578 +- 3party/boost/boost/container/flat_set.hpp | 472 +- 3party/boost/boost/container/list.hpp | 393 +- 3party/boost/boost/container/map.hpp | 492 +- .../boost/boost/container/new_allocator.hpp | 175 + .../boost/boost/container/node_allocator.hpp | 81 +- 3party/boost/boost/container/options.hpp | 8 + .../boost/container/scoped_allocator.hpp | 1101 ++- .../boost/container/scoped_allocator_fwd.hpp | 49 +- 3party/boost/boost/container/set.hpp | 288 +- 3party/boost/boost/container/slist.hpp | 537 +- 3party/boost/boost/container/small_vector.hpp | 569 ++ .../boost/boost/container/stable_vector.hpp | 621 +- .../boost/boost/container/static_vector.hpp | 295 +- 3party/boost/boost/container/string.hpp | 355 +- .../boost/boost/container/throw_exception.hpp | 10 +- 3party/boost/boost/container/vector.hpp | 1763 +++-- 3party/boost/boost/context/all.hpp | 13 +- 3party/boost/boost/context/detail/config.hpp | 42 +- 3party/boost/boost/context/detail/invoke.hpp | 48 + .../boost/boost/context/execution_context.hpp | 11 + .../boost/boost/context/execution_context.ipp | 374 + .../context/execution_context_winfib.ipp | 308 + 3party/boost/boost/context/fcontext.hpp | 2 +- .../boost/boost/context/fixedsize_stack.hpp | 87 + .../posix/protected_fixedsize_stack.hpp | 112 + .../boost/context/posix/segmented_stack.hpp | 81 + .../context/protected_fixedsize_stack.hpp | 13 + .../boost/boost/context/segmented_stack.hpp | 13 + 3party/boost/boost/context/stack_context.hpp | 67 + 3party/boost/boost/context/stack_traits.hpp | 42 + .../windows/protected_fixedsize_stack.hpp | 99 + 3party/boost/boost/convert.hpp | 216 + 3party/boost/boost/convert/base.hpp | 180 + .../convert/detail/boost_parameter_ext.hpp | 61 + 3party/boost/boost/convert/detail/char.hpp | 22 + 3party/boost/boost/convert/detail/forward.hpp | 39 + .../boost/boost/convert/detail/has_member.hpp | 61 + .../boost/convert/detail/is_callable.hpp | 100 + .../boost/convert/detail/is_converter.hpp | 46 + 3party/boost/boost/convert/detail/is_fun.hpp | 60 + .../boost/boost/convert/detail/is_string.hpp | 34 + 3party/boost/boost/convert/detail/range.hpp | 112 + 3party/boost/boost/convert/lexical_cast.hpp | 40 + 3party/boost/boost/convert/parameters.hpp | 33 + 3party/boost/boost/convert/printf.hpp | 89 + 3party/boost/boost/convert/spirit.hpp | 53 + 3party/boost/boost/convert/stream.hpp | 196 + 3party/boost/boost/convert/strtol.hpp | 218 + 3party/boost/boost/core/addressof.hpp | 4 +- 3party/boost/boost/core/demangle.hpp | 5 - 3party/boost/boost/core/ignore_unused.hpp | 24 +- 3party/boost/boost/core/lightweight_test.hpp | 4 +- 3party/boost/boost/core/underlying_type.hpp | 4 +- .../boost/coroutine/asymmetric_coroutine.hpp | 877 +-- .../coroutine/detail/coroutine_context.hpp | 8 +- .../boost/coroutine/detail/preallocated.hpp | 45 + .../coroutine/detail/pull_coroutine_impl.hpp | 16 +- .../detail/pull_coroutine_object.hpp | 53 +- .../detail/pull_coroutine_synthesized.hpp | 2 +- .../coroutine/detail/push_coroutine_impl.hpp | 16 +- .../detail/push_coroutine_object.hpp | 57 +- .../detail/push_coroutine_synthesized.hpp | 2 +- 3party/boost/boost/coroutine/detail/setup.hpp | 4 +- .../detail/symmetric_coroutine_call.hpp | 311 +- .../detail/symmetric_coroutine_impl.hpp | 31 +- .../detail/symmetric_coroutine_object.hpp | 49 +- .../detail/symmetric_coroutine_yield.hpp | 6 +- 3party/boost/boost/coroutine/exceptions.hpp | 6 +- .../posix/protected_stack_allocator.hpp | 10 + .../boost/boost/coroutine/stack_context.hpp | 12 + .../coroutine/standard_stack_allocator.hpp | 11 + 3party/boost/boost/coroutine2/all.hpp | 15 + 3party/boost/boost/coroutine2/coroutine.hpp | 39 + .../boost/boost/coroutine2/detail/config.hpp | 51 + .../boost/coroutine2/detail/coroutine.hpp | 44 + .../boost/coroutine2/detail/forced_unwind.hpp | 33 + .../coroutine2/detail/pull_control_block.hpp | 100 + .../coroutine2/detail/pull_control_block.ipp | 258 + .../coroutine2/detail/pull_coroutine.hpp | 312 + .../coroutine2/detail/pull_coroutine.ipp | 271 + .../coroutine2/detail/push_control_block.hpp | 104 + .../coroutine2/detail/push_control_block.ipp | 281 + .../coroutine2/detail/push_coroutine.hpp | 242 + .../coroutine2/detail/push_coroutine.ipp | 253 + .../boost/boost/coroutine2/detail/state.hpp | 37 + .../boost/coroutine2/fixedsize_stack.hpp | 33 + .../coroutine2/protected_fixedsize_stack.hpp | 33 + .../boost/coroutine2/segmented_stack.hpp | 37 + 3party/boost/boost/cstdint.hpp | 9 +- 3party/boost/boost/cxx11_char_types.hpp | 70 + .../boost/date_time/microsec_time_clock.hpp | 2 +- .../boost/date_time/posix_time/conversion.hpp | 8 + 3party/boost/boost/date_time/time.hpp | 2 + .../boost/boost/date_time/time_duration.hpp | 2 + .../date_time/time_resolution_traits.hpp | 10 +- 3party/boost/boost/detail/indirect_traits.hpp | 1 - 3party/boost/boost/detail/interlocked.hpp | 36 +- .../boost/boost/detail/is_incrementable.hpp | 2 +- .../boost/detail/lightweight_test_report.hpp | 56 + .../boost/boost/detail/utf8_codecvt_facet.hpp | 51 +- .../boost/boost/detail/utf8_codecvt_facet.ipp | 11 +- 3party/boost/boost/detail/winapi/crypt.hpp | 88 + .../boost/dynamic_bitset/dynamic_bitset.hpp | 18 + 3party/boost/boost/endian/arithmetic.hpp | 413 ++ 3party/boost/boost/endian/buffers.hpp | 515 ++ 3party/boost/boost/endian/conversion.hpp | 487 ++ 3party/boost/boost/endian/detail/config.hpp | 62 + .../boost/endian/detail/cover_operators.hpp | 142 + .../boost/endian/detail/disable_warnings.hpp | 33 + .../endian/detail/disable_warnings_pop.hpp | 12 + .../boost/boost/endian/detail/intrinsic.hpp | 64 + .../boost/endian/detail/lightweight_test.hpp | 223 + 3party/boost/boost/endian/endian.hpp | 19 + 3party/boost/boost/endian/std_pair.hpp | 38 + .../boost/exception/detail/exception_ptr.hpp | 8 +- .../boost/exception/detail/type_info.hpp | 16 +- .../exception/diagnostic_information.hpp | 8 +- 3party/boost/boost/filesystem/operations.hpp | 46 +- 3party/boost/boost/filesystem/path.hpp | 229 +- 3party/boost/boost/filesystem/path_traits.hpp | 201 +- .../flyweight/detail/archive_constructed.hpp | 79 + .../flyweight/detail/dyn_perfect_fwd.hpp | 14 +- .../boost/flyweight/detail/perfect_fwd.hpp | 7 + .../boost/flyweight/detail/pp_perfect_fwd.hpp | 42 +- .../flyweight/detail/serialization_helper.hpp | 99 + 3party/boost/boost/flyweight/flyweight.hpp | 53 +- .../boost/boost/flyweight/flyweight_fwd.hpp | 42 +- 3party/boost/boost/flyweight/serialize.hpp | 98 + 3party/boost/boost/foreach.hpp | 10 +- 3party/boost/boost/format/exceptions.hpp | 2 +- 3party/boost/boost/format/feed_args.hpp | 2 +- 3party/boost/boost/format/parsing.hpp | 5 +- 3party/boost/boost/function/function_base.hpp | 16 +- .../boost/function/function_template.hpp | 61 +- .../boost/boost/function_output_iterator.hpp | 12 +- .../boost/boost/function_types/components.hpp | 7 - .../function_types/detail/class_transform.hpp | 2 - .../function_types/detail/classifier.hpp | 9 +- .../boost/function_types/detail/cv_traits.hpp | 6 +- .../function_types/detail/to_sequence.hpp | 2 - .../boost/function_types/function_arity.hpp | 2 - .../boost/function_types/function_pointer.hpp | 2 - .../function_types/function_reference.hpp | 2 - .../boost/function_types/function_type.hpp | 1 - .../function_types/is_callable_builtin.hpp | 2 - .../boost/function_types/is_function.hpp | 2 - .../function_types/is_function_pointer.hpp | 2 - .../function_types/is_function_reference.hpp | 2 - .../is_member_function_pointer.hpp | 2 - .../is_member_object_pointer.hpp | 2 - .../function_types/is_member_pointer.hpp | 2 - .../is_nonmember_callable_builtin.hpp | 2 - .../member_function_pointer.hpp | 2 - .../function_types/member_object_pointer.hpp | 2 - .../boost/function_types/parameter_types.hpp | 2 - .../boost/function_types/property_tags.hpp | 2 - .../boost/function_types/result_type.hpp | 2 - 3party/boost/boost/functional/factory.hpp | 20 +- .../functional/hash/detail/hash_float.hpp | 2 +- .../boost/boost/functional/value_factory.hpp | 1 - .../boost/fusion/adapted/adt/adapt_adt.hpp | 29 +- .../fusion/adapted/adt/adapt_assoc_adt.hpp | 26 +- .../fusion/adapted/adt/detail/adapt_base.hpp | 128 +- .../detail/adapt_base_assoc_attr_filler.hpp | 61 + .../adt/detail/adapt_base_attr_filler.hpp | 90 + .../fusion/adapted/adt/detail/extension.hpp | 6 +- .../boost/fusion/adapted/array/at_impl.hpp | 2 +- .../boost/fusion/adapted/array/begin_impl.hpp | 2 +- .../boost/fusion/adapted/array/deref_impl.hpp | 2 +- .../boost/fusion/adapted/array/end_impl.hpp | 2 +- .../adapted/boost_array/array_iterator.hpp | 17 +- .../adapted/boost_array/detail/at_impl.hpp | 4 +- .../adapted/boost_array/detail/begin_impl.hpp | 6 +- .../adapted/boost_array/detail/end_impl.hpp | 6 +- .../boost/fusion/adapted/boost_tuple.hpp | 2 + .../boost_tuple/boost_tuple_iterator.hpp | 29 +- .../adapted/boost_tuple/detail/build_cons.hpp | 59 + .../boost_tuple/detail/convert_impl.hpp | 50 + .../fusion/adapted/boost_tuple/mpl/clear.hpp | 23 + .../fusion/adapted/mpl/detail/at_impl.hpp | 2 +- .../fusion/adapted/mpl/detail/begin_impl.hpp | 2 +- .../fusion/adapted/mpl/detail/end_impl.hpp | 2 +- .../boost/fusion/adapted/mpl/mpl_iterator.hpp | 19 +- .../boost/boost/fusion/adapted/std_tuple.hpp | 2 + .../adapted/std_tuple/detail/at_impl.hpp | 2 +- .../adapted/std_tuple/detail/begin_impl.hpp | 2 +- .../std_tuple/detail/build_std_tuple.hpp | 88 + .../adapted/std_tuple/detail/convert_impl.hpp | 48 + .../adapted/std_tuple/detail/end_impl.hpp | 2 +- .../fusion/adapted/std_tuple/mpl/clear.hpp | 23 + .../adapted/std_tuple/std_tuple_iterator.hpp | 18 +- .../adapted/struct/adapt_assoc_struct.hpp | 28 +- .../fusion/adapted/struct/adapt_struct.hpp | 124 +- .../adapted/struct/adapt_struct_named.hpp | 49 +- .../adapted/struct/define_assoc_struct.hpp | 11 +- .../fusion/adapted/struct/define_struct.hpp | 4 +- .../struct/detail/adapt_auto.hpp} | 11 +- .../adapted/struct/detail/adapt_base.hpp | 85 +- .../detail/adapt_base_assoc_attr_filler.hpp | 63 + .../struct/detail/adapt_base_attr_filler.hpp | 66 + .../adapted/struct/detail/adapt_is_tpl.hpp} | 14 +- .../adapted/struct/detail/begin_impl.hpp | 4 +- .../adapted/struct/detail/define_struct.hpp | 13 +- .../struct/detail/define_struct_inline.hpp | 31 +- .../adapted/struct/detail/deref_impl.hpp | 5 +- .../fusion/adapted/struct/detail/end_impl.hpp | 4 +- .../struct/detail/preprocessor/is_seq.hpp | 41 + .../adapted/struct/detail/proxy_type.hpp | 4 +- .../boost/fusion/algorithm/auxiliary.hpp | 3 + .../boost/fusion/algorithm/auxiliary/copy.hpp | 30 +- .../boost/fusion/algorithm/auxiliary/move.hpp | 32 +- .../fusion/algorithm/iteration/accumulate.hpp | 10 +- .../algorithm/iteration/accumulate_fwd.hpp | 8 +- .../algorithm/iteration/detail/fold.hpp | 153 +- .../algorithm/iteration/detail/for_each.hpp | 22 +- .../iteration/detail/preprocessed/fold.hpp | 138 +- .../detail/preprocessed/iter_fold.hpp | 138 +- .../detail/preprocessed/reverse_fold.hpp | 138 +- .../detail/preprocessed/reverse_iter_fold.hpp | 138 +- .../iteration/detail/segmented_fold.hpp | 6 +- .../iteration/detail/segmented_for_each.hpp | 6 +- .../boost/fusion/algorithm/iteration/fold.hpp | 1 + .../fusion/algorithm/iteration/fold_fwd.hpp | 16 +- .../fusion/algorithm/iteration/for_each.hpp | 10 +- .../algorithm/iteration/for_each_fwd.hpp | 10 +- .../fusion/algorithm/iteration/iter_fold.hpp | 2 +- .../algorithm/iteration/iter_fold_fwd.hpp | 16 +- .../algorithm/iteration/reverse_fold.hpp | 1 + .../algorithm/iteration/reverse_fold_fwd.hpp | 16 +- .../algorithm/iteration/reverse_iter_fold.hpp | 1 + .../iteration/reverse_iter_fold_fwd.hpp | 16 +- .../boost/fusion/algorithm/query/all.hpp | 2 +- .../boost/fusion/algorithm/query/any.hpp | 2 +- .../boost/fusion/algorithm/query/count.hpp | 5 +- .../boost/fusion/algorithm/query/count_if.hpp | 5 +- .../fusion/algorithm/query/detail/all.hpp | 32 +- .../fusion/algorithm/query/detail/any.hpp | 32 +- .../fusion/algorithm/query/detail/count.hpp | 14 +- .../algorithm/query/detail/count_if.hpp | 20 +- .../fusion/algorithm/query/detail/find_if.hpp | 14 +- .../algorithm/query/detail/segmented_find.hpp | 8 +- .../query/detail/segmented_find_if.hpp | 8 +- .../boost/fusion/algorithm/query/find.hpp | 6 +- .../boost/fusion/algorithm/query/find_fwd.hpp | 6 +- .../boost/fusion/algorithm/query/find_if.hpp | 6 +- .../fusion/algorithm/query/find_if_fwd.hpp | 8 +- .../boost/fusion/algorithm/query/none.hpp | 2 +- .../fusion/algorithm/transformation/clear.hpp | 2 +- .../detail/preprocessed/zip10.hpp | 18 +- .../detail/preprocessed/zip20.hpp | 38 +- .../detail/preprocessed/zip30.hpp | 58 +- .../detail/preprocessed/zip40.hpp | 78 +- .../detail/preprocessed/zip50.hpp | 98 +- .../transformation/detail/replace.hpp | 10 +- .../transformation/detail/replace_if.hpp | 10 +- .../fusion/algorithm/transformation/erase.hpp | 20 +- .../algorithm/transformation/erase_key.hpp | 2 +- .../algorithm/transformation/filter.hpp | 4 +- .../algorithm/transformation/filter_if.hpp | 4 +- .../algorithm/transformation/flatten.hpp | 4 +- .../algorithm/transformation/insert.hpp | 5 +- .../algorithm/transformation/insert_range.hpp | 2 +- .../fusion/algorithm/transformation/join.hpp | 2 +- .../algorithm/transformation/pop_back.hpp | 10 +- .../algorithm/transformation/pop_front.hpp | 6 +- .../algorithm/transformation/push_back.hpp | 5 +- .../algorithm/transformation/push_front.hpp | 5 +- .../algorithm/transformation/remove.hpp | 2 +- .../algorithm/transformation/remove_if.hpp | 2 +- .../algorithm/transformation/replace.hpp | 5 +- .../algorithm/transformation/replace_if.hpp | 5 +- .../algorithm/transformation/reverse.hpp | 5 +- .../algorithm/transformation/transform.hpp | 4 +- .../fusion/algorithm/transformation/zip.hpp | 2 +- .../container/deque/back_extended_deque.hpp | 9 +- .../boost/fusion/container/deque/convert.hpp | 4 +- .../boost/fusion/container/deque/deque.hpp | 81 +- .../fusion/container/deque/deque_fwd.hpp | 14 +- .../fusion/container/deque/deque_iterator.hpp | 22 +- .../fusion/container/deque/detail/at_impl.hpp | 2 +- .../container/deque/detail/begin_impl.hpp | 13 +- .../container/deque/detail/build_deque.hpp | 6 +- .../container/deque/detail/convert_impl.hpp | 3 +- .../container/deque/detail/cpp03/as_deque.hpp | 11 +- .../deque/detail/cpp03/build_deque.hpp | 4 +- .../container/deque/detail/cpp03/deque.hpp | 42 +- .../deque/detail/cpp03/deque_forward_ctor.hpp | 10 +- .../deque/detail/cpp03/deque_keyed_values.hpp | 5 +- .../detail/cpp03/deque_keyed_values_call.hpp | 10 +- .../container/deque/detail/cpp03/limits.hpp | 2 +- .../detail/cpp03/preprocessed/as_deque10.hpp | 22 +- .../detail/cpp03/preprocessed/as_deque20.hpp | 42 +- .../detail/cpp03/preprocessed/as_deque30.hpp | 62 +- .../detail/cpp03/preprocessed/as_deque40.hpp | 82 +- .../detail/cpp03/preprocessed/as_deque50.hpp | 102 +- .../detail/cpp03/preprocessed/deque10.hpp | 128 +- .../detail/cpp03/preprocessed/deque20.hpp | 228 +- .../detail/cpp03/preprocessed/deque30.hpp | 328 +- .../detail/cpp03/preprocessed/deque40.hpp | 428 +- .../detail/cpp03/preprocessed/deque50.hpp | 528 +- .../preprocessed/deque_keyed_values10.hpp | 102 +- .../preprocessed/deque_keyed_values20.hpp | 202 +- .../preprocessed/deque_keyed_values30.hpp | 302 +- .../preprocessed/deque_keyed_values40.hpp | 402 +- .../preprocessed/deque_keyed_values50.hpp | 502 +- .../deque/detail/deque_keyed_values.hpp | 22 +- .../container/deque/detail/end_impl.hpp | 13 +- .../container/deque/detail/keyed_element.hpp | 53 +- .../container/deque/front_extended_deque.hpp | 8 +- .../fusion/container/generation/cons_tie.hpp | 4 +- .../fusion/container/generation/deque_tie.hpp | 2 +- .../generation/detail/pp_deque_tie.hpp | 6 +- .../generation/detail/pp_list_tie.hpp | 101 + .../generation/detail/pp_make_deque.hpp | 12 +- .../generation/detail/pp_make_list.hpp | 114 + .../generation/detail/pp_make_map.hpp | 11 +- .../generation/detail/pp_make_set.hpp | 133 + .../generation/detail/pp_make_vector.hpp | 114 + .../generation/detail/pp_map_tie.hpp | 11 +- .../generation/detail/pp_vector_tie.hpp | 99 + .../detail/preprocessed/deque_tie10.hpp | 60 +- .../detail/preprocessed/deque_tie20.hpp | 120 +- .../detail/preprocessed/deque_tie30.hpp | 180 +- .../detail/preprocessed/deque_tie40.hpp | 240 +- .../detail/preprocessed/deque_tie50.hpp | 300 +- .../detail/preprocessed/list_tie10.hpp | 60 +- .../detail/preprocessed/list_tie20.hpp | 120 +- .../detail/preprocessed/list_tie30.hpp | 180 +- .../detail/preprocessed/list_tie40.hpp | 240 +- .../detail/preprocessed/list_tie50.hpp | 300 +- .../detail/preprocessed/make_deque10.hpp | 63 +- .../detail/preprocessed/make_deque20.hpp | 123 +- .../detail/preprocessed/make_deque30.hpp | 183 +- .../detail/preprocessed/make_deque40.hpp | 243 +- .../detail/preprocessed/make_deque50.hpp | 303 +- .../detail/preprocessed/make_list10.hpp | 63 +- .../detail/preprocessed/make_list20.hpp | 123 +- .../detail/preprocessed/make_list30.hpp | 183 +- .../detail/preprocessed/make_list40.hpp | 243 +- .../detail/preprocessed/make_list50.hpp | 303 +- .../detail/preprocessed/make_map10.hpp | 63 +- .../detail/preprocessed/make_map20.hpp | 123 +- .../detail/preprocessed/make_map30.hpp | 183 +- .../detail/preprocessed/make_map40.hpp | 243 +- .../detail/preprocessed/make_map50.hpp | 303 +- .../detail/preprocessed/make_set10.hpp | 69 +- .../detail/preprocessed/make_set20.hpp | 129 +- .../detail/preprocessed/make_set30.hpp | 189 +- .../detail/preprocessed/make_set40.hpp | 249 +- .../detail/preprocessed/make_set50.hpp | 309 +- .../detail/preprocessed/make_vector10.hpp | 63 +- .../detail/preprocessed/make_vector20.hpp | 123 +- .../detail/preprocessed/make_vector30.hpp | 183 +- .../detail/preprocessed/make_vector40.hpp | 243 +- .../detail/preprocessed/make_vector50.hpp | 303 +- .../detail/preprocessed/map_tie10.hpp | 63 +- .../detail/preprocessed/map_tie20.hpp | 123 +- .../detail/preprocessed/map_tie30.hpp | 183 +- .../detail/preprocessed/map_tie40.hpp | 243 +- .../detail/preprocessed/map_tie50.hpp | 303 +- .../detail/preprocessed/vector_tie10.hpp | 60 +- .../detail/preprocessed/vector_tie20.hpp | 120 +- .../detail/preprocessed/vector_tie30.hpp | 180 +- .../detail/preprocessed/vector_tie40.hpp | 240 +- .../detail/preprocessed/vector_tie50.hpp | 300 +- .../fusion/container/generation/ignore.hpp | 6 +- .../fusion/container/generation/list_tie.hpp | 100 +- .../fusion/container/generation/make_cons.hpp | 4 +- .../container/generation/make_deque.hpp | 4 +- .../fusion/container/generation/make_list.hpp | 108 +- .../fusion/container/generation/make_map.hpp | 2 +- .../fusion/container/generation/make_set.hpp | 110 +- .../container/generation/make_vector.hpp | 108 +- .../fusion/container/generation/map_tie.hpp | 2 +- .../fusion/container/generation/pair_tie.hpp | 4 +- .../container/generation/vector_tie.hpp | 95 +- 3party/boost/boost/fusion/container/list.hpp | 1 - .../boost/fusion/container/list/cons.hpp | 41 +- .../fusion/container/list/cons_iterator.hpp | 54 +- .../boost/fusion/container/list/convert.hpp | 6 +- .../fusion/container/list/detail/at_impl.hpp | 6 +- .../container/list/detail/begin_impl.hpp | 4 +- .../container/list/detail/build_cons.hpp | 8 +- .../container/list/detail/convert_impl.hpp | 2 +- .../list/{ => detail/cpp03}/limits.hpp | 0 .../container/list/detail/cpp03/list.hpp | 102 + .../detail/{ => cpp03}/list_forward_ctor.hpp | 11 +- .../container/list/detail/cpp03/list_fwd.hpp | 51 + .../list/detail/cpp03/list_to_cons.hpp | 76 + .../detail/{ => cpp03}/list_to_cons_call.hpp | 13 +- .../detail/{ => cpp03}/preprocessed/list.hpp | 10 +- .../list/detail/cpp03/preprocessed/list10.hpp | 100 + .../{ => cpp03}/preprocessed/list10_fwd.hpp | 0 .../list/detail/cpp03/preprocessed/list20.hpp | 140 + .../{ => cpp03}/preprocessed/list20_fwd.hpp | 0 .../list/detail/cpp03/preprocessed/list30.hpp | 180 + .../{ => cpp03}/preprocessed/list30_fwd.hpp | 0 .../list/detail/cpp03/preprocessed/list40.hpp | 220 + .../{ => cpp03}/preprocessed/list40_fwd.hpp | 0 .../list/detail/cpp03/preprocessed/list50.hpp | 260 + .../{ => cpp03}/preprocessed/list50_fwd.hpp | 0 .../{ => cpp03}/preprocessed/list_fwd.hpp | 10 +- .../{ => cpp03}/preprocessed/list_to_cons.hpp | 10 +- .../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 | 8 +- .../fusion/container/list/detail/end_impl.hpp | 6 +- .../container/list/detail/equal_to_impl.hpp | 2 +- .../container/list/detail/list_to_cons.hpp | 91 +- .../container/list/detail/next_impl.hpp | 6 +- .../list/detail/preprocessed/list10.hpp | 99 - .../list/detail/preprocessed/list20.hpp | 139 - .../list/detail/preprocessed/list30.hpp | 179 - .../list/detail/preprocessed/list40.hpp | 219 - .../list/detail/preprocessed/list50.hpp | 259 - .../detail/preprocessed/list_to_cons10.hpp | 96 - .../detail/preprocessed/list_to_cons20.hpp | 166 - .../detail/preprocessed/list_to_cons30.hpp | 236 - .../detail/preprocessed/list_to_cons40.hpp | 306 - .../detail/preprocessed/list_to_cons50.hpp | 376 - .../container/list/detail/reverse_cons.hpp | 4 +- .../container/list/detail/value_at_impl.hpp | 4 +- .../container/list/detail/value_of_impl.hpp | 2 +- .../boost/fusion/container/list/list.hpp | 139 +- .../boost/fusion/container/list/list_fwd.hpp | 52 +- .../boost/boost/fusion/container/list/nil.hpp | 12 +- .../boost/fusion/container/map/convert.hpp | 10 +- .../fusion/container/map/detail/at_impl.hpp | 9 +- .../container/map/detail/at_key_impl.hpp | 9 +- .../container/map/detail/begin_impl.hpp | 2 +- .../fusion/container/map/detail/build_map.hpp | 6 +- .../container/map/detail/cpp03/as_map.hpp | 11 +- .../container/map/detail/cpp03/at_impl.hpp | 18 +- .../container/map/detail/cpp03/begin_impl.hpp | 2 +- .../container/map/detail/cpp03/convert.hpp | 4 +- .../map/detail/cpp03/convert_impl.hpp | 2 +- .../map/detail/cpp03/deref_data_impl.hpp | 2 +- .../container/map/detail/cpp03/deref_impl.hpp | 2 +- .../container/map/detail/cpp03/end_impl.hpp | 2 +- .../container/map/detail/cpp03/limits.hpp | 2 +- .../fusion/container/map/detail/cpp03/map.hpp | 55 +- .../map/detail/cpp03/map_forward_ctor.hpp | 34 +- .../detail/cpp03/preprocessed/as_map10.hpp | 22 +- .../detail/cpp03/preprocessed/as_map20.hpp | 42 +- .../detail/cpp03/preprocessed/as_map30.hpp | 62 +- .../detail/cpp03/preprocessed/as_map40.hpp | 82 +- .../detail/cpp03/preprocessed/as_map50.hpp | 102 +- .../map/detail/cpp03/preprocessed/map10.hpp | 146 +- .../map/detail/cpp03/preprocessed/map20.hpp | 256 +- .../map/detail/cpp03/preprocessed/map30.hpp | 366 +- .../map/detail/cpp03/preprocessed/map40.hpp | 476 +- .../map/detail/cpp03/preprocessed/map50.hpp | 586 +- .../map/detail/cpp03/value_at_impl.hpp | 2 +- .../fusion/container/map/detail/end_impl.hpp | 2 +- .../fusion/container/map/detail/map_impl.hpp | 62 +- .../container/map/detail/value_at_impl.hpp | 3 +- .../map/detail/value_at_key_impl.hpp | 3 +- .../boost/boost/fusion/container/map/map.hpp | 24 +- .../boost/fusion/container/map/map_fwd.hpp | 7 + .../fusion/container/map/map_iterator.hpp | 46 +- 3party/boost/boost/fusion/container/set.hpp | 1 - .../boost/fusion/container/set/convert.hpp | 4 +- .../fusion/container/set/detail/as_set.hpp | 129 +- .../container/set/detail/begin_impl.hpp | 2 +- .../container/set/detail/convert_impl.hpp | 2 +- .../container/set/detail/cpp03/as_set.hpp | 138 + .../set/{ => detail/cpp03}/limits.hpp | 2 +- .../{ => cpp03}/preprocessed/as_set.hpp | 10 +- .../{ => cpp03}/preprocessed/as_set10.hpp | 24 +- .../{ => cpp03}/preprocessed/as_set20.hpp | 44 +- .../{ => cpp03}/preprocessed/as_set30.hpp | 64 +- .../{ => cpp03}/preprocessed/as_set40.hpp | 84 +- .../{ => cpp03}/preprocessed/as_set50.hpp | 104 +- .../detail/{ => cpp03}/preprocessed/set.hpp | 10 +- .../set/detail/cpp03/preprocessed/set10.hpp | 78 + .../{ => cpp03}/preprocessed/set10_fwd.hpp | 0 .../set/detail/cpp03/preprocessed/set20.hpp | 108 + .../{ => cpp03}/preprocessed/set20_fwd.hpp | 0 .../set/detail/cpp03/preprocessed/set30.hpp | 138 + .../{ => cpp03}/preprocessed/set30_fwd.hpp | 0 .../set/detail/cpp03/preprocessed/set40.hpp | 168 + .../{ => cpp03}/preprocessed/set40_fwd.hpp | 0 .../set/detail/cpp03/preprocessed/set50.hpp | 198 + .../{ => cpp03}/preprocessed/set50_fwd.hpp | 0 .../{ => cpp03}/preprocessed/set_fwd.hpp | 10 +- .../fusion/container/set/detail/cpp03/set.hpp | 106 + .../detail/{ => cpp03}/set_forward_ctor.hpp | 11 +- .../container/set/detail/cpp03/set_fwd.hpp | 53 + .../container/set/detail/deref_impl.hpp | 2 +- .../fusion/container/set/detail/end_impl.hpp | 2 +- .../set/detail/preprocessed/set10.hpp | 77 - .../set/detail/preprocessed/set20.hpp | 107 - .../set/detail/preprocessed/set30.hpp | 137 - .../set/detail/preprocessed/set40.hpp | 167 - .../set/detail/preprocessed/set50.hpp | 197 - .../boost/boost/fusion/container/set/set.hpp | 101 +- .../boost/fusion/container/set/set_fwd.hpp | 52 +- .../boost/boost/fusion/container/vector.hpp | 2 +- .../boost/fusion/container/vector/convert.hpp | 4 +- .../container/vector/detail/advance_impl.hpp | 6 +- .../container/vector/detail/as_vector.hpp | 128 +- .../container/vector/detail/at_impl.hpp | 4 +- .../container/vector/detail/begin_impl.hpp | 6 +- .../container/vector/detail/convert_impl.hpp | 2 +- .../vector/detail/cpp03/as_vector.hpp | 138 + .../vector/{ => detail/cpp03}/limits.hpp | 0 .../{ => cpp03}/preprocessed/as_vector.hpp | 10 +- .../{ => cpp03}/preprocessed/as_vector10.hpp | 24 +- .../{ => cpp03}/preprocessed/as_vector20.hpp | 44 +- .../{ => cpp03}/preprocessed/as_vector30.hpp | 64 +- .../{ => cpp03}/preprocessed/as_vector40.hpp | 84 +- .../{ => cpp03}/preprocessed/as_vector50.hpp | 104 +- .../{ => cpp03}/preprocessed/vector.hpp | 10 +- .../{ => cpp03}/preprocessed/vector10.hpp | 764 ++- .../{ => cpp03}/preprocessed/vector10_fwd.hpp | 2 +- .../{ => cpp03}/preprocessed/vector20.hpp | 760 ++- .../{ => cpp03}/preprocessed/vector20_fwd.hpp | 2 +- .../{ => cpp03}/preprocessed/vector30.hpp | 760 ++- .../{ => cpp03}/preprocessed/vector30_fwd.hpp | 2 +- .../{ => cpp03}/preprocessed/vector40.hpp | 760 ++- .../{ => cpp03}/preprocessed/vector40_fwd.hpp | 2 +- .../{ => cpp03}/preprocessed/vector50.hpp | 760 ++- .../{ => cpp03}/preprocessed/vector50_fwd.hpp | 2 +- .../preprocessed/vector_chooser.hpp | 10 +- .../preprocessed/vector_chooser10.hpp | 0 .../preprocessed/vector_chooser20.hpp | 0 .../preprocessed/vector_chooser30.hpp | 0 .../preprocessed/vector_chooser40.hpp | 0 .../preprocessed/vector_chooser50.hpp | 0 .../{ => cpp03}/preprocessed/vector_fwd.hpp | 10 +- .../detail/cpp03/preprocessed/vvector10.hpp | 311 + .../preprocessed/vvector10_fwd.hpp | 0 .../detail/cpp03/preprocessed/vvector20.hpp | 481 ++ .../preprocessed/vvector20_fwd.hpp | 0 .../detail/cpp03/preprocessed/vvector30.hpp | 651 ++ .../preprocessed/vvector30_fwd.hpp | 0 .../detail/cpp03/preprocessed/vvector40.hpp | 821 +++ .../preprocessed/vvector40_fwd.hpp | 0 .../detail/cpp03/preprocessed/vvector50.hpp | 991 +++ .../preprocessed/vvector50_fwd.hpp | 0 .../vector/detail/cpp03/value_at_impl.hpp | 34 + .../container/vector/detail/cpp03/vector.hpp | 247 + .../vector/detail/cpp03/vector10.hpp | 105 + .../{ => detail/cpp03}/vector10_fwd.hpp | 6 +- .../vector/detail/cpp03/vector20.hpp | 80 + .../{ => detail/cpp03}/vector20_fwd.hpp | 6 +- .../vector/detail/cpp03/vector30.hpp | 79 + .../{ => detail/cpp03}/vector30_fwd.hpp | 6 +- .../vector/detail/cpp03/vector40.hpp | 80 + .../{ => detail/cpp03}/vector40_fwd.hpp | 6 +- .../vector/detail/cpp03/vector50.hpp | 79 + .../{ => detail/cpp03}/vector50_fwd.hpp | 6 +- .../{ => cpp03}/vector_forward_ctor.hpp | 32 +- .../vector/detail/cpp03/vector_fwd.hpp | 66 + .../vector/detail/{ => cpp03}/vector_n.hpp | 141 +- .../detail/{ => cpp03}/vector_n_chooser.hpp | 16 +- .../container/vector/detail/deref_impl.hpp | 6 +- .../container/vector/detail/distance_impl.hpp | 4 +- .../container/vector/detail/end_impl.hpp | 6 +- .../container/vector/detail/equal_to_impl.hpp | 2 +- .../container/vector/detail/next_impl.hpp | 4 +- .../vector/detail/preprocessed/vvector10.hpp | 230 - .../vector/detail/preprocessed/vvector20.hpp | 320 - .../vector/detail/preprocessed/vvector30.hpp | 410 -- .../vector/detail/preprocessed/vvector40.hpp | 500 -- .../vector/detail/preprocessed/vvector50.hpp | 590 -- .../container/vector/detail/prior_impl.hpp | 4 +- .../container/vector/detail/value_at_impl.hpp | 34 +- .../container/vector/detail/value_of_impl.hpp | 2 +- .../boost/fusion/container/vector/vector.hpp | 239 +- .../fusion/container/vector/vector10.hpp | 103 +- .../fusion/container/vector/vector20.hpp | 77 +- .../fusion/container/vector/vector30.hpp | 76 +- .../fusion/container/vector/vector40.hpp | 77 +- .../fusion/container/vector/vector50.hpp | 76 +- .../fusion/container/vector/vector_fwd.hpp | 65 +- .../container/vector/vector_iterator.hpp | 12 +- .../boost/fusion/functional/adapter/fused.hpp | 10 +- .../adapter/fused_function_object.hpp | 10 +- .../functional/adapter/fused_procedure.hpp | 10 +- .../fusion/functional/adapter/limits.hpp | 2 +- .../fusion/functional/adapter/unfused.hpp | 15 +- .../functional/adapter/unfused_typed.hpp | 6 +- .../generation/detail/gen_make_adapter.hpp | 2 +- .../functional/invocation/detail/that_ptr.hpp | 21 +- .../fusion/functional/invocation/invoke.hpp | 81 +- .../invocation/invoke_function_object.hpp | 63 +- .../invocation/invoke_procedure.hpp | 64 +- 3party/boost/boost/fusion/include/hash.hpp | 12 + .../{adapt_assoc_class.hpp => std_tuple.hpp} | 10 +- .../boost/boost/fusion/iterator/advance.hpp | 4 +- .../boost/fusion/iterator/basic_iterator.hpp | 19 +- 3party/boost/boost/fusion/iterator/deref.hpp | 8 +- .../boost/fusion/iterator/deref_data.hpp | 4 +- .../iterator/detail/adapt_deref_traits.hpp | 2 +- .../boost/fusion/iterator/detail/advance.hpp | 8 +- .../boost/fusion/iterator/detail/distance.hpp | 2 +- .../iterator/detail/segment_sequence.hpp | 4 +- .../iterator/detail/segmented_iterator.hpp | 8 +- .../iterator/detail/segmented_next_impl.hpp | 20 +- .../boost/boost/fusion/iterator/distance.hpp | 2 +- .../boost/boost/fusion/iterator/equal_to.hpp | 4 +- .../fusion/iterator/iterator_adapter.hpp | 30 +- .../boost/fusion/iterator/iterator_facade.hpp | 10 + .../fusion/iterator/mpl/convert_iterator.hpp | 6 +- 3party/boost/boost/fusion/iterator/next.hpp | 4 +- 3party/boost/boost/fusion/iterator/prior.hpp | 4 +- .../sequence/comparison/detail/equal_to.hpp | 8 +- .../sequence/comparison/detail/greater.hpp | 6 +- .../comparison/detail/greater_equal.hpp | 6 +- .../sequence/comparison/detail/less.hpp | 6 +- .../sequence/comparison/detail/less_equal.hpp | 6 +- .../comparison/detail/not_equal_to.hpp | 8 +- .../fusion/sequence/comparison/equal_to.hpp | 4 +- .../fusion/sequence/comparison/greater.hpp | 4 +- .../sequence/comparison/greater_equal.hpp | 4 +- .../boost/fusion/sequence/comparison/less.hpp | 4 +- .../fusion/sequence/comparison/less_equal.hpp | 36 +- .../sequence/comparison/not_equal_to.hpp | 4 +- .../boost/boost/fusion/sequence/convert.hpp | 6 +- 3party/boost/boost/fusion/sequence/hash.hpp | 42 + .../boost/boost/fusion/sequence/intrinsic.hpp | 1 + .../boost/fusion/sequence/intrinsic/at.hpp | 32 +- .../fusion/sequence/intrinsic/at_key.hpp | 29 +- .../boost/fusion/sequence/intrinsic/back.hpp | 4 +- .../boost/fusion/sequence/intrinsic/begin.hpp | 8 +- .../intrinsic/detail/segmented_begin.hpp | 2 +- .../intrinsic/detail/segmented_begin_impl.hpp | 6 +- .../intrinsic/detail/segmented_end.hpp | 2 +- .../intrinsic/detail/segmented_end_impl.hpp | 13 +- .../boost/fusion/sequence/intrinsic/empty.hpp | 2 +- .../boost/fusion/sequence/intrinsic/end.hpp | 8 +- .../boost/fusion/sequence/intrinsic/front.hpp | 4 +- .../fusion/sequence/intrinsic/has_key.hpp | 2 +- .../fusion/sequence/intrinsic/segments.hpp | 4 +- .../boost/fusion/sequence/intrinsic/size.hpp | 18 +- .../boost/fusion/sequence/intrinsic/swap.hpp | 16 +- .../fusion/sequence/intrinsic/value_at.hpp | 23 +- .../sequence/intrinsic/value_at_key.hpp | 25 +- .../boost/fusion/sequence/intrinsic_fwd.hpp | 38 +- .../boost/fusion/sequence/io/detail/manip.hpp | 6 +- .../boost/boost/fusion/support/as_const.hpp | 7 +- .../boost/fusion/support/category_of.hpp | 9 + 3party/boost/boost/fusion/support/config.hpp | 85 +- 3party/boost/boost/fusion/support/deduce.hpp | 19 + .../support/detail/as_fusion_element.hpp | 12 + .../boost/fusion/support/detail/enabler.hpp | 17 + .../fusion/support/detail/index_sequence.hpp | 58 + .../boost/fusion/support/detail/result_of.hpp | 53 + .../detail/segmented_fold_until_impl.hpp | 24 +- .../boost/fusion/support/is_sequence.hpp | 4 +- .../boost/fusion/support/iterator_base.hpp | 9 +- 3party/boost/boost/fusion/support/pair.hpp | 34 +- .../fusion/support/segmented_fold_until.hpp | 12 +- .../boost/fusion/support/sequence_base.hpp | 13 +- 3party/boost/boost/fusion/support/unused.hpp | 36 +- .../boost/fusion/tuple/detail/make_tuple.hpp | 85 + .../detail/preprocessed/make_tuple10.hpp | 40 +- .../detail/preprocessed/make_tuple20.hpp | 80 +- .../detail/preprocessed/make_tuple30.hpp | 120 +- .../detail/preprocessed/make_tuple40.hpp | 160 +- .../detail/preprocessed/make_tuple50.hpp | 200 +- .../tuple/detail/preprocessed/tuple10.hpp | 44 +- .../tuple/detail/preprocessed/tuple20.hpp | 84 +- .../tuple/detail/preprocessed/tuple30.hpp | 124 +- .../tuple/detail/preprocessed/tuple40.hpp | 164 +- .../tuple/detail/preprocessed/tuple50.hpp | 204 +- .../tuple/detail/preprocessed/tuple_tie10.hpp | 40 +- .../tuple/detail/preprocessed/tuple_tie20.hpp | 80 +- .../tuple/detail/preprocessed/tuple_tie30.hpp | 120 +- .../tuple/detail/preprocessed/tuple_tie40.hpp | 160 +- .../tuple/detail/preprocessed/tuple_tie50.hpp | 200 +- .../boost/boost/fusion/tuple/detail/tuple.hpp | 121 + .../fusion/tuple/detail/tuple_expand.hpp | 4 +- .../boost/fusion/tuple/detail/tuple_fwd.hpp | 51 + .../boost/fusion/tuple/detail/tuple_tie.hpp | 75 + .../boost/boost/fusion/tuple/make_tuple.hpp | 83 +- 3party/boost/boost/fusion/tuple/tuple.hpp | 117 +- 3party/boost/boost/fusion/tuple/tuple_fwd.hpp | 49 +- 3party/boost/boost/fusion/tuple/tuple_tie.hpp | 73 +- .../view/detail/strictest_traversal.hpp | 2 +- .../view/filter_view/detail/begin_impl.hpp | 2 +- .../filter_view/detail/deref_data_impl.hpp | 2 +- .../view/filter_view/detail/end_impl.hpp | 2 +- .../view/filter_view/detail/next_impl.hpp | 2 +- .../fusion/view/filter_view/filter_view.hpp | 6 +- .../view/filter_view/filter_view_iterator.hpp | 11 +- .../fusion/view/flatten_view/flatten_view.hpp | 26 +- .../flatten_view/flatten_view_iterator.hpp | 61 +- .../view/iterator_range/detail/at_impl.hpp | 2 +- .../view/iterator_range/detail/begin_impl.hpp | 4 +- .../view/iterator_range/detail/end_impl.hpp | 4 +- .../detail/segmented_iterator_range.hpp | 28 +- .../iterator_range/detail/segments_impl.hpp | 2 +- .../view/iterator_range/iterator_range.hpp | 2 +- .../view/joint_view/detail/begin_impl.hpp | 6 +- .../joint_view/detail/deref_data_impl.hpp | 2 +- .../view/joint_view/detail/end_impl.hpp | 2 +- .../view/joint_view/detail/next_impl.hpp | 6 +- .../fusion/view/joint_view/joint_view.hpp | 8 +- .../view/joint_view/joint_view_iterator.hpp | 11 +- .../fusion/view/nview/detail/advance_impl.hpp | 4 +- .../fusion/view/nview/detail/at_impl.hpp | 6 +- .../fusion/view/nview/detail/begin_impl.hpp | 2 +- .../view/nview/detail/cpp03/nview_impl.hpp | 78 + .../fusion/view/nview/detail/deref_impl.hpp | 2 +- .../view/nview/detail/distance_impl.hpp | 2 +- .../fusion/view/nview/detail/end_impl.hpp | 2 +- .../fusion/view/nview/detail/next_impl.hpp | 2 +- .../fusion/view/nview/detail/nview_impl.hpp | 74 +- .../fusion/view/nview/detail/prior_impl.hpp | 2 +- .../boost/boost/fusion/view/nview/nview.hpp | 11 +- .../fusion/view/nview/nview_iterator.hpp | 12 +- .../repetitive_view/detail/begin_impl.hpp | 2 +- .../repetitive_view/detail/deref_impl.hpp | 2 +- .../view/repetitive_view/detail/end_impl.hpp | 2 +- .../view/repetitive_view/detail/next_impl.hpp | 6 +- .../view/repetitive_view/repetitive_view.hpp | 4 +- .../repetitive_view_iterator.hpp | 19 +- .../view/reverse_view/detail/advance_impl.hpp | 2 +- .../view/reverse_view/detail/at_impl.hpp | 2 +- .../view/reverse_view/detail/begin_impl.hpp | 2 +- .../reverse_view/detail/deref_data_impl.hpp | 2 +- .../view/reverse_view/detail/deref_impl.hpp | 2 +- .../reverse_view/detail/distance_impl.hpp | 2 +- .../view/reverse_view/detail/end_impl.hpp | 2 +- .../view/reverse_view/detail/next_impl.hpp | 2 +- .../view/reverse_view/detail/prior_impl.hpp | 2 +- .../fusion/view/reverse_view/reverse_view.hpp | 6 +- .../reverse_view/reverse_view_iterator.hpp | 11 +- .../view/single_view/detail/advance_impl.hpp | 2 +- .../view/single_view/detail/at_impl.hpp | 2 +- .../view/single_view/detail/begin_impl.hpp | 2 +- .../view/single_view/detail/deref_impl.hpp | 2 +- .../view/single_view/detail/distance_impl.hpp | 2 +- .../view/single_view/detail/end_impl.hpp | 2 +- .../view/single_view/detail/next_impl.hpp | 2 +- .../view/single_view/detail/prior_impl.hpp | 2 +- .../fusion/view/single_view/single_view.hpp | 7 +- .../view/single_view/single_view_iterator.hpp | 12 +- .../transform_view/detail/advance_impl.hpp | 4 +- .../view/transform_view/detail/at_impl.hpp | 4 +- .../view/transform_view/detail/begin_impl.hpp | 4 +- .../view/transform_view/detail/deref_impl.hpp | 4 +- .../transform_view/detail/distance_impl.hpp | 4 +- .../view/transform_view/detail/end_impl.hpp | 4 +- .../view/transform_view/detail/next_impl.hpp | 4 +- .../view/transform_view/detail/prior_impl.hpp | 4 +- .../view/transform_view/transform_view.hpp | 16 +- .../transform_view_iterator.hpp | 16 +- .../view/zip_view/detail/advance_impl.hpp | 4 +- .../fusion/view/zip_view/detail/at_impl.hpp | 8 +- .../view/zip_view/detail/begin_impl.hpp | 8 +- .../view/zip_view/detail/deref_impl.hpp | 6 +- .../view/zip_view/detail/distance_impl.hpp | 2 +- .../fusion/view/zip_view/detail/end_impl.hpp | 8 +- .../fusion/view/zip_view/detail/next_impl.hpp | 6 +- .../view/zip_view/detail/prior_impl.hpp | 6 +- .../boost/fusion/view/zip_view/zip_view.hpp | 2 +- .../view/zip_view/zip_view_iterator.hpp | 11 +- 3party/boost/boost/generator_iterator.hpp | 11 +- .../boost/geometry/algorithms/append.hpp | 2 +- .../boost/geometry/algorithms/assign.hpp | 6 +- .../boost/geometry/algorithms/buffer.hpp | 4 +- .../boost/geometry/algorithms/centroid.hpp | 6 +- .../boost/boost/geometry/algorithms/clear.hpp | 2 +- .../boost/geometry/algorithms/convert.hpp | 2 +- .../boost/geometry/algorithms/convex_hull.hpp | 2 +- .../boost/geometry/algorithms/crosses.hpp | 46 +- .../algorithms/detail/andoyer_inverse.hpp | 181 +- .../geometry/algorithms/detail/azimuth.hpp | 4 +- .../detail/buffer/buffer_inserter.hpp | 29 +- .../detail/buffer/buffer_policies.hpp | 4 +- .../buffer/buffered_piece_collection.hpp | 26 +- .../detail/comparable_distance/interface.hpp | 8 +- .../algorithms/detail/disjoint/interface.hpp | 2 +- .../algorithms/detail/distance/interface.hpp | 8 +- .../algorithms/detail/envelope/box.hpp | 122 +- .../detail/envelope/implementation.hpp | 52 +- .../algorithms/detail/envelope/initialize.hpp | 86 + .../algorithms/detail/envelope/interface.hpp | 4 +- .../envelope/intersects_antimeridian.hpp | 5 +- .../algorithms/detail/envelope/linear.hpp | 96 + .../algorithms/detail/envelope/linestring.hpp | 182 - .../detail/envelope/multilinestring.hpp | 86 - .../algorithms/detail/envelope/multipoint.hpp | 64 +- .../algorithms/detail/envelope/point.hpp | 98 +- .../algorithms/detail/envelope/range.hpp | 158 +- .../detail/envelope/range_of_boxes.hpp | 116 +- .../algorithms/detail/envelope/segment.hpp | 119 +- .../detail/envelope/transform_units.hpp | 103 + .../geometry/algorithms/detail/expand/box.hpp | 44 +- .../detail/expand/implementation.hpp | 4 +- .../algorithms/detail/expand/indexed.hpp | 10 +- .../algorithms/detail/expand/interface.hpp | 4 +- .../algorithms/detail/expand/point.hpp | 224 +- .../algorithms/detail/expand/segment.hpp | 56 +- .../algorithms/detail/get_left_turns.hpp | 12 +- .../detail/intersection/interface.hpp | 28 +- .../algorithms/detail/is_simple/linear.hpp | 4 +- .../algorithms/detail/is_valid/box.hpp | 5 + .../detail/is_valid/complement_graph.hpp | 12 +- .../detail/is_valid/has_duplicates.hpp | 3 + .../algorithms/detail/is_valid/has_spikes.hpp | 40 +- .../detail/is_valid/has_valid_self_turns.hpp | 3 + .../algorithms/detail/is_valid/interface.hpp | 6 +- .../algorithms/detail/is_valid/linear.hpp | 5 +- .../detail/is_valid/multipolygon.hpp | 18 +- .../algorithms/detail/is_valid/pointlike.hpp | 10 +- .../algorithms/detail/is_valid/polygon.hpp | 9 +- .../algorithms/detail/is_valid/ring.hpp | 9 + .../algorithms/detail/is_valid/segment.hpp | 5 + .../algorithms/detail/occupation_info.hpp | 28 +- .../detail/overlay/copy_segment_point.hpp | 6 +- .../detail/overlay/copy_segments.hpp | 38 +- .../overlay/enrich_intersection_points.hpp | 4 +- .../detail/overlay/enrichment_info.hpp | 6 +- .../algorithms/detail/overlay/follow.hpp | 14 +- .../detail/overlay/follow_linear_linear.hpp | 12 +- .../detail/overlay/get_turn_info_helpers.hpp | 105 +- .../algorithms/detail/overlay/get_turns.hpp | 26 +- .../detail/overlay/intersection_insert.hpp | 44 +- .../detail/overlay/linear_linear.hpp | 28 +- .../detail/overlay/segment_identifier.hpp | 18 +- .../algorithms/detail/overlay/traverse.hpp | 4 +- .../algorithms/detail/relate/areal_areal.hpp | 20 +- .../detail/relate/follow_helpers.hpp | 2 +- .../algorithms/detail/relate/linear_areal.hpp | 33 +- .../algorithms/detail/relate/turns.hpp | 33 +- .../algorithms/detail/result_inverse.hpp | 44 + .../algorithms/detail/ring_identifier.hpp | 14 +- .../detail/sections/sectionalize.hpp | 33 +- ...ed_index_type.hpp => signed_size_type.hpp} | 10 +- .../algorithms/detail/thomas_inverse.hpp | 202 +- .../algorithms/detail/turns/compare_turns.hpp | 16 +- .../algorithms/detail/turns/print_turns.hpp | 4 +- .../algorithms/detail/vincenty_direct.hpp | 121 +- .../algorithms/detail/vincenty_inverse.hpp | 154 +- .../geometry/algorithms/dispatch/envelope.hpp | 6 +- .../geometry/algorithms/dispatch/expand.hpp | 4 +- .../boost/geometry/algorithms/envelope.hpp | 4 +- .../boost/geometry/algorithms/equals.hpp | 6 +- .../boost/geometry/algorithms/expand.hpp | 4 +- .../boost/geometry/algorithms/length.hpp | 2 +- .../boost/geometry/algorithms/simplify.hpp | 2 +- .../geometry/algorithms/sym_difference.hpp | 201 +- .../boost/geometry/algorithms/transform.hpp | 31 +- .../boost/geometry/algorithms/within.hpp | 30 +- .../geometry/extensions/algebra/algebra.hpp | 46 - .../extensions/algebra/algorithms/assign.hpp | 129 - .../extensions/algebra/algorithms/clear.hpp | 64 - .../extensions/algebra/algorithms/convert.hpp | 87 - .../extensions/algebra/algorithms/detail.hpp | 356 - .../extensions/algebra/algorithms/reverse.hpp | 66 - .../algebra/algorithms/rotation.hpp | 268 - .../algorithms/transform_geometrically.hpp | 173 - .../algebra/algorithms/translation.hpp | 44 - .../extensions/algebra/core/access.hpp | 137 - .../algebra/core/coordinate_dimension.hpp | 58 - .../algebra/core/coordinate_system.hpp | 73 - .../algebra/core/coordinate_type.hpp | 73 - .../geometry/extensions/algebra/core/tags.hpp | 33 - .../algebra/geometries/concepts/check.hpp | 70 - .../geometries/concepts/matrix_concept.hpp | 141 - .../concepts/quaternion_concept.hpp | 111 - .../concepts/rotation_matrix_concept.hpp | 141 - .../concepts/rotation_quaternion_concept.hpp | 111 - .../geometries/concepts/vector_concept.hpp | 112 - .../extensions/algebra/geometries/matrix.hpp | 131 - .../algebra/geometries/quaternion.hpp | 130 - .../algebra/geometries/rotation_matrix.hpp | 117 - .../geometries/rotation_quaternion.hpp | 134 - .../extensions/algebra/geometries/vector.hpp | 133 - .../extensions/algorithms/connect.hpp | 581 -- .../algorithms/detail/overlay/dissolver.hpp | 656 -- .../algorithms/detail/overlay/split_rings.hpp | 558 -- .../extensions/algorithms/dissolve.hpp | 307 - .../extensions/algorithms/distance_info.hpp | 232 - .../extensions/algorithms/midpoints.hpp | 131 - .../geometry/extensions/algorithms/offset.hpp | 193 - .../extensions/algorithms/offset_appender.hpp | 96 - .../geometry/extensions/algorithms/parse.hpp | 123 - .../extensions/algorithms/point_on_line.hpp | 75 - .../extensions/algorithms/remove_holes_if.hpp | 163 - .../extensions/algorithms/remove_marked.hpp | 224 - .../extensions/algorithms/selected.hpp | 278 - .../extensions/arithmetic/cross_product.hpp | 110 - .../geometry/extensions/astronomy/core/cs.hpp | 53 - .../extensions/contrib/ttmath/ttmath.h | 2849 -------- .../extensions/contrib/ttmath/ttmathbig.h | 6064 ----------------- .../extensions/contrib/ttmath/ttmathint.h | 1922 ------ .../extensions/contrib/ttmath/ttmathmisc.h | 250 - .../extensions/contrib/ttmath/ttmathobjects.h | 809 --- .../extensions/contrib/ttmath/ttmathparser.h | 2777 -------- .../extensions/contrib/ttmath/ttmaththreads.h | 250 - .../extensions/contrib/ttmath/ttmathtypes.h | 675 -- .../extensions/contrib/ttmath/ttmathuint.h | 4121 ----------- .../contrib/ttmath/ttmathuint_noasm.h | 1017 --- .../contrib/ttmath/ttmathuint_x86.h | 1602 ----- .../contrib/ttmath/ttmathuint_x86_64.h | 1146 ---- .../contrib/ttmath/ttmathuint_x86_64_msvc.asm | 548 -- .../extensions/contrib/ttmath_stub.hpp | 373 - .../extensions/gis/geographic/core/cs.hpp | 81 - .../strategies/area_huiller_earth.hpp | 64 - .../strategies/distance_cross_track.hpp | 70 - .../gis/geographic/strategies/dms_parser.hpp | 278 - .../gis/io/shapelib/dbf_write_attribute.hpp | 87 - .../gis/io/shapelib/shape_creator.hpp | 154 - .../gis/io/shapelib/shape_reader.hpp | 72 - .../gis/io/shapelib/shp_create_object.hpp | 232 - .../io/shapelib/shp_create_object_multi.hpp | 147 - .../gis/io/shapelib/shp_read_object.hpp | 225 - .../gis/io/veshape/write_veshape.hpp | 281 - .../extensions/gis/io/wkb/detail/endian.hpp | 262 - .../extensions/gis/io/wkb/detail/ogc.hpp | 176 - .../extensions/gis/io/wkb/detail/parser.hpp | 301 - .../extensions/gis/io/wkb/detail/writer.hpp | 234 - .../extensions/gis/io/wkb/read_wkb.hpp | 108 - .../extensions/gis/io/wkb/utility.hpp | 99 - .../extensions/gis/io/wkb/write_wkb.hpp | 128 - .../gis/latlong/detail/graticule.hpp | 238 - .../extensions/gis/latlong/latlong.hpp | 51 - .../extensions/gis/latlong/point_ll.hpp | 269 - .../extensions/gis/projections/epsg.hpp | 3568 ---------- .../gis/projections/epsg_traits.hpp | 43 - .../extensions/gis/projections/factory.hpp | 267 - .../gis/projections/impl/aasincos.hpp | 107 - .../gis/projections/impl/adjlon.hpp | 70 - .../gis/projections/impl/base_dynamic.hpp | 100 - .../gis/projections/impl/base_static.hpp | 110 - .../gis/projections/impl/factory_entry.hpp | 43 - .../projections/impl/function_overloads.hpp | 35 - .../gis/projections/impl/pj_auth.hpp | 88 - .../gis/projections/impl/pj_datum_set.hpp | 167 - .../gis/projections/impl/pj_datums.hpp | 106 - .../gis/projections/impl/pj_ell_set.hpp | 157 - .../gis/projections/impl/pj_ellps.hpp | 93 - .../gis/projections/impl/pj_fwd.hpp | 99 - .../gis/projections/impl/pj_gauss.hpp | 130 - .../gis/projections/impl/pj_init.hpp | 301 - .../gis/projections/impl/pj_inv.hpp | 80 - .../gis/projections/impl/pj_mlfn.hpp | 112 - .../gis/projections/impl/pj_msfn.hpp | 54 - .../gis/projections/impl/pj_param.hpp | 155 - .../gis/projections/impl/pj_phi2.hpp | 71 - .../gis/projections/impl/pj_qsfn.hpp | 84 - .../gis/projections/impl/pj_tsfn.hpp | 53 - .../gis/projections/impl/pj_units.hpp | 75 - .../gis/projections/impl/pj_zpoly1.hpp | 100 - .../gis/projections/impl/proj_mdist.hpp | 138 - .../gis/projections/impl/projects.hpp | 181 - .../gis/projections/new_projection.hpp | 54 - .../extensions/gis/projections/parameters.hpp | 65 - .../extensions/gis/projections/proj/aea.hpp | 545 -- .../extensions/gis/projections/proj/aeqd.hpp | 487 -- .../extensions/gis/projections/proj/airy.hpp | 231 - .../gis/projections/proj/aitoff.hpp | 300 - .../gis/projections/proj/august.hpp | 148 - .../extensions/gis/projections/proj/bacon.hpp | 247 - .../extensions/gis/projections/proj/bipc.hpp | 268 - .../extensions/gis/projections/proj/boggs.hpp | 164 - .../extensions/gis/projections/proj/bonne.hpp | 270 - .../extensions/gis/projections/proj/cass.hpp | 477 -- .../extensions/gis/projections/proj/cc.hpp | 157 - .../extensions/gis/projections/proj/cea.hpp | 246 - .../extensions/gis/projections/proj/chamb.hpp | 257 - .../extensions/gis/projections/proj/collg.hpp | 163 - .../extensions/gis/projections/proj/crast.hpp | 153 - .../extensions/gis/projections/proj/denoy.hpp | 148 - .../extensions/gis/projections/proj/eck1.hpp | 149 - .../extensions/gis/projections/proj/eck2.hpp | 162 - .../extensions/gis/projections/proj/eck3.hpp | 296 - .../extensions/gis/projections/proj/eck4.hpp | 177 - .../extensions/gis/projections/proj/eck5.hpp | 150 - .../extensions/gis/projections/proj/eqc.hpp | 156 - .../extensions/gis/projections/proj/eqdc.hpp | 230 - .../gis/projections/proj/etmerc.hpp | 370 - .../extensions/gis/projections/proj/fahey.hpp | 150 - .../gis/projections/proj/fouc_s.hpp | 182 - .../extensions/gis/projections/proj/gall.hpp | 151 - .../gis/projections/proj/geocent.hpp | 151 - .../extensions/gis/projections/proj/geos.hpp | 355 - .../extensions/gis/projections/proj/gins8.hpp | 147 - .../gis/projections/proj/gn_sinu.hpp | 398 -- .../extensions/gis/projections/proj/gnom.hpp | 240 - .../extensions/gis/projections/proj/goode.hpp | 169 - .../gis/projections/proj/gstmerc.hpp | 184 - .../gis/projections/proj/hammer.hpp | 162 - .../gis/projections/proj/hatano.hpp | 184 - .../gis/projections/proj/healpix.hpp | 846 --- .../extensions/gis/projections/proj/igh.hpp | 315 - .../extensions/gis/projections/proj/imw_p.hpp | 296 - .../extensions/gis/projections/proj/isea.hpp | 1249 ---- .../gis/projections/proj/krovak.hpp | 342 - .../extensions/gis/projections/proj/labrd.hpp | 245 - .../extensions/gis/projections/proj/laea.hpp | 414 -- .../gis/projections/proj/lagrng.hpp | 172 - .../extensions/gis/projections/proj/larr.hpp | 141 - .../extensions/gis/projections/proj/lask.hpp | 155 - .../gis/projections/proj/latlong.hpp | 283 - .../extensions/gis/projections/proj/lcc.hpp | 267 - .../extensions/gis/projections/proj/lcca.hpp | 206 - .../extensions/gis/projections/proj/loxim.hpp | 178 - .../extensions/gis/projections/proj/lsat.hpp | 312 - .../gis/projections/proj/mbt_fps.hpp | 171 - .../gis/projections/proj/mbtfpp.hpp | 166 - .../gis/projections/proj/mbtfpq.hpp | 181 - .../extensions/gis/projections/proj/merc.hpp | 235 - .../extensions/gis/projections/proj/mill.hpp | 146 - .../gis/projections/proj/mod_ster.hpp | 491 -- .../extensions/gis/projections/proj/moll.hpp | 269 - .../gis/projections/proj/natearth.hpp | 205 - .../extensions/gis/projections/proj/nell.hpp | 162 - .../gis/projections/proj/nell_h.hpp | 164 - .../extensions/gis/projections/proj/nocol.hpp | 170 - .../extensions/gis/projections/proj/nsper.hpp | 329 - .../extensions/gis/projections/proj/nzmg.hpp | 210 - .../gis/projections/proj/ob_tran.hpp | 355 - .../extensions/gis/projections/proj/ocea.hpp | 207 - .../extensions/gis/projections/proj/oea.hpp | 196 - .../extensions/gis/projections/proj/omerc.hpp | 326 - .../extensions/gis/projections/proj/ortho.hpp | 228 - .../extensions/gis/projections/proj/poly.hpp | 284 - .../extensions/gis/projections/proj/putp2.hpp | 173 - .../extensions/gis/projections/proj/putp3.hpp | 206 - .../gis/projections/proj/putp4p.hpp | 211 - .../extensions/gis/projections/proj/putp5.hpp | 208 - .../extensions/gis/projections/proj/putp6.hpp | 234 - .../extensions/gis/projections/proj/qsc.hpp | 502 -- .../extensions/gis/projections/proj/robin.hpp | 256 - .../extensions/gis/projections/proj/rouss.hpp | 223 - .../extensions/gis/projections/proj/rpoly.hpp | 168 - .../gis/projections/proj/sconics.hpp | 537 -- .../gis/projections/proj/somerc.hpp | 202 - .../extensions/gis/projections/proj/stere.hpp | 502 -- .../gis/projections/proj/sterea.hpp | 393 -- .../extensions/gis/projections/proj/sts.hpp | 301 - .../extensions/gis/projections/proj/tcc.hpp | 151 - .../extensions/gis/projections/proj/tcea.hpp | 158 - .../extensions/gis/projections/proj/tmerc.hpp | 504 -- .../extensions/gis/projections/proj/tpeqd.hpp | 216 - .../extensions/gis/projections/proj/urm5.hpp | 162 - .../gis/projections/proj/urmfps.hpp | 214 - .../extensions/gis/projections/proj/vandg.hpp | 212 - .../gis/projections/proj/vandg2.hpp | 214 - .../gis/projections/proj/vandg4.hpp | 173 - .../extensions/gis/projections/proj/wag2.hpp | 154 - .../extensions/gis/projections/proj/wag3.hpp | 160 - .../extensions/gis/projections/proj/wag7.hpp | 143 - .../extensions/gis/projections/proj/wink1.hpp | 155 - .../extensions/gis/projections/proj/wink2.hpp | 170 - .../project_inverse_transformer.hpp | 73 - .../gis/projections/project_transformer.hpp | 65 - .../extensions/gis/projections/projection.hpp | 72 - .../gis/projections/projection_point_type.hpp | 44 - .../extensions/index/rtree/helpers.hpp | 68 - .../geometry/extensions/index/rtree/rtree.hpp | 774 --- .../extensions/index/rtree/rtree_leaf.hpp | 253 - .../extensions/index/rtree/rtree_node.hpp | 493 -- .../iterators/circular_iterator.hpp | 121 - .../iterators/section_iterators.hpp | 233 - .../iterators/segment_returning_iterator.hpp | 140 - .../extensions/multi/algorithms/dissolve.hpp | 99 - .../extensions/nsphere/algorithms/append.hpp | 45 - .../extensions/nsphere/algorithms/area.hpp | 83 - .../extensions/nsphere/algorithms/assign.hpp | 93 - .../nsphere/algorithms/centroid.hpp | 61 - .../extensions/nsphere/algorithms/clear.hpp | 47 - .../nsphere/algorithms/covered_by.hpp | 62 - .../nsphere/algorithms/disjoint.hpp | 147 - .../nsphere/algorithms/envelope.hpp | 71 - .../extensions/nsphere/algorithms/equals.hpp | 85 - .../extensions/nsphere/algorithms/expand.hpp | 133 - .../nsphere/algorithms/num_points.hpp | 46 - .../extensions/nsphere/algorithms/within.hpp | 232 - .../extensions/nsphere/core/access.hpp | 52 - .../extensions/nsphere/core/geometry_id.hpp | 47 - .../extensions/nsphere/core/radius.hpp | 60 - .../nsphere/core/replace_point_type.hpp | 47 - .../geometry/extensions/nsphere/core/tags.hpp | 32 - .../nsphere/core/topological_dimension.hpp | 50 - .../nsphere/geometries/concepts/check.hpp | 50 - .../geometries/concepts/nsphere_concept.hpp | 122 - .../extensions/nsphere/geometries/nsphere.hpp | 144 - .../index/detail/algorithms/bounds.hpp | 46 - .../algorithms/comparable_distance_near.hpp | 42 - .../index/detail/algorithms/content.hpp | 76 - .../index/detail/algorithms/is_valid.hpp | 33 - .../index/detail/algorithms/margin.hpp | 59 - .../nsphere/index/detail/indexable.hpp | 30 - .../rtree/linear/redistribute_elements.hpp | 109 - .../rtree/rstar/redistribute_elements.hpp | 74 - .../extensions/nsphere/index/indexable.hpp | 25 - .../geometry/extensions/nsphere/nsphere.hpp | 57 - .../strategies/cartesian/nsphere_in_box.hpp | 175 - .../strategies/cartesian/point_in_nsphere.hpp | 147 - .../extensions/nsphere/views/center_view.hpp | 105 - .../strategies/cartesian/distance_info.hpp | 180 - .../geometry/extensions/strategies/parse.hpp | 41 - .../extensions/util/get_cs_as_radian.hpp | 55 - .../extensions/util/replace_point_type.hpp | 98 - .../extensions/views/enveloped_view.hpp | 126 - .../extensions/views/section_view.hpp | 73 - .../geometries/concepts/point_concept.hpp | 2 +- .../geometry/index/detail/bounded_view.hpp | 64 +- .../geometry/index/detail/rtree/node/node.hpp | 6 +- .../index/detail/rtree/pack_create.hpp | 64 +- .../rtree/quadratic/redistribute_elements.hpp | 5 +- 3party/boost/boost/geometry/io/wkt/read.hpp | 146 +- 3party/boost/boost/geometry/io/wkt/write.hpp | 2 +- .../is_valid/failing_reason_policy.hpp | 12 +- .../policies/relate/intersection_points.hpp | 29 +- .../robustness/get_rescale_policy.hpp | 55 +- .../policies/robustness/rescale_policy.hpp | 17 +- .../policies/robustness/segment_ratio.hpp | 28 +- .../cartesian/buffer_join_round.hpp | 7 +- .../strategies/cartesian/cart_intersect.hpp | 27 +- .../strategies/geographic/distance_thomas.hpp | 13 +- .../geographic/distance_vincenty.hpp | 13 +- .../strategies/geographic/side_detail.hpp | 18 +- .../strategies/intersection_result.hpp | 2 +- .../spherical/distance_cross_track.hpp | 4 + .../distance_cross_track_point_box.hpp | 311 +- 3party/boost/boost/geometry/util/math.hpp | 37 +- .../geometry/views/detail/boundary_view.hpp | 16 + .../detail/boundary_view/implementation.hpp | 466 ++ .../views/detail/boundary_view/interface.hpp | 70 + .../views/detail/two_dimensional_view.hpp | 196 + 3party/boost/boost/get_pointer.hpp | 28 + 3party/boost/boost/gil/channel_algorithm.hpp | 2 +- .../boost/boost/heap/detail/tree_iterator.hpp | 18 +- 3party/boost/boost/heap/fibonacci_heap.hpp | 48 +- 3party/boost/boost/heap/pairing_heap.hpp | 2 +- 3party/boost/boost/indirect_reference.hpp | 4 +- 3party/boost/boost/integer.hpp | 49 +- 3party/boost/boost/integer/common_factor.hpp | 16 + .../boost/boost/integer/common_factor_ct.hpp | 102 + .../boost/boost/integer/common_factor_rt.hpp | 460 ++ 3party/boost/boost/integer_fwd.hpp | 23 + .../interprocess/allocators/adaptive_pool.hpp | 41 +- .../interprocess/allocators/allocator.hpp | 39 +- .../allocators/cached_adaptive_pool.hpp | 21 +- .../allocators/cached_node_allocator.hpp | 21 +- .../allocators/detail/adaptive_node_pool.hpp | 6 +- .../allocators/detail/allocator_common.hpp | 42 +- .../allocators/detail/node_pool.hpp | 6 +- .../allocators/detail/node_tools.hpp | 6 +- .../allocators/node_allocator.hpp | 41 +- .../allocators/private_adaptive_pool.hpp | 39 +- .../allocators/private_node_allocator.hpp | 39 +- .../interprocess/anonymous_shared_memory.hpp | 12 +- .../containers/allocation_type.hpp | 12 +- .../containers/containers_fwd.hpp | 10 +- .../boost/interprocess/containers/deque.hpp | 6 +- .../interprocess/containers/flat_map.hpp | 6 +- .../interprocess/containers/flat_set.hpp | 6 +- .../boost/interprocess/containers/list.hpp | 6 +- .../boost/interprocess/containers/map.hpp | 6 +- .../boost/interprocess/containers/pair.hpp | 6 +- .../boost/interprocess/containers/set.hpp | 6 +- .../boost/interprocess/containers/slist.hpp | 6 +- .../interprocess/containers/stable_vector.hpp | 6 +- .../boost/interprocess/containers/string.hpp | 6 +- .../boost/interprocess/containers/vector.hpp | 6 +- .../interprocess/containers/version_type.hpp | 6 +- .../boost/interprocess/creation_tags.hpp | 8 + .../boost/interprocess/detail/atomic.hpp | 51 +- .../boost/interprocess/detail/cast_tags.hpp | 18 +- .../interprocess/detail/config_begin.hpp | 5 +- .../boost/interprocess/detail/config_end.hpp | 4 - .../detail/file_locking_helpers.hpp | 6 +- .../interprocess/detail/file_wrapper.hpp | 19 +- .../detail/in_place_interface.hpp | 10 +- .../detail/intermodule_singleton.hpp | 6 +- .../detail/intermodule_singleton_common.hpp | 10 +- .../detail/interprocess_tester.hpp | 8 + .../interprocess/detail/intersegment_ptr.hpp | 28 +- .../detail/managed_global_memory.hpp | 10 +- .../detail/managed_memory_impl.hpp | 73 +- .../detail/managed_multi_shared_memory.hpp | 15 +- .../detail/managed_open_or_create_impl.hpp | 18 +- .../interprocess/detail/math_functions.hpp | 8 + .../boost/interprocess/detail/min_max.hpp | 6 +- .../boost/boost/interprocess/detail/move.hpp | 10 +- .../boost/boost/interprocess/detail/mpl.hpp | 6 +- .../detail/multi_segment_services.hpp | 46 - .../boost/interprocess/detail/named_proxy.hpp | 207 +- .../boost/interprocess/detail/nothrow.hpp | 41 + .../interprocess/detail/os_file_functions.hpp | 24 +- .../detail/os_thread_functions.hpp | 20 +- .../interprocess/detail/pointer_type.hpp | 6 +- .../detail/portable_intermodule_singleton.hpp | 6 +- .../detail/posix_time_types_wrk.hpp | 8 + .../interprocess/detail/preprocessor.hpp | 203 - .../boost/interprocess/detail/ptime_wrk.hpp | 8 + .../interprocess/detail/robust_emulation.hpp | 8 +- .../detail/segment_manager_helper.hpp | 69 +- .../detail/shared_dir_helpers.hpp | 8 + .../boost/interprocess/detail/simple_swap.hpp | 29 + .../boost/interprocess/detail/std_fwd.hpp | 67 + .../detail/transform_iterator.hpp | 49 +- .../boost/interprocess/detail/type_traits.hpp | 6 +- .../boost/interprocess/detail/utilities.hpp | 23 +- .../detail/variadic_templates_tools.hpp | 138 +- .../boost/interprocess/detail/win32_api.hpp | 53 +- .../detail/windows_intermodule_singleton.hpp | 6 +- .../boost/interprocess/detail/workaround.hpp | 177 +- .../detail/xsi_shared_memory_device.hpp | 392 -- .../detail/xsi_shared_memory_file_wrapper.hpp | 18 +- 3party/boost/boost/interprocess/errors.hpp | 14 +- .../boost/boost/interprocess/exceptions.hpp | 64 +- .../boost/boost/interprocess/file_mapping.hpp | 33 +- .../interprocess/indexes/flat_map_index.hpp | 23 +- .../boost/interprocess/indexes/iset_index.hpp | 32 +- .../indexes/iunordered_set_index.hpp | 60 +- .../boost/interprocess/indexes/map_index.hpp | 21 +- .../boost/interprocess/indexes/null_index.hpp | 12 +- .../indexes/unordered_map_index.hpp | 25 +- .../boost/interprocess/interprocess_fwd.hpp | 163 +- .../boost/interprocess/ipc/message_queue.hpp | 62 +- .../interprocess/managed_external_buffer.hpp | 32 +- .../interprocess/managed_heap_memory.hpp | 37 +- .../interprocess/managed_mapped_file.hpp | 43 +- .../interprocess/managed_shared_memory.hpp | 51 +- .../managed_windows_shared_memory.hpp | 37 +- .../managed_xsi_shared_memory.hpp | 34 +- .../boost/interprocess/mapped_region.hpp | 42 +- .../mem_algo/detail/mem_algo_common.hpp | 65 +- .../mem_algo/detail/multi_simple_seq_fit.hpp | 61 - .../detail/multi_simple_seq_fit_impl.hpp | 983 --- .../mem_algo/detail/simple_seq_fit_impl.hpp | 217 +- .../interprocess/mem_algo/rbtree_best_fit.hpp | 312 +- .../interprocess/mem_algo/simple_seq_fit.hpp | 10 +- .../boost/boost/interprocess/offset_ptr.hpp | 81 +- .../boost/boost/interprocess/permissions.hpp | 22 +- .../boost/interprocess/segment_manager.hpp | 118 +- .../interprocess/shared_memory_object.hpp | 36 +- .../boost/interprocess/smart_ptr/deleter.hpp | 6 +- .../smart_ptr/detail/bad_weak_ptr.hpp | 6 +- .../smart_ptr/detail/shared_count.hpp | 20 +- .../smart_ptr/detail/sp_counted_base.hpp | 8 + .../detail/sp_counted_base_atomic.hpp | 8 +- .../smart_ptr/detail/sp_counted_impl.hpp | 9 +- .../smart_ptr/enable_shared_from_this.hpp | 16 +- .../interprocess/smart_ptr/intrusive_ptr.hpp | 25 +- .../interprocess/smart_ptr/scoped_ptr.hpp | 26 +- .../interprocess/smart_ptr/shared_ptr.hpp | 38 +- .../interprocess/smart_ptr/unique_ptr.hpp | 518 +- .../boost/interprocess/smart_ptr/weak_ptr.hpp | 21 +- .../interprocess/streams/bufferstream.hpp | 40 +- .../interprocess/streams/vectorstream.hpp | 44 +- .../sync/detail/common_algorithms.hpp | 8 + .../sync/detail/condition_algorithm_8a.hpp | 8 + .../sync/detail/condition_any_algorithm.hpp | 8 + .../boost/interprocess/sync/detail/locks.hpp | 8 + .../boost/interprocess/sync/file_lock.hpp | 16 +- .../sync/interprocess_condition.hpp | 22 +- .../sync/interprocess_condition_any.hpp | 18 +- .../interprocess/sync/interprocess_mutex.hpp | 18 +- .../sync/interprocess_recursive_mutex.hpp | 18 +- .../sync/interprocess_semaphore.hpp | 20 +- .../sync/interprocess_sharable_mutex.hpp | 14 +- .../sync/interprocess_upgradable_mutex.hpp | 14 +- .../boost/interprocess/sync/lock_options.hpp | 10 +- .../boost/interprocess/sync/mutex_family.hpp | 6 +- .../interprocess/sync/named_condition.hpp | 22 +- .../interprocess/sync/named_condition_any.hpp | 18 +- .../boost/interprocess/sync/named_mutex.hpp | 18 +- .../sync/named_recursive_mutex.hpp | 22 +- .../interprocess/sync/named_semaphore.hpp | 18 +- .../sync/named_sharable_mutex.hpp | 22 +- .../sync/named_upgradable_mutex.hpp | 22 +- .../boost/interprocess/sync/null_mutex.hpp | 14 +- .../interprocess/sync/posix/condition.hpp | 6 +- .../boost/interprocess/sync/posix/mutex.hpp | 6 +- .../interprocess/sync/posix/named_mutex.hpp | 18 +- .../sync/posix/named_semaphore.hpp | 10 +- .../sync/posix/pthread_helpers.hpp | 6 +- .../sync/posix/ptime_to_timespec.hpp | 8 + .../sync/posix/recursive_mutex.hpp | 8 + .../interprocess/sync/posix/semaphore.hpp | 6 +- .../sync/posix/semaphore_wrapper.hpp | 16 + .../boost/interprocess/sync/scoped_lock.hpp | 21 +- .../boost/interprocess/sync/sharable_lock.hpp | 21 +- .../interprocess/sync/shm/named_condition.hpp | 22 +- .../sync/shm/named_condition_any.hpp | 18 +- .../sync/shm/named_creation_functor.hpp | 13 +- .../interprocess/sync/shm/named_mutex.hpp | 18 +- .../sync/shm/named_recursive_mutex.hpp | 18 +- .../interprocess/sync/shm/named_semaphore.hpp | 14 +- .../sync/shm/named_upgradable_mutex.hpp | 22 +- .../interprocess/sync/spin/condition.hpp | 10 +- .../sync/spin/interprocess_barrier.hpp | 8 + .../boost/interprocess/sync/spin/mutex.hpp | 6 +- .../sync/spin/recursive_mutex.hpp | 6 +- .../interprocess/sync/spin/semaphore.hpp | 6 +- .../boost/interprocess/sync/spin/wait.hpp | 6 +- .../interprocess/sync/upgradable_lock.hpp | 20 +- .../interprocess/sync/windows/condition.hpp | 8 + .../boost/interprocess/sync/windows/mutex.hpp | 6 +- .../sync/windows/named_condition.hpp | 6 +- .../sync/windows/named_condition_any.hpp | 14 +- .../interprocess/sync/windows/named_mutex.hpp | 14 +- .../sync/windows/named_recursive_mutex.hpp | 10 +- .../sync/windows/named_semaphore.hpp | 14 +- .../interprocess/sync/windows/named_sync.hpp | 14 +- .../sync/windows/recursive_mutex.hpp | 6 +- .../interprocess/sync/windows/semaphore.hpp | 6 +- .../interprocess/sync/windows/sync_utils.hpp | 6 +- .../sync/windows/winapi_mutex_wrapper.hpp | 18 +- .../sync/windows/winapi_semaphore_wrapper.hpp | 14 +- .../sync/windows/winapi_wrapper_common.hpp | 6 +- .../sync/xsi/advanced_xsi_semaphore.hpp | 193 - .../sync/xsi/simple_xsi_semaphore.hpp | 116 - .../interprocess/sync/xsi/xsi_named_mutex.hpp | 228 - .../interprocess/windows_shared_memory.hpp | 27 +- 3party/boost/boost/interprocess/xsi_key.hpp | 14 +- .../boost/interprocess/xsi_shared_memory.hpp | 36 +- 3party/boost/boost/intrusive/any_hook.hpp | 83 +- 3party/boost/boost/intrusive/avl_set.hpp | 430 +- 3party/boost/boost/intrusive/avl_set_hook.hpp | 20 +- 3party/boost/boost/intrusive/avltree.hpp | 284 +- .../boost/intrusive/avltree_algorithms.hpp | 76 +- 3party/boost/boost/intrusive/bs_set.hpp | 432 +- 3party/boost/boost/intrusive/bs_set_hook.hpp | 18 +- 3party/boost/boost/intrusive/bstree.hpp | 823 +-- .../boost/intrusive/bstree_algorithms.hpp | 306 +- .../intrusive/circular_list_algorithms.hpp | 178 +- .../intrusive/circular_slist_algorithms.hpp | 11 +- .../intrusive/derivation_value_traits.hpp | 6 +- .../boost/intrusive/detail/algo_type.hpp | 50 + .../boost/intrusive/detail/algorithm.hpp | 90 + .../detail/any_node_and_algorithms.hpp | 108 +- .../intrusive/detail/array_initializer.hpp | 95 + .../boost/boost/intrusive/detail/assert.hpp | 6 +- .../boost/intrusive/detail/avltree_node.hpp | 41 +- .../detail/bstree_algorithms_base.hpp | 184 + .../detail/common_slist_algorithms.hpp | 109 +- .../boost/intrusive/detail/config_begin.hpp | 3 +- .../detail/default_header_holder.hpp | 69 + .../intrusive/detail/ebo_functor_holder.hpp | 146 +- .../intrusive/detail/empty_node_checker.hpp | 44 + .../boost/intrusive/detail/equal_to_value.hpp | 48 + .../intrusive/detail/exception_disposer.hpp | 88 + .../intrusive/detail/function_detector.hpp | 10 +- .../boost/intrusive/detail/generic_hook.hpp | 63 +- .../intrusive/detail/get_value_traits.hpp | 222 + .../has_member_function_callable_with.hpp | 589 +- .../boost/intrusive/detail/hashtable_node.hpp | 151 +- .../boost/intrusive/detail/hook_traits.hpp | 186 + .../boost/intrusive/detail/iiterator.hpp | 121 + .../detail/is_stateful_value_traits.hpp | 12 +- .../boost/boost/intrusive/detail/iterator.hpp | 155 + .../intrusive/detail/key_nodeptr_comp.hpp | 97 + .../boost/intrusive/detail/list_iterator.hpp | 133 + .../boost/intrusive/detail/list_node.hpp | 125 +- 3party/boost/boost/intrusive/detail/math.hpp | 275 + .../boost/intrusive/detail/memory_util.hpp | 284 - .../detail/minimal_less_equal_header.hpp | 30 + .../intrusive/detail/minimal_pair_header.hpp | 30 + 3party/boost/boost/intrusive/detail/mpl.hpp | 508 +- .../intrusive/detail/node_cloner_disposer.hpp | 105 + .../boost/intrusive/detail/node_holder.hpp | 35 + .../boost/intrusive/detail/node_to_value.hpp | 130 + .../intrusive/detail/parent_from_member.hpp | 15 +- .../intrusive/detail/pointer_element.hpp | 168 + .../boost/intrusive/detail/preprocessor.hpp | 52 - .../boost/intrusive/detail/rbtree_node.hpp | 39 +- .../intrusive/detail/reverse_iterator.hpp | 144 + .../intrusive/detail/simple_disposers.hpp | 50 + .../boost/intrusive/detail/size_holder.hpp | 84 + .../boost/intrusive/detail/slist_iterator.hpp | 124 + .../boost/intrusive/detail/slist_node.hpp | 108 +- .../boost/boost/intrusive/detail/std_fwd.hpp | 65 + .../boost/intrusive/detail/to_raw_pointer.hpp | 46 + .../intrusive/detail/transform_iterator.hpp | 36 +- .../boost/intrusive/detail/tree_iterator.hpp | 162 + .../boost/intrusive/detail/tree_node.hpp | 133 +- .../intrusive/detail/tree_value_compare.hpp | 78 + .../boost/boost/intrusive/detail/uncast.hpp | 55 + .../boost/intrusive/detail/utilities.hpp | 1279 ---- .../boost/intrusive/detail/workaround.hpp | 22 +- 3party/boost/boost/intrusive/hashtable.hpp | 2529 ++++--- .../boost/boost/intrusive/intrusive_fwd.hpp | 44 +- .../intrusive/linear_slist_algorithms.hpp | 10 +- 3party/boost/boost/intrusive/link_mode.hpp | 23 +- 3party/boost/boost/intrusive/list.hpp | 336 +- 3party/boost/boost/intrusive/list_hook.hpp | 19 +- .../boost/intrusive/member_value_traits.hpp | 15 +- 3party/boost/boost/intrusive/options.hpp | 188 +- 3party/boost/boost/intrusive/pack_options.hpp | 10 +- .../boost/intrusive/parent_from_member.hpp | 10 +- .../boost/intrusive/pointer_plus_bits.hpp | 4 + .../boost/boost/intrusive/pointer_rebind.hpp | 188 + .../boost/boost/intrusive/pointer_traits.hpp | 113 +- .../boost/intrusive/priority_compare.hpp | 16 +- 3party/boost/boost/intrusive/rbtree.hpp | 292 +- .../boost/intrusive/rbtree_algorithms.hpp | 73 +- 3party/boost/boost/intrusive/set.hpp | 430 +- 3party/boost/boost/intrusive/set_hook.hpp | 19 +- 3party/boost/boost/intrusive/sg_set.hpp | 432 +- 3party/boost/boost/intrusive/sgtree.hpp | 338 +- .../boost/intrusive/sgtree_algorithms.hpp | 19 +- 3party/boost/boost/intrusive/slist.hpp | 389 +- 3party/boost/boost/intrusive/slist_hook.hpp | 19 +- 3party/boost/boost/intrusive/splay_set.hpp | 448 +- 3party/boost/boost/intrusive/splaytree.hpp | 300 +- .../boost/intrusive/splaytree_algorithms.hpp | 49 +- 3party/boost/boost/intrusive/treap.hpp | 451 +- .../boost/intrusive/treap_algorithms.hpp | 53 +- 3party/boost/boost/intrusive/treap_set.hpp | 448 +- .../boost/intrusive/trivial_value_traits.hpp | 4 + .../boost/boost/intrusive/unordered_set.hpp | 1916 +----- .../boost/intrusive/unordered_set_hook.hpp | 33 +- .../boost/iterator/counting_iterator.hpp | 41 +- .../iterator/detail/any_conversion_eater.hpp | 6 +- .../boost/iterator/detail/config_def.hpp | 17 +- .../boost/iterator/detail/config_undef.hpp | 1 - .../boost/boost/iterator/detail/enable_if.hpp | 7 +- .../detail/facade_iterator_category.hpp | 27 +- .../iterator/detail/minimum_category.hpp | 113 +- .../detail/operator_brackets_dispatch.hpp | 88 - .../boost/boost/iterator/filter_iterator.hpp | 24 +- .../iterator/function_input_iterator.hpp | 17 +- .../boost/iterator/indirect_iterator.hpp | 22 +- 3party/boost/boost/iterator/interoperable.hpp | 12 +- .../boost/iterator/is_lvalue_iterator.hpp | 59 +- .../boost/iterator/is_readable_iterator.hpp | 32 +- .../boost/boost/iterator/iterator_adaptor.hpp | 123 +- .../boost/iterator/iterator_archetypes.hpp | 134 +- .../boost/iterator/iterator_categories.hpp | 127 +- .../boost/iterator/iterator_concepts.hpp | 33 +- .../boost/boost/iterator/iterator_facade.hpp | 542 +- .../boost/boost/iterator/iterator_traits.hpp | 66 +- .../boost/boost/iterator/minimum_category.hpp | 95 + .../boost/iterator/permutation_iterator.hpp | 26 +- .../boost/boost/iterator/reverse_iterator.hpp | 15 +- .../boost/iterator/transform_iterator.hpp | 35 +- 3party/boost/boost/iterator/zip_iterator.hpp | 184 +- .../boost/lambda/detail/lambda_config.hpp | 7 - .../boost/lambda/detail/lambda_traits.hpp | 5 + .../detail/operator_return_type_traits.hpp | 39 +- .../boost/boost/lambda/detail/operators.hpp | 18 - .../lambda/detail/return_type_traits.hpp | 25 +- .../boost/lambda/detail/suppress_unused.hpp | 4 +- 3party/boost/boost/lambda/lambda.hpp | 5 - 3party/boost/boost/lexical_cast.hpp | 2452 +------ .../boost/lexical_cast/bad_lexical_cast.hpp | 100 + .../lexical_cast/detail/converter_lexical.hpp | 494 ++ .../detail/converter_lexical_streams.hpp | 786 +++ .../lexical_cast/detail/converter_numeric.hpp | 193 + .../boost/lexical_cast/detail/inf_nan.hpp | 196 + .../lexical_cast/detail/is_character.hpp | 57 + .../detail/lcast_char_constants.hpp | 45 + .../detail/lcast_unsigned_converters.hpp | 293 + .../boost/lexical_cast/detail/widest_char.hpp | 39 + .../boost/lexical_cast/lexical_cast_old.hpp | 176 + .../lexical_cast/try_lexical_convert.hpp | 198 + .../boost/lockfree/detail/copy_payload.hpp | 17 + .../boost/boost/lockfree/detail/freelist.hpp | 1 + 3party/boost/boost/lockfree/queue.hpp | 2 +- 3party/boost/boost/lockfree/spsc_queue.hpp | 105 +- 3party/boost/boost/log/attributes.hpp | 2 +- .../boost/boost/log/attributes/attribute.hpp | 2 +- .../boost/log/attributes/attribute_cast.hpp | 2 +- .../boost/log/attributes/attribute_name.hpp | 2 +- .../boost/log/attributes/attribute_set.hpp | 2 +- .../boost/log/attributes/attribute_value.hpp | 10 +- .../log/attributes/attribute_value_impl.hpp | 5 +- .../log/attributes/attribute_value_set.hpp | 4 +- 3party/boost/boost/log/attributes/clock.hpp | 2 +- .../boost/boost/log/attributes/constant.hpp | 2 +- 3party/boost/boost/log/attributes/counter.hpp | 2 +- .../log/attributes/current_process_id.hpp | 2 +- .../log/attributes/current_process_name.hpp | 2 +- .../log/attributes/current_thread_id.hpp | 4 +- .../boost/log/attributes/fallback_policy.hpp | 10 +- .../log/attributes/fallback_policy_fwd.hpp | 2 +- .../boost/boost/log/attributes/function.hpp | 2 +- .../boost/log/attributes/mutable_constant.hpp | 2 +- .../boost/log/attributes/named_scope.hpp | 2 +- .../boost/log/attributes/scoped_attribute.hpp | 2 +- .../boost/log/attributes/time_traits.hpp | 2 +- 3party/boost/boost/log/attributes/timer.hpp | 2 +- .../boost/log/attributes/value_extraction.hpp | 2 +- .../log/attributes/value_extraction_fwd.hpp | 2 +- .../boost/log/attributes/value_visitation.hpp | 2 +- .../log/attributes/value_visitation_fwd.hpp | 2 +- 3party/boost/boost/log/common.hpp | 2 +- 3party/boost/boost/log/core.hpp | 2 +- 3party/boost/boost/log/core/core.hpp | 2 +- 3party/boost/boost/log/core/record.hpp | 2 +- 3party/boost/boost/log/core/record_view.hpp | 6 +- 3party/boost/boost/log/detail/asio_fwd.hpp | 2 +- .../log/detail/attachable_sstream_buf.hpp | 2 +- .../boost/log/detail/attr_output_impl.hpp | 2 +- .../boost/log/detail/attr_output_terminal.hpp | 2 +- .../log/detail/attribute_get_value_impl.hpp | 2 +- .../boost/log/detail/attribute_predicate.hpp | 2 +- .../boost/log/detail/cleanup_scope_guard.hpp | 2 +- .../boost/log/detail/code_conversion.hpp | 57 +- 3party/boost/boost/log/detail/config.hpp | 9 +- 3party/boost/boost/log/detail/copy_cv.hpp | 2 +- .../boost/log/detail/custom_terminal_spec.hpp | 2 +- .../detail/date_time_fmt_gen_traits_fwd.hpp | 2 +- .../log/detail/date_time_format_parser.hpp | 2 +- .../boost/log/detail/decomposed_time.hpp | 2 +- .../boost/log/detail/deduce_char_type.hpp | 2 +- .../log/detail/default_attribute_names.hpp | 2 +- .../boost/log/detail/embedded_string_type.hpp | 2 +- .../boost/log/detail/enqueued_record.hpp | 2 +- 3party/boost/boost/log/detail/event.hpp | 46 +- 3party/boost/boost/log/detail/fake_mutex.hpp | 2 +- 3party/boost/boost/log/detail/footer.hpp | 2 +- 3party/boost/boost/log/detail/format.hpp | 4 +- .../boost/log/detail/function_traits.hpp | 2 +- .../boost/log/detail/generate_overloads.hpp | 2 +- 3party/boost/boost/log/detail/header.hpp | 4 +- 3party/boost/boost/log/detail/id.hpp | 2 +- .../boost/log/detail/is_character_type.hpp | 75 + .../{visible_type.hpp => is_ostream.hpp} | 27 +- .../boost/boost/log/detail/light_function.hpp | 46 +- .../boost/log/detail/light_function_pp.hpp | 22 +- .../boost/boost/log/detail/light_rw_mutex.hpp | 2 +- 3party/boost/boost/log/detail/locking_ptr.hpp | 2 +- 3party/boost/boost/log/detail/locks.hpp | 2 +- .../boost/log/detail/named_scope_fmt_pp.hpp | 2 +- .../boost/boost/log/detail/native_typeof.hpp | 2 +- .../boost/log/detail/parameter_tools.hpp | 2 +- 3party/boost/boost/log/detail/pp_identity.hpp | 2 +- 3party/boost/boost/log/detail/process_id.hpp | 2 +- .../boost/boost/log/detail/setup_config.hpp | 2 +- 3party/boost/boost/log/detail/singleton.hpp | 2 +- .../boost/log/detail/sink_init_helpers.hpp | 2 +- 3party/boost/boost/log/detail/snprintf.hpp | 43 +- 3party/boost/boost/log/detail/spin_mutex.hpp | 2 +- .../boost/boost/log/detail/tagged_integer.hpp | 2 +- 3party/boost/boost/log/detail/thread_id.hpp | 2 +- .../boost/log/detail/thread_specific.hpp | 2 +- .../boost/log/detail/threadsafe_queue.hpp | 2 +- 3party/boost/boost/log/detail/timestamp.hpp | 2 +- .../boost/log/detail/trivial_keyword.hpp | 2 +- .../log/detail/unary_function_terminal.hpp | 2 +- .../log/detail/unhandled_exception_count.hpp | 2 +- .../boost/log/detail/value_ref_visitation.hpp | 2 +- 3party/boost/boost/log/exceptions.hpp | 8 +- 3party/boost/boost/log/expressions.hpp | 2 +- 3party/boost/boost/log/expressions/attr.hpp | 2 +- .../boost/boost/log/expressions/attr_fwd.hpp | 2 +- 3party/boost/boost/log/expressions/filter.hpp | 36 +- .../boost/boost/log/expressions/formatter.hpp | 44 +- .../boost/log/expressions/formatters.hpp | 2 +- .../expressions/formatters/c_decorator.hpp | 30 +- .../expressions/formatters/char_decorator.hpp | 2 +- .../expressions/formatters/csv_decorator.hpp | 4 +- .../log/expressions/formatters/date_time.hpp | 2 +- .../log/expressions/formatters/format.hpp | 2 +- .../boost/log/expressions/formatters/if.hpp | 2 +- .../expressions/formatters/named_scope.hpp | 2 +- .../log/expressions/formatters/stream.hpp | 2 +- .../expressions/formatters/wrap_formatter.hpp | 2 +- .../expressions/formatters/xml_decorator.hpp | 12 +- .../log/expressions/is_keyword_descriptor.hpp | 2 +- .../boost/boost/log/expressions/keyword.hpp | 2 +- .../boost/log/expressions/keyword_fwd.hpp | 2 +- .../boost/boost/log/expressions/message.hpp | 2 +- .../boost/log/expressions/predicates.hpp | 2 +- .../expressions/predicates/begins_with.hpp | 2 +- .../predicates/channel_severity_filter.hpp | 2 +- .../log/expressions/predicates/contains.hpp | 2 +- .../log/expressions/predicates/ends_with.hpp | 2 +- .../log/expressions/predicates/has_attr.hpp | 2 +- .../predicates/is_debugger_present.hpp | 2 +- .../expressions/predicates/is_in_range.hpp | 2 +- .../log/expressions/predicates/matches.hpp | 2 +- 3party/boost/boost/log/expressions/record.hpp | 2 +- .../boost/boost/log/keywords/auto_flush.hpp | 2 +- 3party/boost/boost/log/keywords/channel.hpp | 2 +- 3party/boost/boost/log/keywords/delimiter.hpp | 2 +- 3party/boost/boost/log/keywords/depth.hpp | 2 +- .../boost/boost/log/keywords/empty_marker.hpp | 2 +- 3party/boost/boost/log/keywords/facility.hpp | 2 +- 3party/boost/boost/log/keywords/file_name.hpp | 2 +- 3party/boost/boost/log/keywords/filter.hpp | 2 +- 3party/boost/boost/log/keywords/format.hpp | 2 +- 3party/boost/boost/log/keywords/ident.hpp | 2 +- .../boost/log/keywords/incomplete_marker.hpp | 2 +- .../boost/boost/log/keywords/ip_version.hpp | 2 +- 3party/boost/boost/log/keywords/iteration.hpp | 2 +- 3party/boost/boost/log/keywords/log_name.hpp | 2 +- .../boost/boost/log/keywords/log_source.hpp | 2 +- 3party/boost/boost/log/keywords/max_size.hpp | 2 +- .../boost/boost/log/keywords/message_file.hpp | 2 +- .../boost/log/keywords/min_free_space.hpp | 2 +- 3party/boost/boost/log/keywords/open_mode.hpp | 2 +- 3party/boost/boost/log/keywords/order.hpp | 2 +- .../boost/log/keywords/ordering_window.hpp | 2 +- .../boost/boost/log/keywords/registration.hpp | 2 +- .../boost/log/keywords/rotation_size.hpp | 2 +- .../boost/boost/log/keywords/scan_method.hpp | 2 +- 3party/boost/boost/log/keywords/severity.hpp | 2 +- .../boost/boost/log/keywords/start_thread.hpp | 2 +- 3party/boost/boost/log/keywords/target.hpp | 2 +- .../log/keywords/time_based_rotation.hpp | 2 +- 3party/boost/boost/log/keywords/use_impl.hpp | 2 +- 3party/boost/boost/log/sinks.hpp | 2 +- .../boost/boost/log/sinks/async_frontend.hpp | 2 +- .../boost/log/sinks/attribute_mapping.hpp | 2 +- .../boost/log/sinks/basic_sink_backend.hpp | 2 +- .../boost/log/sinks/basic_sink_frontend.hpp | 4 +- .../boost/log/sinks/block_on_overflow.hpp | 2 +- .../boost/log/sinks/bounded_fifo_queue.hpp | 2 +- .../log/sinks/bounded_ordering_queue.hpp | 2 +- .../boost/log/sinks/debug_output_backend.hpp | 2 +- .../boost/log/sinks/drop_on_overflow.hpp | 2 +- .../boost/log/sinks/event_log_backend.hpp | 6 +- .../boost/log/sinks/event_log_constants.hpp | 2 +- .../boost/log/sinks/frontend_requirements.hpp | 2 +- 3party/boost/boost/log/sinks/sink.hpp | 2 +- .../boost/boost/log/sinks/sync_frontend.hpp | 2 +- .../boost/boost/log/sinks/syslog_backend.hpp | 2 +- .../boost/log/sinks/syslog_constants.hpp | 2 +- .../boost/log/sinks/text_file_backend.hpp | 5 +- .../log/sinks/text_multifile_backend.hpp | 2 +- .../boost/log/sinks/text_ostream_backend.hpp | 2 +- .../boost/log/sinks/unbounded_fifo_queue.hpp | 2 +- .../log/sinks/unbounded_ordering_queue.hpp | 2 +- .../boost/log/sinks/unlocked_frontend.hpp | 2 +- .../boost/boost/log/sources/basic_logger.hpp | 2 +- .../boost/log/sources/channel_feature.hpp | 2 +- .../boost/log/sources/channel_logger.hpp | 2 +- .../log/sources/exception_handler_feature.hpp | 2 +- 3party/boost/boost/log/sources/features.hpp | 2 +- .../log/sources/global_logger_storage.hpp | 44 +- 3party/boost/boost/log/sources/logger.hpp | 2 +- .../boost/log/sources/record_ostream.hpp | 2 +- .../log/sources/severity_channel_logger.hpp | 2 +- .../boost/log/sources/severity_feature.hpp | 2 +- .../boost/log/sources/severity_logger.hpp | 2 +- .../boost/log/sources/threading_models.hpp | 2 +- 3party/boost/boost/log/support/date_time.hpp | 2 +- 3party/boost/boost/log/support/exception.hpp | 6 +- 3party/boost/boost/log/support/regex.hpp | 2 +- .../boost/log/support/spirit_classic.hpp | 2 +- 3party/boost/boost/log/support/spirit_qi.hpp | 2 +- 3party/boost/boost/log/support/std_regex.hpp | 2 +- 3party/boost/boost/log/support/xpressive.hpp | 2 +- 3party/boost/boost/log/trivial.hpp | 2 +- .../boost/boost/log/utility/empty_deleter.hpp | 42 - .../boost/log/utility/exception_handler.hpp | 2 +- .../log/utility/explicit_operator_bool.hpp | 42 - .../boost/log/utility/formatting_ostream.hpp | 128 +- .../log/utility/formatting_ostream_fwd.hpp | 2 +- 3party/boost/boost/log/utility/functional.hpp | 2 +- .../log/utility/functional/as_action.hpp | 2 +- .../log/utility/functional/begins_with.hpp | 2 +- .../boost/log/utility/functional/bind.hpp | 2 +- .../log/utility/functional/bind_assign.hpp | 2 +- .../log/utility/functional/bind_output.hpp | 2 +- .../log/utility/functional/bind_to_log.hpp | 2 +- .../boost/log/utility/functional/contains.hpp | 2 +- .../log/utility/functional/ends_with.hpp | 2 +- .../boost/log/utility/functional/fun_ref.hpp | 2 +- .../boost/log/utility/functional/in_range.hpp | 2 +- .../boost/log/utility/functional/logical.hpp | 2 +- .../boost/log/utility/functional/matches.hpp | 2 +- .../boost/log/utility/functional/nop.hpp | 2 +- .../log/utility/functional/save_result.hpp | 2 +- .../log/utility/intrusive_ref_counter.hpp | 55 - .../boost/boost/log/utility/manipulators.hpp | 2 +- .../log/utility/manipulators/add_value.hpp | 2 +- .../boost/log/utility/manipulators/dump.hpp | 2 +- .../boost/log/utility/manipulators/to_log.hpp | 26 +- 3party/boost/boost/log/utility/once_block.hpp | 2 +- .../boost/log/utility/record_ordering.hpp | 2 +- 3party/boost/boost/log/utility/setup.hpp | 2 +- .../log/utility/setup/common_attributes.hpp | 2 +- .../boost/boost/log/utility/setup/console.hpp | 2 +- 3party/boost/boost/log/utility/setup/file.hpp | 2 +- .../boost/log/utility/setup/filter_parser.hpp | 2 +- .../log/utility/setup/formatter_parser.hpp | 2 +- .../boost/log/utility/setup/from_settings.hpp | 2 +- .../boost/log/utility/setup/from_stream.hpp | 2 +- .../boost/log/utility/setup/settings.hpp | 2 +- .../log/utility/setup/settings_parser.hpp | 2 +- .../boost/log/utility/strictest_lock.hpp | 2 +- .../boost/log/utility/string_literal.hpp | 2 +- .../boost/log/utility/string_literal_fwd.hpp | 2 +- .../utility/type_dispatch/date_time_types.hpp | 96 +- .../type_dispatch/dynamic_type_dispatcher.hpp | 14 +- .../utility/type_dispatch/standard_types.hpp | 124 +- .../type_dispatch/static_type_dispatcher.hpp | 36 +- .../utility/type_dispatch/type_dispatcher.hpp | 9 +- .../boost/log/utility/type_info_wrapper.hpp | 8 +- .../log/utility/unique_identifier_name.hpp | 2 +- .../boost/log/utility/unused_variable.hpp | 2 +- 3party/boost/boost/log/utility/value_ref.hpp | 2 +- .../boost/boost/log/utility/value_ref_fwd.hpp | 2 +- 3party/boost/boost/logic/tribool.hpp | 94 +- 3party/boost/boost/logic/tribool_io.hpp | 6 +- 3party/boost/boost/make_default.hpp | 40 + .../boost/math/concepts/real_concept.hpp | 2 +- .../boost/math/concepts/std_real_concept.hpp | 2 +- .../boost/boost/math/constants/constants.hpp | 6 +- .../boost/math/cstdfloat/cstdfloat_limits.hpp | 2 +- .../boost/math/cstdfloat/cstdfloat_types.hpp | 107 +- 3party/boost/boost/math/distributions.hpp | 2 + .../boost/math/distributions/arcsine.hpp | 535 ++ .../detail/inv_discrete_quantile.hpp | 4 +- .../math/distributions/extreme_value.hpp | 5 +- 3party/boost/boost/math/distributions/fwd.hpp | 11 +- .../math/distributions/hyperexponential.hpp | 634 ++ .../math/distributions/non_central_f.hpp | 3 +- 3party/boost/boost/math/policies/policy.hpp | 5 + 3party/boost/boost/math/special_functions.hpp | 7 +- .../boost/math/special_functions/airy.hpp | 4 +- .../math/special_functions/bernoulli.hpp | 2 +- .../boost/math/special_functions/bessel.hpp | 12 +- .../boost/math/special_functions/beta.hpp | 63 +- .../boost/math/special_functions/binomial.hpp | 6 +- .../boost/math/special_functions/cos_pi.hpp | 23 +- .../detail/bernoulli_details.hpp | 3 +- .../math/special_functions/detail/erf_inv.hpp | 4 +- .../special_functions/detail/fp_traits.hpp | 3 +- .../special_functions/detail/polygamma.hpp | 537 ++ .../boost/math/special_functions/digamma.hpp | 176 +- .../boost/math/special_functions/ellint_1.hpp | 14 +- .../boost/math/special_functions/ellint_2.hpp | 40 +- .../boost/math/special_functions/ellint_3.hpp | 394 +- .../boost/math/special_functions/ellint_d.hpp | 179 + .../math/special_functions/ellint_rc.hpp | 63 +- .../math/special_functions/ellint_rd.hpp | 201 +- .../math/special_functions/ellint_rf.hpp | 170 +- .../math/special_functions/ellint_rg.hpp | 135 + .../math/special_functions/ellint_rj.hpp | 330 +- .../math/special_functions/factorials.hpp | 2 +- .../math/special_functions/fpclassify.hpp | 6 +- .../boost/math/special_functions/gamma.hpp | 120 +- .../math/special_functions/heuman_lambda.hpp | 86 + .../math/special_functions/jacobi_zeta.hpp | 73 + .../boost/math/special_functions/legendre.hpp | 4 +- .../boost/math/special_functions/math_fwd.hpp | 78 +- .../math/special_functions/polygamma.hpp | 82 + .../boost/math/special_functions/pow.hpp | 7 + .../boost/math/special_functions/round.hpp | 25 +- .../boost/math/special_functions/sign.hpp | 4 +- .../boost/math/special_functions/sin_pi.hpp | 11 +- .../boost/math/special_functions/trigamma.hpp | 468 ++ .../boost/math/special_functions/zeta.hpp | 84 +- .../boost/boost/math/tools/big_constant.hpp | 40 +- 3party/boost/boost/math/tools/config.hpp | 12 + 3party/boost/boost/math/tools/precision.hpp | 10 + .../boost/boost/math/tools/toms748_solve.hpp | 36 +- 3party/boost/boost/move/adl_move_swap.hpp | 233 + 3party/boost/boost/move/algorithm.hpp | 12 +- 3party/boost/boost/move/core.hpp | 171 +- 3party/boost/boost/move/default_delete.hpp | 195 + .../boost/boost/move/detail/config_begin.hpp | 16 +- 3party/boost/boost/move/detail/config_end.hpp | 12 +- 3party/boost/boost/move/detail/fwd_macros.hpp | 465 ++ .../boost/move/detail/iterator_traits.hpp | 87 + 3party/boost/boost/move/detail/meta_utils.hpp | 534 +- .../boost/move/detail/meta_utils_core.hpp | 120 + .../boost/boost/move/detail/move_helpers.hpp | 85 +- .../boost/boost/move/detail/type_traits.hpp | 1078 +++ .../move/detail/unique_ptr_meta_utils.hpp | 591 ++ 3party/boost/boost/move/detail/workaround.hpp | 55 + 3party/boost/boost/move/iterator.hpp | 52 +- 3party/boost/boost/move/make_unique.hpp | 237 + 3party/boost/boost/move/move.hpp | 10 +- 3party/boost/boost/move/traits.hpp | 127 +- 3party/boost/boost/move/unique_ptr.hpp | 869 +++ 3party/boost/boost/move/utility.hpp | 151 +- 3party/boost/boost/move/utility_core.hpp | 315 + 3party/boost/boost/mpi/collectives.hpp | 138 +- .../boost/boost/mpi/collectives/gatherv.hpp | 164 + 3party/boost/boost/mpi/collectives/reduce.hpp | 44 +- .../boost/boost/mpi/collectives/scatterv.hpp | 166 + 3party/boost/boost/mpi/communicator.hpp | 64 + 3party/boost/boost/mpi/config.hpp | 25 +- 3party/boost/boost/mpi/datatype.hpp | 12 +- .../mpi/detail/forward_skeleton_iarchive.hpp | 17 +- .../mpi/detail/forward_skeleton_oarchive.hpp | 17 +- .../mpi/detail/ignore_skeleton_oarchive.hpp | 18 +- .../mpi/detail/mpi_datatype_oarchive.hpp | 9 +- 3party/boost/boost/mpi/nonblocking.hpp | 12 +- 3party/boost/boost/mpi/packed_iarchive.hpp | 22 +- 3party/boost/boost/mpi/packed_oarchive.hpp | 20 +- .../boost/mpl/aux_/insert_range_impl.hpp | 35 +- .../boost/mpl/aux_/preprocessor/range.hpp | 9 +- 3party/boost/boost/mpl/empty_base.hpp | 16 +- 3party/boost/boost/mpl/empty_sequence.hpp | 3 +- .../boost/mpl/map/aux_/insert_range_impl.hpp | 41 + 3party/boost/boost/mpl/map/aux_/item.hpp | 3 + 3party/boost/boost/mpl/map/map0.hpp | 1 + .../boost/mpl/set/aux_/insert_range_impl.hpp | 41 + 3party/boost/boost/mpl/set/aux_/item.hpp | 2 + 3party/boost/boost/mpl/set/set0.hpp | 1 + 3party/boost/boost/msm/back/state_machine.hpp | 33 +- 3party/boost/boost/msm/front/euml/common.hpp | 32 +- .../boost/msm/front/euml/stt_grammar.hpp | 4 +- .../boost/boost/multi_index/composite_key.hpp | 239 +- .../detail/archive_constructed.hpp | 4 +- .../detail/bidir_node_iterator.hpp | 3 +- .../boost/multi_index/detail/bucket_array.hpp | 5 +- .../multi_index/detail/cons_stdtuple.hpp | 93 + .../boost/multi_index/detail/copy_map.hpp | 15 +- .../detail/hash_index_iterator.hpp | 1 + .../multi_index/detail/hash_index_node.hpp | 22 +- .../boost/multi_index/detail/index_loader.hpp | 5 +- .../multi_index/detail/index_matcher.hpp | 5 +- .../multi_index/detail/index_node_base.hpp | 8 +- .../multi_index/detail/is_transparent.hpp | 135 + .../multi_index/detail/ord_index_impl.hpp | 1567 +++++ .../multi_index/detail/ord_index_impl_fwd.hpp | 128 + .../multi_index/detail/ord_index_node.hpp | 104 +- .../multi_index/detail/ord_index_ops.hpp | 125 +- .../boost/multi_index/detail/promotes_arg.hpp | 83 + .../boost/multi_index/detail/raw_ptr.hpp | 52 + .../multi_index/detail/rnd_index_node.hpp | 19 +- .../multi_index/detail/rnd_index_ops.hpp | 13 +- .../multi_index/detail/rnd_node_iterator.hpp | 3 +- .../multi_index/detail/rnk_index_ops.hpp | 300 + .../multi_index/detail/seq_index_node.hpp | 15 +- .../multi_index/detail/seq_index_ops.hpp | 6 +- .../multi_index/detail/value_compare.hpp | 9 +- 3party/boost/boost/multi_index/global_fun.hpp | 4 +- .../boost/boost/multi_index/hashed_index.hpp | 137 +- 3party/boost/boost/multi_index/identity.hpp | 4 +- 3party/boost/boost/multi_index/mem_fun.hpp | 4 +- 3party/boost/boost/multi_index/member.hpp | 4 +- .../boost/boost/multi_index/ordered_index.hpp | 1462 +--- .../boost/multi_index/ordered_index_fwd.hpp | 93 +- .../boost/multi_index/random_access_index.hpp | 7 +- .../boost/boost/multi_index/ranked_index.hpp | 382 ++ .../boost/multi_index/ranked_index_fwd.hpp | 35 + .../boost/multi_index/sequenced_index.hpp | 6 +- .../concepts/mp_number_archetypes.hpp | 20 +- .../boost/multiprecision/cpp_bin_float.hpp | 86 +- .../boost/multiprecision/cpp_bin_float/io.hpp | 14 +- .../cpp_bin_float/transcendental.hpp | 7 +- .../boost/multiprecision/cpp_dec_float.hpp | 253 +- 3party/boost/boost/multiprecision/cpp_int.hpp | 159 +- .../boost/multiprecision/cpp_int/add.hpp | 44 +- .../boost/multiprecision/cpp_int/bitwise.hpp | 82 +- .../boost/multiprecision/cpp_int/checked.hpp | 4 +- .../multiprecision/cpp_int/cpp_int_config.hpp | 10 +- .../boost/multiprecision/cpp_int/divide.hpp | 2 +- .../boost/multiprecision/cpp_int/misc.hpp | 19 +- .../boost/multiprecision/cpp_int/multiply.hpp | 30 +- .../multiprecision/cpp_int/serialize.hpp | 2 +- .../boost/multiprecision/debug_adaptor.hpp | 18 +- .../boost/multiprecision/detail/bitscan.hpp | 10 +- .../multiprecision/detail/default_ops.hpp | 159 +- .../detail/float_string_cvt.hpp | 4 +- .../multiprecision/detail/functions/pow.hpp | 10 +- .../multiprecision/detail/functions/trig.hpp | 20 +- .../detail/generic_interconvert.hpp | 252 +- .../multiprecision/detail/number_base.hpp | 58 +- .../multiprecision/detail/number_compare.hpp | 178 +- .../boost/boost/multiprecision/float128.hpp | 73 +- 3party/boost/boost/multiprecision/gmp.hpp | 215 +- 3party/boost/boost/multiprecision/integer.hpp | 6 +- .../boost/multiprecision/logged_adaptor.hpp | 18 + 3party/boost/boost/multiprecision/mpfi.hpp | 33 +- 3party/boost/boost/multiprecision/mpfr.hpp | 75 +- 3party/boost/boost/multiprecision/number.hpp | 58 +- 3party/boost/boost/multiprecision/random.hpp | 10 + .../boost/multiprecision/rational_adaptor.hpp | 36 +- 3party/boost/boost/multiprecision/tommath.hpp | 23 +- .../multiprecision/traits/is_backend.hpp | 63 + 3party/boost/boost/next_prior.hpp | 122 +- 3party/boost/boost/none.hpp | 25 + 3party/boost/boost/none_t.hpp | 6 +- .../boost/numeric/interval/compare/set.hpp | 12 +- .../boost/numeric/interval/detail/bugs.hpp | 31 - .../interval/detail/msvc_rounding_control.hpp | 15 +- .../boost/boost/numeric/interval/limits.hpp | 2 - .../boost/numeric/interval/rounded_arith.hpp | 8 +- .../odeint/algebra/algebra_dispatcher.hpp | 29 +- .../numeric/odeint/algebra/array_algebra.hpp | 309 +- .../odeint/algebra/multi_array_algebra.hpp | 4 +- .../numeric/odeint/external/eigen/eigen.hpp | 27 + .../odeint/external/eigen/eigen_algebra.hpp | 13 + .../eigen/eigen_algebra_dispatcher.hpp | 49 + .../external/openmp/openmp_range_algebra.hpp | 2 +- .../thrust/thrust_algebra_dispatcher.hpp | 55 + .../thrust/thrust_operations_dispatcher.hpp | 61 +- .../odeint/external/thrust/thrust_resize.hpp | 210 +- .../integrate/detail/integrate_adaptive.hpp | 2 +- .../integrate/detail/integrate_times.hpp | 4 +- .../numeric/odeint/integrate/integrate.hpp | 22 + .../iterator/impl/adaptive_iterator_impl.hpp | 2 +- .../impl/const_step_iterator_impl.hpp | 2 +- .../integrate/detail/integrate_n_steps.hpp | 4 +- .../odeint/stepper/adams_bashforth.hpp | 28 +- .../stepper/adams_bashforth_moulton.hpp | 10 +- .../base/explicit_error_stepper_base.hpp | 33 +- .../base/explicit_error_stepper_fsal_base.hpp | 30 +- .../stepper/base/explicit_stepper_base.hpp | 31 + .../base/symplectic_rkn_stepper_base.hpp | 2 +- .../numeric/odeint/stepper/bulirsch_stoer.hpp | 7 +- .../stepper/bulirsch_stoer_dense_out.hpp | 11 +- .../detail/adams_bashforth_call_algebra.hpp | 4 +- .../detail/adams_moulton_call_algebra.hpp | 2 +- .../boost/numeric/odeint/stepper/euler.hpp | 4 +- .../odeint/stepper/extrapolation_stepper.hpp | 293 + .../numeric/odeint/stepper/implicit_euler.hpp | 2 +- .../odeint/stepper/rosenbrock4_controller.hpp | 1 + .../odeint/stepper/runge_kutta4_classic.hpp | 11 +- .../odeint/stepper/velocity_verlet.hpp | 2 +- .../boost/boost/numeric/odeint/util/bind.hpp | 3 + .../odeint/util/detail/less_with_sign.hpp | 4 +- .../boost/numeric/odeint/util/resize.hpp | 4 +- .../numeric/odeint/util/same_instance.hpp | 2 +- .../numeric/odeint/util/unwrap_reference.hpp | 15 +- .../boost/boost/numeric/ublas/assignment.hpp | 16 +- 3party/boost/boost/numeric/ublas/banded.hpp | 365 +- .../boost/numeric/ublas/detail/concepts.hpp | 257 +- .../boost/numeric/ublas/detail/config.hpp | 21 +- .../numeric/ublas/detail/matrix_assign.hpp | 105 +- .../numeric/ublas/detail/vector_assign.hpp | 5 +- .../ublas/experimental/sparse_view.hpp | 11 +- .../boost/boost/numeric/ublas/functional.hpp | 3 + 3party/boost/boost/numeric/ublas/fwd.hpp | 12 + .../boost/boost/numeric/ublas/hermitian.hpp | 176 + 3party/boost/boost/numeric/ublas/lu.hpp | 15 +- 3party/boost/boost/numeric/ublas/matrix.hpp | 1614 ++++- .../boost/numeric/ublas/matrix_expression.hpp | 683 +- .../boost/numeric/ublas/matrix_proxy.hpp | 344 + .../boost/numeric/ublas/matrix_sparse.hpp | 352 + .../boost/numeric/ublas/matrix_vector.hpp | 348 + .../boost/boost/numeric/ublas/operation.hpp | 35 +- 3party/boost/boost/numeric/ublas/storage.hpp | 181 +- .../boost/numeric/ublas/storage_sparse.hpp | 17 + .../boost/boost/numeric/ublas/symmetric.hpp | 177 +- 3party/boost/boost/numeric/ublas/traits.hpp | 193 +- .../boost/boost/numeric/ublas/triangular.hpp | 187 +- 3party/boost/boost/numeric/ublas/vector.hpp | 901 ++- .../boost/numeric/ublas/vector_expression.hpp | 81 + .../boost/numeric/ublas/vector_of_vector.hpp | 89 + .../boost/numeric/ublas/vector_proxy.hpp | 54 +- .../boost/numeric/ublas/vector_sparse.hpp | 48 + .../boost/optional/bad_optional_access.hpp | 3 + 3party/boost/boost/optional/optional.hpp | 167 +- 3party/boost/boost/optional/optional_io.hpp | 24 +- .../boost/boost/parameter/aux_/arg_list.hpp | 31 +- 3party/boost/boost/parameter/aux_/cast.hpp | 6 +- .../parameter/aux_/parenthesized_type.hpp | 84 - 3party/boost/boost/parameter/aux_/set.hpp | 3 +- .../boost/parameter/aux_/tagged_argument.hpp | 4 +- .../parameter/aux_/unwrap_cv_reference.hpp | 6 - 3party/boost/boost/parameter/binding.hpp | 30 +- 3party/boost/boost/parameter/keyword.hpp | 30 - 3party/boost/boost/parameter/name.hpp | 20 +- 3party/boost/boost/parameter/preprocessor.hpp | 113 +- 3party/boost/boost/parameter/value_type.hpp | 30 +- .../boost/pending/detail/int_iterator.hpp | 11 +- 3party/boost/boost/pending/iterator_tests.hpp | 27 +- .../phoenix/bind/bind_member_function.hpp | 13 +- .../phoenix/bind/bind_member_variable.hpp | 21 +- 3party/boost/boost/phoenix/config.hpp | 12 + 3party/boost/boost/phoenix/core/domain.hpp | 18 +- .../boost/boost/phoenix/core/expression.hpp | 4 +- 3party/boost/boost/phoenix/core/is_value.hpp | 63 + .../core/preprocessed/expression_10.hpp | 40 +- .../core/preprocessed/expression_20.hpp | 80 +- .../core/preprocessed/expression_30.hpp | 120 +- .../core/preprocessed/expression_40.hpp | 160 +- .../core/preprocessed/expression_50.hpp | 200 +- 3party/boost/boost/phoenix/core/value.hpp | 17 +- .../boost/phoenix/function/adapt_function.hpp | 16 +- .../boost/boost/phoenix/function/function.hpp | 2 +- .../boost/phoenix/function/lazy_list.hpp | 1514 ++++ .../boost/phoenix/function/lazy_operator.hpp | 670 ++ .../boost/phoenix/function/lazy_prelude.hpp | 798 +++ .../boost/phoenix/function/lazy_reuse.hpp | 242 + .../boost/phoenix/operator/arithmetic.hpp | 1 + 3party/boost/boost/phoenix/scope/let.hpp | 46 +- .../boost/phoenix/scope/local_variable.hpp | 3 + 3party/boost/boost/phoenix/statement/if.hpp | 2 +- .../stl/algorithm/detail/std_hash_map_fwd.hpp | 2 +- .../stl/algorithm/detail/std_hash_set_fwd.hpp | 2 +- 3party/boost/boost/phoenix/stl/cmath.hpp | 4 +- 3party/boost/boost/phoenix/version.hpp | 6 +- 3party/boost/boost/pointee.hpp | 16 +- .../detail/iterator_compact_to_points.hpp | 10 +- .../boost/boost/polygon/detail/max_cover.hpp | 2 +- .../boost/polygon/detail/scan_arbitrary.hpp | 3 +- .../boost/polygon/detail/voronoi_ctypes.hpp | 6 +- 3party/boost/boost/polygon/point_data.hpp | 11 +- .../boost/boost/polygon/polygon_set_data.hpp | 3 + 3party/boost/boost/polygon/transform.hpp | 26 +- .../boost/boost/polygon/voronoi_builder.hpp | 14 +- .../boost/boost/polygon/voronoi_diagram.hpp | 4 +- 3party/boost/boost/polymorphic_cast.hpp | 11 +- .../boost/boost/polymorphic_pointer_cast.hpp | 78 + 3party/boost/boost/pool/pool.hpp | 24 +- 3party/boost/boost/predef.h | 6 +- 3party/boost/boost/predef/architecture.h | 4 +- .../boost/boost/predef/architecture/alpha.h | 7 +- 3party/boost/boost/predef/architecture/arm.h | 7 +- .../boost/predef/architecture/blackfin.h | 7 +- .../boost/boost/predef/architecture/convex.h | 8 +- 3party/boost/boost/predef/architecture/ia64.h | 6 +- 3party/boost/boost/predef/architecture/m68k.h | 7 +- 3party/boost/boost/predef/architecture/mips.h | 7 +- .../boost/boost/predef/architecture/parisc.h | 7 +- 3party/boost/boost/predef/architecture/ppc.h | 7 +- .../boost/boost/predef/architecture/pyramid.h | 7 +- 3party/boost/boost/predef/architecture/rs6k.h | 8 +- .../boost/boost/predef/architecture/sparc.h | 7 +- .../boost/boost/predef/architecture/superh.h | 7 +- .../boost/boost/predef/architecture/sys370.h | 7 +- .../boost/boost/predef/architecture/sys390.h | 7 +- 3party/boost/boost/predef/architecture/x86.h | 12 +- .../boost/boost/predef/architecture/x86/32.h | 8 +- .../boost/boost/predef/architecture/x86/64.h | 8 +- 3party/boost/boost/predef/architecture/z.h | 7 +- 3party/boost/boost/predef/compiler.h | 4 +- 3party/boost/boost/predef/compiler/borland.h | 7 +- 3party/boost/boost/predef/compiler/clang.h | 7 +- 3party/boost/boost/predef/compiler/comeau.h | 9 +- 3party/boost/boost/predef/compiler/compaq.h | 7 +- 3party/boost/boost/predef/compiler/diab.h | 7 +- .../boost/boost/predef/compiler/digitalmars.h | 7 +- 3party/boost/boost/predef/compiler/dignus.h | 7 +- 3party/boost/boost/predef/compiler/edg.h | 7 +- 3party/boost/boost/predef/compiler/ekopath.h | 7 +- 3party/boost/boost/predef/compiler/gcc.h | 7 +- 3party/boost/boost/predef/compiler/gcc_xml.h | 6 +- .../boost/boost/predef/compiler/greenhills.h | 7 +- 3party/boost/boost/predef/compiler/hp_acc.h | 7 +- 3party/boost/boost/predef/compiler/iar.h | 7 +- 3party/boost/boost/predef/compiler/ibm.h | 7 +- 3party/boost/boost/predef/compiler/intel.h | 7 +- 3party/boost/boost/predef/compiler/kai.h | 7 +- 3party/boost/boost/predef/compiler/llvm.h | 7 +- 3party/boost/boost/predef/compiler/metaware.h | 7 +- .../boost/boost/predef/compiler/metrowerks.h | 7 +- 3party/boost/boost/predef/compiler/microtec.h | 7 +- 3party/boost/boost/predef/compiler/mpw.h | 7 +- 3party/boost/boost/predef/compiler/palm.h | 7 +- 3party/boost/boost/predef/compiler/pgi.h | 7 +- .../boost/boost/predef/compiler/sgi_mipspro.h | 7 +- 3party/boost/boost/predef/compiler/sunpro.h | 25 +- 3party/boost/boost/predef/compiler/tendra.h | 7 +- 3party/boost/boost/predef/compiler/visualc.h | 28 +- 3party/boost/boost/predef/compiler/watcom.h | 7 +- 3party/boost/boost/predef/detail/test_def.h | 71 + 3party/boost/boost/predef/language.h | 4 +- 3party/boost/boost/predef/language/objc.h | 7 +- 3party/boost/boost/predef/language/stdc.h | 7 +- 3party/boost/boost/predef/language/stdcpp.h | 21 +- 3party/boost/boost/predef/library.h | 4 +- 3party/boost/boost/predef/library/c.h | 4 +- 3party/boost/boost/predef/library/c/gnu.h | 7 +- 3party/boost/boost/predef/library/c/uc.h | 7 +- 3party/boost/boost/predef/library/c/vms.h | 7 +- 3party/boost/boost/predef/library/c/zos.h | 7 +- 3party/boost/boost/predef/library/std.h | 4 +- 3party/boost/boost/predef/library/std/cxx.h | 7 +- .../boost/predef/library/std/dinkumware.h | 7 +- .../boost/boost/predef/library/std/libcomo.h | 7 +- .../boost/boost/predef/library/std/modena.h | 7 +- 3party/boost/boost/predef/library/std/msl.h | 7 +- .../boost/predef/library/std/roguewave.h | 7 +- 3party/boost/boost/predef/library/std/sgi.h | 7 +- .../boost/boost/predef/library/std/stdcpp3.h | 7 +- .../boost/boost/predef/library/std/stlport.h | 7 +- 3party/boost/boost/predef/library/std/vacpp.h | 7 +- 3party/boost/boost/predef/make.h | 6 +- 3party/boost/boost/predef/os.h | 5 +- 3party/boost/boost/predef/os/aix.h | 7 +- 3party/boost/boost/predef/os/amigaos.h | 7 +- 3party/boost/boost/predef/os/android.h | 7 +- 3party/boost/boost/predef/os/beos.h | 7 +- 3party/boost/boost/predef/os/bsd.h | 14 +- 3party/boost/boost/predef/os/bsd/bsdi.h | 6 +- 3party/boost/boost/predef/os/bsd/dragonfly.h | 6 +- 3party/boost/boost/predef/os/bsd/free.h | 6 +- 3party/boost/boost/predef/os/bsd/net.h | 6 +- 3party/boost/boost/predef/os/bsd/open.h | 6 +- 3party/boost/boost/predef/os/cygwin.h | 7 +- 3party/boost/boost/predef/os/haiku.h | 46 + 3party/boost/boost/predef/os/hpux.h | 7 +- 3party/boost/boost/predef/os/ios.h | 6 +- 3party/boost/boost/predef/os/irix.h | 7 +- 3party/boost/boost/predef/os/linux.h | 7 +- 3party/boost/boost/predef/os/macos.h | 7 +- 3party/boost/boost/predef/os/os400.h | 7 +- 3party/boost/boost/predef/os/qnxnto.h | 7 +- 3party/boost/boost/predef/os/solaris.h | 7 +- 3party/boost/boost/predef/os/unix.h | 6 +- 3party/boost/boost/predef/os/vms.h | 7 +- 3party/boost/boost/predef/os/windows.h | 6 +- 3party/boost/boost/predef/other.h | 4 +- 3party/boost/boost/predef/other/endian.h | 24 +- 3party/boost/boost/predef/platform.h | 4 +- 3party/boost/boost/predef/platform/mingw.h | 7 +- .../boost/predef/platform/windows_desktop.h | 5 +- .../boost/predef/platform/windows_phone.h | 5 +- .../boost/predef/platform/windows_runtime.h | 5 +- .../boost/predef/platform/windows_store.h | 5 +- 3party/boost/boost/predef/version.h | 4 +- 3party/boost/boost/predef/version_number.h | 3 +- .../boost/preprocessor/arithmetic/dec.hpp | 1 + .../preprocessor/array/detail/get_data.hpp | 55 + .../boost/preprocessor/array/push_back.hpp | 4 +- .../boost/preprocessor/array/push_front.hpp | 4 +- .../boost/preprocessor/array/to_list.hpp | 20 +- .../boost/boost/preprocessor/array/to_seq.hpp | 19 +- .../boost/preprocessor/array/to_tuple.hpp | 13 +- .../boost/preprocessor/config/config.hpp | 16 +- .../facilities/detail/is_empty.hpp | 55 + .../boost/preprocessor/facilities/empty.hpp | 2 + .../preprocessor/facilities/is_empty.hpp | 21 +- .../preprocessor/facilities/is_empty_or_1.hpp | 3 +- .../facilities/is_empty_variadic.hpp | 57 + 3party/boost/boost/preprocessor/library.hpp | 1 + .../boost/preprocessor/list/to_array.hpp | 34 +- .../boost/preprocessor/list/to_tuple.hpp | 31 +- .../boost/boost/preprocessor/punctuation.hpp | 2 + .../punctuation/detail/is_begin_parens.hpp | 48 + .../punctuation/is_begin_parens.hpp | 51 + .../punctuation/remove_parens.hpp | 39 + .../boost/preprocessor/repetition/for.hpp | 20 +- .../seq/detail/binary_transform.hpp | 12 +- .../preprocessor/seq/detail/is_empty.hpp | 49 + .../boost/boost/preprocessor/seq/for_each.hpp | 67 +- .../boost/preprocessor/seq/for_each_i.hpp | 68 +- .../boost/boost/preprocessor/seq/replace.hpp | 20 +- .../boost/boost/preprocessor/seq/rest_n.hpp | 22 +- 3party/boost/boost/preprocessor/seq/size.hpp | 1 + .../tuple/detail/is_single_return.hpp | 28 + .../boost/boost/preprocessor/tuple/elem.hpp | 14 +- 3party/boost/boost/preprocessor/tuple/rem.hpp | 15 +- .../boost/boost/preprocessor/tuple/to_seq.hpp | 3 + .../variadic/detail/is_single_return.hpp | 28 + .../program_options/detail/config_file.hpp | 16 +- .../boost/program_options/detail/parsers.hpp | 3 +- .../program_options/environment_iterator.hpp | 5 +- .../boost/program_options/eof_iterator.hpp | 34 +- 3party/boost/boost/program_options/option.hpp | 2 +- .../program_options/options_description.hpp | 9 +- .../boost/boost/program_options/parsers.hpp | 74 +- .../boost/program_options/value_semantic.hpp | 28 +- .../boost/program_options/variables_map.hpp | 40 +- .../property_tree/detail/info_parser_read.hpp | 17 +- .../detail/json_parser/narrow_encoding.hpp | 159 + .../detail/json_parser/parser.hpp | 524 ++ .../property_tree/detail/json_parser/read.hpp | 55 + .../detail/json_parser/standard_callbacks.hpp | 152 + .../detail/json_parser/wide_encoding.hpp | 171 + .../property_tree/detail/json_parser_read.hpp | 332 - .../detail/json_parser_write.hpp | 7 +- .../detail/ptree_implementation.hpp | 21 +- .../boost/property_tree/detail/rapidxml.hpp | 2 +- .../boost/boost/property_tree/ini_parser.hpp | 92 +- .../boost/boost/property_tree/json_parser.hpp | 9 +- 3party/boost/boost/property_tree/ptree.hpp | 2 +- .../property_tree/ptree_serialization.hpp | 51 +- .../boost/property_tree/stream_translator.hpp | 8 +- 3party/boost/boost/python.hpp | 3 + 3party/boost/boost/python/args.hpp | 26 - 3party/boost/boost/python/back_reference.hpp | 31 - 3party/boost/boost/python/bases.hpp | 18 - 3party/boost/boost/python/class.hpp | 45 +- .../python/converter/arg_from_python.hpp | 4 +- .../python/converter/arg_to_python_base.hpp | 8 - .../boost/python/converter/object_manager.hpp | 74 - .../boost/python/converter/registered.hpp | 3 +- .../python/converter/registered_pointee.hpp | 32 - .../boost/python/copy_const_reference.hpp | 2 +- .../boost/python/copy_non_const_reference.hpp | 2 +- 3party/boost/boost/python/data_members.hpp | 4 +- .../boost/python/default_call_policies.hpp | 2 +- .../boost/python/detail/borrowed_ptr.hpp | 30 - 3party/boost/boost/python/detail/config.hpp | 3 - .../boost/boost/python/detail/construct.hpp | 8 +- .../boost/boost/python/detail/cv_category.hpp | 2 +- 3party/boost/boost/python/detail/destroy.hpp | 49 +- .../boost/boost/python/detail/enable_if.hpp | 35 +- .../boost/python/detail/force_instantiate.hpp | 14 - 3party/boost/boost/python/detail/if_else.hpp | 39 +- .../boost/python/detail/msvc_typeinfo.hpp | 19 +- .../boost/python/detail/referent_storage.hpp | 10 - 3party/boost/boost/python/detail/result.hpp | 4 +- .../boost/python/detail/string_literal.hpp | 38 - .../boost/boost/python/detail/type_list.hpp | 4 - .../python/detail/type_list_impl_no_pts.hpp | 107 - .../boost/python/detail/value_is_xxx.hpp | 30 - .../boost/python/exception_translator.hpp | 1 + 3party/boost/boost/python/extract.hpp | 3 +- 3party/boost/boost/python/handle.hpp | 27 - 3party/boost/boost/python/init.hpp | 22 - .../boost/boost/python/make_constructor.hpp | 9 - .../boost/boost/python/manage_new_object.hpp | 2 +- .../boost/python/object/class_metadata.hpp | 4 - 3party/boost/boost/python/object/forward.hpp | 101 +- 3party/boost/boost/python/object/iterator.hpp | 28 - .../boost/python/object/pointer_holder.hpp | 6 +- .../boost/python/object/value_holder.hpp | 6 +- 3party/boost/boost/python/object_core.hpp | 113 +- 3party/boost/boost/python/object_items.hpp | 3 - 3party/boost/boost/python/object_slices.hpp | 4 +- .../boost/python/opaque_pointer_converter.hpp | 13 +- 3party/boost/boost/python/other.hpp | 62 +- 3party/boost/boost/python/proxy.hpp | 4 - 3party/boost/boost/python/ptr.hpp | 63 +- 3party/boost/boost/python/pure_virtual.hpp | 2 +- .../python/reference_existing_object.hpp | 2 +- .../boost/python/register_ptr_to_python.hpp | 2 +- 3party/boost/boost/python/return_arg.hpp | 2 +- .../python/return_internal_reference.hpp | 2 +- .../python/suite/indexing/indexing_suite.hpp | 4 - .../boost/python/to_python_converter.hpp | 5 - 3party/boost/boost/python/to_python_value.hpp | 5 - 3party/boost/boost/python/type_id.hpp | 28 +- .../boost/python/with_custodian_and_ward.hpp | 4 - 3party/boost/boost/random.hpp | 1 + .../boost/boost/random/detail/const_mod.hpp | 18 +- .../boost/random/detail/disable_warnings.hpp | 1 + .../boost/boost/random/detail/polynomial.hpp | 384 ++ 3party/boost/boost/random/detail/seed.hpp | 1 + .../boost/boost/random/detail/seed_impl.hpp | 12 +- .../boost/boost/random/generate_canonical.hpp | 1 + .../boost/boost/random/mersenne_twister.hpp | 121 +- .../non_central_chi_squared_distribution.hpp | 221 + .../boost/random/normal_distribution.hpp | 1 + .../boost/random/uniform_int_distribution.hpp | 1 + .../boost/boost/random/uniform_on_sphere.hpp | 2 +- .../random/uniform_real_distribution.hpp | 1 + .../boost/boost/random/uniform_smallint.hpp | 1 + 3party/boost/boost/range/adaptor/filtered.hpp | 51 +- 3party/boost/boost/range/adaptor/strided.hpp | 2 +- .../boost/boost/range/detail/any_iterator.hpp | 6 +- .../range/detail/any_iterator_wrapper.hpp | 2 +- .../boost/range/detail/collection_traits.hpp | 43 +- .../range/detail/collection_traits_detail.hpp | 53 +- 3party/boost/boost/range/detail/common.hpp | 5 +- .../detail/demote_iterator_traversal_tag.hpp | 4 +- 3party/boost/boost/range/difference_type.hpp | 22 +- 3party/boost/boost/range/iterator.hpp | 34 +- .../boost/boost/range/iterator_range_core.hpp | 22 +- 3party/boost/boost/range/size.hpp | 9 + 3party/boost/boost/range/size_type.hpp | 33 +- 3party/boost/boost/range/sub_range.hpp | 4 +- 3party/boost/boost/ratio/ratio_fwd.hpp | 4 + 3party/boost/boost/rational.hpp | 252 +- 3party/boost/boost/regex/icu.hpp | 4 +- .../boost/regex/v4/basic_regex_parser.hpp | 11 +- 3party/boost/boost/regex/v4/match_results.hpp | 9 +- 3party/boost/boost/regex/v4/perl_matcher.hpp | 9 +- 3party/boost/boost/regex/v4/regex_format.hpp | 2 +- .../boost/boost/regex/v4/regex_workaround.hpp | 2 +- 3party/boost/boost/scope_exit.hpp | 179 +- 3party/boost/boost/serialization/access.hpp | 8 +- 3party/boost/boost/serialization/array.hpp | 19 +- .../boost/boost/serialization/base_object.hpp | 11 - .../boost/serialization/binary_object.hpp | 5 +- .../serialization/collections_load_imp.hpp | 155 +- 3party/boost/boost/serialization/config.hpp | 17 +- 3party/boost/boost/serialization/deque.hpp | 22 +- .../detail/is_default_constructible.hpp | 48 + .../serialization/detail/shared_count_132.hpp | 26 +- .../serialization/detail/shared_ptr_132.hpp | 9 +- .../detail/stack_constructor.hpp | 8 +- .../boost/boost/serialization/ephemeral.hpp | 5 +- 3party/boost/boost/serialization/export.hpp | 13 +- .../serialization/extended_type_info.hpp | 16 +- .../extended_type_info_no_rtti.hpp | 10 +- .../extended_type_info_typeid.hpp | 16 +- 3party/boost/boost/serialization/factory.hpp | 1 - .../boost/serialization/force_include.hpp | 6 +- .../boost/serialization/forward_list.hpp | 75 +- .../hash_collections_load_imp.hpp | 2 +- 3party/boost/boost/serialization/level.hpp | 8 - 3party/boost/boost/serialization/list.hpp | 27 +- 3party/boost/boost/serialization/map.hpp | 63 +- 3party/boost/boost/serialization/nvp.hpp | 5 +- 3party/boost/boost/serialization/pfto.hpp | 78 - .../boost/serialization/serialization.hpp | 31 +- 3party/boost/boost/serialization/set.hpp | 59 +- .../boost/boost/serialization/shared_ptr.hpp | 40 +- .../boost/serialization/shared_ptr_132.hpp | 2 +- .../boost/serialization/shared_ptr_helper.hpp | 14 +- .../boost/boost/serialization/singleton.hpp | 2 +- 3party/boost/boost/serialization/slist.hpp | 95 +- .../boost/boost/serialization/smart_cast.hpp | 88 +- .../boost/boost/serialization/state_saver.hpp | 2 +- .../boost/serialization/static_warning.hpp | 8 +- 3party/boost/boost/serialization/string.hpp | 61 - .../boost/serialization/strong_typedef.hpp | 54 +- .../type_info_implementation.hpp | 13 - .../unordered_collections_load_imp.hpp | 2 +- 3party/boost/boost/serialization/vector.hpp | 39 +- .../boost/boost/serialization/void_cast.hpp | 22 +- 3party/boost/boost/serialization/weak_ptr.hpp | 2 +- .../boost/boost/shared_container_iterator.hpp | 11 +- .../boost/signals/detail/named_slot_map.hpp | 12 +- 3party/boost/boost/signals2/connection.hpp | 127 +- 3party/boost/boost/signals2/deconstruct.hpp | 1 - .../boost/boost/signals2/deconstruct_ptr.hpp | 8 +- .../boost/signals2/detail/auto_buffer.hpp | 1 - .../boost/signals2/detail/lwm_win32_cs.hpp | 2 +- .../boost/signals2/detail/signal_template.hpp | 127 +- .../signals2/detail/signals_common_macros.hpp | 15 +- .../signals2/detail/slot_call_iterator.hpp | 67 +- .../detail/tracked_objects_visitor.hpp | 2 +- .../signals2/detail/variadic_slot_invoker.hpp | 50 +- 3party/boost/boost/signals2/last_value.hpp | 5 +- .../boost/signals2/preprocessed_signal.hpp | 2 + 3party/boost/boost/signals2/signal.hpp | 2 +- 3party/boost/boost/signals2/slot_base.hpp | 12 +- 3party/boost/boost/signals2/trackable.hpp | 18 +- .../boost/boost/signals2/variadic_signal.hpp | 2 + .../smart_ptr/detail/array_allocator.hpp | 2 +- .../boost/smart_ptr/detail/shared_count.hpp | 38 +- .../boost/smart_ptr/detail/sp_convertible.hpp | 1 + .../smart_ptr/detail/sp_counted_base.hpp | 11 + .../detail/sp_counted_base_clang.hpp | 140 + .../smart_ptr/detail/sp_counted_impl.hpp | 6 +- .../boost/smart_ptr/detail/sp_forward.hpp | 13 + .../boost/smart_ptr/detail/sp_nullptr_t.hpp | 2 +- .../smart_ptr/detail/spinlock_gcc_arm.hpp | 1 + .../boost/smart_ptr/detail/spinlock_pool.hpp | 4 +- .../boost/boost/smart_ptr/detail/yield_k.hpp | 6 + .../smart_ptr/enable_shared_from_raw.hpp | 43 +- .../smart_ptr/enable_shared_from_this.hpp | 10 + 3party/boost/boost/smart_ptr/shared_ptr.hpp | 43 +- 3party/boost/boost/sort/sort.hpp | 19 + .../sort/spreadsort/detail/constants.hpp | 46 + .../sort/spreadsort/detail/float_sort.hpp | 806 +++ .../sort/spreadsort/detail/integer_sort.hpp | 494 ++ .../spreadsort/detail/spreadsort_common.hpp | 124 + .../sort/spreadsort/detail/string_sort.hpp | 819 +++ .../boost/sort/spreadsort/float_sort.hpp | 134 + .../boost/sort/spreadsort/integer_sort.hpp | 184 + .../boost/sort/spreadsort/spreadsort.hpp | 121 + .../boost/sort/spreadsort/string_sort.hpp | 449 ++ .../core/non_terminal/impl/grammar.ipp | 3 +- .../core/non_terminal/impl/object_with_id.ipp | 11 +- .../classic/core/non_terminal/impl/static.hpp | 4 + .../classic/core/primitives/primitives.hpp | 1 - .../spirit/home/classic/meta/refactoring.hpp | 4 +- .../spirit/home/classic/phoenix/closures.hpp | 4 + .../home/classic/phoenix/statements.hpp | 2 +- .../home/classic/utility/functor_parser.hpp | 2 - .../home/classic/utility/impl/chset.ipp | 6 +- .../home/classic/utility/scoped_lock.hpp | 3 +- .../home/karma/detail/output_iterator.hpp | 12 + .../home/karma/detail/string_generate.hpp | 34 +- .../spirit/home/karma/nonterminal/rule.hpp | 11 +- .../home/karma/numeric/detail/real_utils.hpp | 2 +- .../boost/boost/spirit/home/lex/argument.hpp | 10 - .../home/lex/lexer/lexertl/functor_data.hpp | 2 +- .../home/lex/lexer/string_token_def.hpp | 1 - .../boost/spirit/home/qi/nonterminal/rule.hpp | 10 +- .../home/qi/numeric/detail/numeric_utils.hpp | 35 +- .../home/qi/numeric/detail/real_impl.hpp | 125 +- .../spirit/home/qi/numeric/numeric_utils.hpp | 5 +- .../spirit/home/qi/numeric/real_policies.hpp | 20 +- .../boost/spirit/home/support/char_class.hpp | 1 + .../support/detail/lexer/parser/parser.hpp | 2 +- .../support/detail/lexer/state_machine.hpp | 2 +- .../spirit/home/support/extended_variant.hpp | 42 +- .../support/nonterminal/extract_param.hpp | 39 +- 3party/boost/boost/spirit/home/x3.hpp | 4 - .../boost/boost/spirit/home/x3/auxiliary.hpp | 6 - .../spirit/home/x3/auxiliary/any_parser.hpp | 4 - .../boost/spirit/home/x3/auxiliary/attr.hpp | 12 +- .../boost/spirit/home/x3/auxiliary/eoi.hpp | 6 +- .../boost/spirit/home/x3/auxiliary/eol.hpp | 6 +- .../boost/spirit/home/x3/auxiliary/eps.hpp | 16 +- .../boost/spirit/home/x3/auxiliary/guard.hpp | 4 - .../utility/detail/testing.hpp => binary.hpp} | 14 +- .../boost/spirit/home/x3/binary/binary.hpp | 175 + 3party/boost/boost/spirit/home/x3/char.hpp | 5 +- .../boost/spirit/home/x3/char/any_char.hpp | 41 +- .../boost/boost/spirit/home/x3/char/char.hpp | 107 +- .../boost/spirit/home/x3/char/char_class.hpp | 26 +- .../spirit/home/x3/char/char_class_tags.hpp | 29 + .../boost/spirit/home/x3/char/char_parser.hpp | 6 +- .../boost/spirit/home/x3/char/char_set.hpp | 136 + .../spirit/home/x3/char/detail/cast_char.hpp | 4 - .../spirit/home/x3/char/literal_char.hpp | 8 +- .../home/x3/char/negated_char_parser.hpp | 6 +- .../boost/spirit/home/x3/char/unicode.hpp | 6 +- 3party/boost/boost/spirit/home/x3/core.hpp | 4 - .../boost/spirit/home/x3/core/action.hpp | 6 +- .../boost/boost/spirit/home/x3/core/call.hpp | 9 +- .../x3/core/detail/parse_into_container.hpp | 77 +- .../boost/boost/spirit/home/x3/core/parse.hpp | 4 - .../boost/spirit/home/x3/core/parser.hpp | 12 +- .../boost/boost/spirit/home/x3/core/proxy.hpp | 4 - .../boost/spirit/home/x3/core/skip_over.hpp | 4 - .../boost/boost/spirit/home/x3/directive.hpp | 14 +- .../boost/spirit/home/x3/directive/confix.hpp | 83 + .../boost/spirit/home/x3/directive/expect.hpp | 8 +- .../boost/spirit/home/x3/directive/lexeme.hpp | 12 +- .../spirit/home/x3/directive/matches.hpp | 51 + .../spirit/home/x3/directive/no_case.hpp | 54 + .../spirit/home/x3/directive/no_skip.hpp | 8 +- .../boost/spirit/home/x3/directive/omit.hpp | 8 +- .../boost/spirit/home/x3/directive/raw.hpp | 4 +- .../boost/spirit/home/x3/directive/repeat.hpp | 157 + .../x3/{extensions => directive}/seek.hpp | 8 +- .../boost/spirit/home/x3/directive/skip.hpp | 16 +- .../boost/spirit/home/x3/directive/with.hpp | 6 +- .../boost/spirit/home/x3/nonterminal.hpp | 4 - .../x3/nonterminal/debug_handler_state.hpp | 4 - .../home/x3/nonterminal/detail/rule.hpp | 63 +- .../boost/spirit/home/x3/nonterminal/rule.hpp | 35 +- .../home/x3/nonterminal/simple_trace.hpp | 4 - 3party/boost/boost/spirit/home/x3/numeric.hpp | 4 - .../boost/spirit/home/x3/numeric/bool.hpp | 93 +- .../spirit/home/x3/numeric/bool_policies.hpp | 16 +- .../boost/spirit/home/x3/numeric/int.hpp | 4 - .../spirit/home/x3/numeric/real_policies.hpp | 4 - .../boost/spirit/home/x3/numeric/uint.hpp | 4 - .../boost/boost/spirit/home/x3/operator.hpp | 4 - .../spirit/home/x3/operator/alternative.hpp | 15 +- .../spirit/home/x3/operator/and_predicate.hpp | 6 +- .../home/x3/operator/detail/alternative.hpp | 35 +- .../home/x3/operator/detail/sequence.hpp | 62 +- .../spirit/home/x3/operator/difference.hpp | 8 +- .../boost/spirit/home/x3/operator/kleene.hpp | 6 +- .../boost/spirit/home/x3/operator/list.hpp | 6 +- .../spirit/home/x3/operator/not_predicate.hpp | 6 +- .../spirit/home/x3/operator/optional.hpp | 6 +- .../boost/spirit/home/x3/operator/plus.hpp | 6 +- .../spirit/home/x3/operator/sequence.hpp | 15 +- 3party/boost/boost/spirit/home/x3/string.hpp | 4 - .../x3/string/detail/no_case_string_parse.hpp | 60 + .../home/x3/string/detail/string_parse.hpp | 16 +- .../spirit/home/x3/string/detail/tst.hpp | 20 +- .../spirit/home/x3/string/literal_string.hpp | 162 +- .../boost/spirit/home/x3/string/symbols.hpp | 146 +- .../boost/boost/spirit/home/x3/string/tst.hpp | 16 +- .../boost/spirit/home/x3/string/tst_map.hpp | 12 +- .../spirit/home/x3/support/ast/variant.hpp | 29 +- .../boost/spirit/home/x3/support/context.hpp | 46 +- .../boost/spirit/home/x3/support/no_case.hpp | 102 + .../numeric_utils/detail/extract_int.hpp | 4 - .../x3/support/numeric_utils/extract_int.hpp | 4 - .../x3/support/numeric_utils/extract_real.hpp | 4 - .../home/x3/support/numeric_utils/pow10.hpp | 4 - .../home/x3/support/numeric_utils/sign.hpp | 4 - .../spirit/home/x3/support/subcontext.hpp | 10 - .../x3/support/traits/attribute_category.hpp | 4 - .../home/x3/support/traits/attribute_of.hpp | 4 - .../home/x3/support/traits/attribute_type.hpp | 4 - .../x3/support/traits/container_traits.hpp | 34 +- .../x3/support/traits/handles_container.hpp | 4 - .../home/x3/support/traits/has_attribute.hpp | 4 - .../home/x3/support/traits/is_parser.hpp | 4 - .../home/x3/support/traits/is_substitute.hpp | 4 - .../home/x3/support/traits/is_variant.hpp | 4 - .../home/x3/support/traits/make_attribute.hpp | 4 - .../spirit/home/x3/support/traits/move_to.hpp | 8 +- .../home/x3/support/traits/numeric_traits.hpp | 4 - .../x3/support/traits/optional_traits.hpp | 4 - .../x3/support/traits/print_attribute.hpp | 4 - .../home/x3/support/traits/print_token.hpp | 4 - .../home/x3/support/traits/string_traits.hpp | 4 - .../x3/support/traits/transform_attribute.hpp | 4 - .../home/x3/support/traits/tuple_traits.hpp | 4 - .../home/x3/support/traits/value_traits.hpp | 4 - .../traits/variant_find_substitute.hpp | 4 - .../support/traits/variant_has_substitute.hpp | 4 - .../boost/spirit/home/x3/support/unused.hpp | 11 +- .../support/utility/annotate_on_success.hpp | 51 + .../x3/support/utility/error_reporting.hpp | 110 +- .../x3/support/utility/integer_sequence.hpp | 94 - .../home/x3/support/utility/is_callable.hpp | 16 +- .../spirit/home/x3/support/utility/sfinae.hpp | 5 +- .../home/x3/support/utility/testing.hpp | 292 +- .../home/x3/support/utility/unrefcv.hpp | 4 - .../spirit/home/x3/support/utility/utf8.hpp | 7 +- 3party/boost/boost/spirit/home/x3/version.hpp | 19 + .../home/karma/nonterminal/subrule.hpp | 4 + .../repository/home/qi/directive/kwd.hpp | 2 +- .../home/qi/nonterminal/subrule.hpp | 4 + .../repository/home/qi/operator/keywords.hpp | 4 +- .../boost/boost/statechart/simple_state.hpp | 2 +- 3party/boost/boost/strong_typedef.hpp | 66 - 3party/boost/boost/test/auto_unit_test.hpp | 12 +- 3party/boost/boost/test/data/config.hpp | 47 + 3party/boost/boost/test/data/dataset.hpp | 18 + 3party/boost/boost/test/data/generators.hpp | 18 + 3party/boost/boost/test/data/monomorphic.hpp | 25 + .../boost/test/data/monomorphic/array.hpp | 112 + .../test/data/monomorphic/collection.hpp | 124 + .../boost/test/data/monomorphic/dataset.hpp | 173 + .../boost/boost/test/data/monomorphic/fwd.hpp | 313 + .../boost/test/data/monomorphic/generate.hpp | 115 + .../test/data/monomorphic/generators.hpp | 19 + .../data/monomorphic/generators/keywords.hpp | 39 + .../data/monomorphic/generators/random.hpp | 198 + .../data/monomorphic/generators/xrange.hpp | 221 + .../boost/test/data/monomorphic/grid.hpp | 225 + .../boost/test/data/monomorphic/join.hpp | 193 + .../boost/test/data/monomorphic/singleton.hpp | 136 + .../boost/boost/test/data/monomorphic/zip.hpp | 239 + 3party/boost/boost/test/data/size.hpp | 144 + 3party/boost/boost/test/data/test_case.hpp | 194 + 3party/boost/boost/test/debug.hpp | 111 +- 3party/boost/boost/test/debug_config.hpp | 14 +- 3party/boost/boost/test/detail/config.hpp | 39 +- .../boost/test/detail/enable_warnings.hpp | 19 +- 3party/boost/boost/test/detail/fwd_decl.hpp | 11 +- .../boost/test/detail/global_typedef.hpp | 54 +- 3party/boost/boost/test/detail/log_level.hpp | 11 +- .../boost/boost/test/detail/pp_variadic.hpp | 49 + .../boost/test/detail/suppress_warnings.hpp | 19 +- .../boost/test/detail/throw_exception.hpp | 69 + .../test/detail/unit_test_parameters.hpp | 69 - 3party/boost/boost/test/detail/workaround.hpp | 19 +- 3party/boost/boost/test/exception_safety.hpp | 187 - 3party/boost/boost/test/execution_monitor.hpp | 525 +- .../boost/test/floating_point_comparison.hpp | 284 +- 3party/boost/boost/test/framework.hpp | 236 +- .../test/impl/compiler_log_formatter.ipp | 127 +- 3party/boost/boost/test/impl/cpp_main.ipp | 41 +- 3party/boost/boost/test/impl/debug.ipp | 75 +- 3party/boost/boost/test/impl/decorator.ipp | 202 + .../boost/test/impl/exception_safety.ipp | 537 -- .../boost/test/impl/execution_monitor.ipp | 655 +- 3party/boost/boost/test/impl/framework.ipp | 1116 ++- .../boost/test/impl/interaction_based.ipp | 90 - .../boost/test/impl/logged_expectations.ipp | 246 - .../test/impl/plain_report_formatter.ipp | 111 +- .../boost/test/impl/progress_monitor.ipp | 89 +- .../boost/test/impl/results_collector.ipp | 126 +- .../boost/test/impl/results_reporter.ipp | 22 +- 3party/boost/boost/test/impl/test_main.ipp | 21 +- 3party/boost/boost/test/impl/test_tools.ipp | 527 +- 3party/boost/boost/test/impl/test_tree.ipp | 459 ++ .../boost/boost/test/impl/unit_test_log.ipp | 89 +- .../boost/boost/test/impl/unit_test_main.ipp | 330 +- .../boost/test/impl/unit_test_monitor.ipp | 42 +- .../boost/test/impl/unit_test_parameters.ipp | 375 +- .../boost/boost/test/impl/unit_test_suite.ipp | 346 - .../boost/test/impl/xml_log_formatter.ipp | 82 +- .../boost/test/impl/xml_report_formatter.ipp | 29 +- .../boost/test/included/execution_monitor.hpp | 21 + .../boost/test/included/prg_exec_monitor.hpp | 4 +- .../boost/test/included/test_exec_monitor.hpp | 13 +- .../boost/boost/test/included/unit_test.hpp | 17 +- .../test/included/unit_test_framework.hpp | 12 +- 3party/boost/boost/test/interaction_based.hpp | 262 - .../boost/boost/test/logged_expectations.hpp | 74 - 3party/boost/boost/test/minimal.hpp | 39 +- 3party/boost/boost/test/mock_object.hpp | 328 - .../test/output/compiler_log_formatter.hpp | 19 +- .../test/output/plain_report_formatter.hpp | 10 +- .../boost/test/output/xml_log_formatter.hpp | 22 +- .../test/output/xml_report_formatter.hpp | 12 +- .../boost/boost/test/output_test_stream.hpp | 76 +- .../boost/boost/test/parameterized_test.hpp | 85 +- 3party/boost/boost/test/predicate_result.hpp | 86 +- 3party/boost/boost/test/prg_exec_monitor.hpp | 35 +- 3party/boost/boost/test/progress_monitor.hpp | 42 +- 3party/boost/boost/test/results_collector.hpp | 82 +- 3party/boost/boost/test/results_reporter.hpp | 74 +- .../boost/boost/test/test_case_template.hpp | 12 +- 3party/boost/boost/test/test_exec_monitor.hpp | 33 +- 3party/boost/boost/test/test_tools.hpp | 736 +- 3party/boost/boost/test/tools/assertion.hpp | 407 ++ .../boost/test/tools/assertion_result.hpp | 90 + .../test/tools/collection_comparison_op.hpp | 374 + 3party/boost/boost/test/tools/context.hpp | 65 + .../test/tools/cstring_comparison_op.hpp | 90 + .../boost/test/tools/detail/bitwise_manip.hpp | 123 + .../test/tools/detail/expression_holder.hpp | 70 + 3party/boost/boost/test/tools/detail/fwd.hpp | 121 + .../boost/test/tools/detail/indirections.hpp | 94 + .../boost/boost/test/tools/detail/it_pair.hpp | 74 + .../test/tools/detail/lexicographic_manip.hpp | 69 + .../test/tools/detail/per_element_manip.hpp | 69 + .../boost/test/tools/detail/print_helper.hpp | 199 + .../test/tools/detail/tolerance_manip.hpp | 130 + .../test/tools/floating_point_comparison.hpp | 315 + 3party/boost/boost/test/tools/fpc_op.hpp | 223 + .../boost/boost/test/tools/fpc_tolerance.hpp | 103 + 3party/boost/boost/test/tools/interface.hpp | 376 + 3party/boost/boost/test/tools/old/impl.hpp | 358 + .../boost/boost/test/tools/old/interface.hpp | 278 + .../boost/test/tools/output_test_stream.hpp | 96 + .../boost/test/tree/auto_registration.hpp | 52 + 3party/boost/boost/test/tree/decorator.hpp | 277 + 3party/boost/boost/test/tree/fixture.hpp | 115 + .../boost/boost/test/tree/global_fixture.hpp | 67 + .../{test_observer.hpp => tree/observer.hpp} | 34 +- .../boost/test/tree/test_case_counter.hpp | 53 + .../boost/test/tree/test_case_template.hpp | 144 + 3party/boost/boost/test/tree/test_unit.hpp | 275 + 3party/boost/boost/test/tree/traverse.hpp | 58 + 3party/boost/boost/test/tree/visitor.hpp | 51 + 3party/boost/boost/test/unit_test.hpp | 20 +- 3party/boost/boost/test/unit_test_log.hpp | 47 +- .../boost/test/unit_test_log_formatter.hpp | 211 +- 3party/boost/boost/test/unit_test_monitor.hpp | 37 +- .../boost/boost/test/unit_test_parameters.hpp | 92 + 3party/boost/boost/test/unit_test_suite.hpp | 232 +- .../boost/boost/test/unit_test_suite_impl.hpp | 434 -- 3party/boost/boost/test/utils/algorithm.hpp | 61 +- 3party/boost/boost/test/utils/assign_op.hpp | 12 +- .../utils/basic_cstring/basic_cstring.hpp | 149 +- .../utils/basic_cstring/basic_cstring_fwd.hpp | 12 +- .../utils/basic_cstring/bcs_char_traits.hpp | 18 +- .../test/utils/basic_cstring/compare.hpp | 50 +- .../boost/test/utils/basic_cstring/io.hpp | 8 +- 3party/boost/boost/test/utils/callback.hpp | 310 - .../boost/test/utils/class_properties.hpp | 38 +- .../boost/boost/test/utils/custom_manip.hpp | 14 +- .../boost/boost/test/utils/fixed_mapping.hpp | 14 +- 3party/boost/boost/test/utils/foreach.hpp | 61 +- 3party/boost/boost/test/utils/is_cstring.hpp | 58 + .../boost/test/utils/is_forward_iterable.hpp | 152 + .../utils/iterator/ifstream_line_iterator.hpp | 13 +- .../utils/iterator/input_iterator_facade.hpp | 19 +- .../utils/iterator/istream_line_iterator.hpp | 14 +- .../test/utils/iterator/token_iterator.hpp | 28 +- .../boost/boost/test/utils/lazy_ostream.hpp | 74 +- .../boost/boost/test/utils/named_params.hpp | 101 +- 3party/boost/boost/test/utils/nullstream.hpp | 15 +- 3party/boost/boost/test/utils/rtti.hpp | 15 +- .../boost/test/utils/runtime/argument.hpp | 14 +- .../utils/runtime/cla/argument_factory.hpp | 62 +- .../test/utils/runtime/cla/argv_traverser.cpp | 8 +- .../test/utils/runtime/cla/argv_traverser.hpp | 24 +- .../test/utils/runtime/cla/argv_traverser.ipp | 61 +- .../utils/runtime/cla/basic_parameter.hpp | 20 +- .../test/utils/runtime/cla/char_parameter.cpp | 8 +- .../test/utils/runtime/cla/char_parameter.hpp | 28 +- .../test/utils/runtime/cla/char_parameter.ipp | 24 +- .../cla/detail/argument_value_usage.hpp | 29 +- .../utils/runtime/cla/dual_name_parameter.cpp | 8 +- .../utils/runtime/cla/dual_name_parameter.hpp | 26 +- .../utils/runtime/cla/dual_name_parameter.ipp | 32 +- .../boost/test/utils/runtime/cla/fwd.hpp | 16 +- .../test/utils/runtime/cla/id_policy.cpp | 8 +- .../test/utils/runtime/cla/id_policy.hpp | 30 +- .../test/utils/runtime/cla/id_policy.ipp | 34 +- .../runtime/cla/iface/argument_factory.hpp | 16 +- .../utils/runtime/cla/iface/id_policy.hpp | 12 +- .../boost/test/utils/runtime/cla/modifier.hpp | 16 +- .../utils/runtime/cla/named_parameter.cpp | 8 +- .../utils/runtime/cla/named_parameter.hpp | 28 +- .../utils/runtime/cla/named_parameter.ipp | 40 +- .../test/utils/runtime/cla/parameter.hpp | 29 +- .../boost/test/utils/runtime/cla/parser.cpp | 10 +- .../boost/test/utils/runtime/cla/parser.hpp | 29 +- .../boost/test/utils/runtime/cla/parser.ipp | 109 +- .../runtime/cla/positional_parameter.hpp | 26 +- .../utils/runtime/cla/typed_parameter.hpp | 24 +- .../test/utils/runtime/cla/validation.cpp | 8 +- .../test/utils/runtime/cla/validation.hpp | 28 +- .../test/utils/runtime/cla/validation.ipp | 40 +- .../utils/runtime/cla/value_generator.hpp | 16 +- .../test/utils/runtime/cla/value_handler.hpp | 16 +- .../boost/boost/test/utils/runtime/config.hpp | 66 +- .../test/utils/runtime/configuration.hpp | 14 +- .../test/utils/runtime/env/environment.cpp | 10 +- .../test/utils/runtime/env/environment.hpp | 31 +- .../test/utils/runtime/env/environment.ipp | 52 +- .../boost/test/utils/runtime/env/fwd.hpp | 21 +- .../boost/test/utils/runtime/env/modifier.hpp | 12 +- .../boost/test/utils/runtime/env/variable.hpp | 22 +- .../test/utils/runtime/file/config_file.cpp | 22 +- .../test/utils/runtime/file/config_file.hpp | 22 +- .../runtime/file/config_file_iterator.cpp | 146 +- .../runtime/file/config_file_iterator.hpp | 22 +- 3party/boost/boost/test/utils/runtime/fwd.hpp | 14 +- .../runtime/interpret_argument_value.hpp | 42 +- .../boost/test/utils/runtime/parameter.hpp | 14 +- .../boost/boost/test/utils/runtime/trace.hpp | 16 +- .../boost/test/utils/runtime/validation.hpp | 37 +- 3party/boost/boost/test/utils/setcolor.hpp | 117 + .../boost/test/utils/trivial_singleton.hpp | 33 +- .../boost/test/utils/wrap_stringstream.hpp | 16 +- 3party/boost/boost/test/utils/xml_printer.hpp | 34 +- 3party/boost/boost/thread/barrier.hpp | 8 + 3party/boost/boost/thread/caller_context.hpp | 7 +- .../concurrent_queues/deque_adaptor.hpp | 209 + .../thread/concurrent_queues/deque_base.hpp | 202 + .../thread/concurrent_queues/deque_views.hpp | 165 + .../detail/sync_deque_base.hpp | 223 + .../detail/sync_queue_base.hpp | 223 + .../concurrent_queues/queue_adaptor.hpp | 209 + .../thread/concurrent_queues/queue_base.hpp | 202 + .../concurrent_queues/queue_op_status.hpp | 46 + .../thread/concurrent_queues/queue_views.hpp | 155 + .../concurrent_queues/sync_bounded_queue.hpp | 725 ++ .../thread/concurrent_queues/sync_deque.hpp | 327 + .../concurrent_queues/sync_priority_queue.hpp | 369 + .../thread/concurrent_queues/sync_queue.hpp | 328 + .../concurrent_queues/sync_timed_queue.hpp | 466 ++ 3party/boost/boost/thread/csbl/deque.hpp | 12 +- 3party/boost/boost/thread/csbl/devector.hpp | 100 + 3party/boost/boost/thread/csbl/list.hpp | 2 +- .../thread/csbl/memory/default_delete.hpp | 88 +- .../boost/thread/csbl/memory/shared_ptr.hpp | 42 + .../boost/thread/csbl/memory/unique_ptr.hpp | 94 +- 3party/boost/boost/thread/csbl/queue.hpp | 45 + 3party/boost/boost/thread/csbl/tuple.hpp | 4 + 3party/boost/boost/thread/csbl/vector.hpp | 2 +- 3party/boost/boost/thread/detail/config.hpp | 7 +- 3party/boost/boost/thread/detail/delete.hpp | 2 +- .../boost/thread/detail/function_wrapper.hpp | 2 +- 3party/boost/boost/thread/detail/invoke.hpp | 2 - 3party/boost/boost/thread/detail/invoker.hpp | 74 +- 3party/boost/boost/thread/detail/move.hpp | 43 +- .../boost/thread/detail/nullary_function.hpp | 39 +- 3party/boost/boost/thread/detail/thread.hpp | 7 +- 3party/boost/boost/thread/detail/work.hpp | 23 - .../thread/executors/basic_thread_pool.hpp | 87 +- .../detail/priority_executor_base.hpp | 77 + .../detail/scheduled_executor_base.hpp | 66 + .../boost/boost/thread/executors/executor.hpp | 52 +- .../thread/executors/executor_adaptor.hpp | 21 +- .../thread/executors/generic_executor_ref.hpp | 211 + .../thread/executors/inline_executor.hpp | 54 +- .../boost/thread/executors/loop_executor.hpp | 58 +- .../executors/scheduled_thread_pool.hpp | 47 + .../boost/thread/executors/scheduler.hpp | 271 + .../thread/executors/scheduling_adaptor.hpp | 51 + .../thread/executors/serial_executor.hpp | 52 +- .../thread/executors/serial_executor_cont.hpp | 170 + .../thread/executors/thread_executor.hpp | 36 +- 3party/boost/boost/thread/executors/work.hpp | 11 +- .../experimental/config/inline_namespace.hpp | 23 + .../thread/experimental/exception_list.hpp | 16 + .../parallel/v1/exception_list.hpp | 70 + .../parallel/v1/inline_namespace.hpp | 28 + .../parallel/v2/inline_namespace.hpp | 29 + .../experimental/parallel/v2/task_region.hpp | 316 + .../boost/thread/experimental/task_region.hpp | 16 + 3party/boost/boost/thread/future.hpp | 2798 +++++--- .../boost/thread/futures/future_error.hpp | 98 + .../{ => futures}/future_error_code.hpp | 6 +- .../boost/thread/futures/future_status.hpp | 30 + .../boost/thread/futures/is_future_type.hpp | 21 + 3party/boost/boost/thread/futures/launch.hpp | 30 + .../boost/thread/futures/wait_for_all.hpp | 74 + .../boost/thread/futures/wait_for_any.hpp | 161 + 3party/boost/boost/thread/latch.hpp | 4 +- .../thread/pthread/condition_variable.hpp | 2 +- 3party/boost/boost/thread/pthread/mutex.hpp | 28 +- .../boost/thread/pthread/recursive_mutex.hpp | 19 +- .../boost/thread/pthread/thread_data.hpp | 13 +- .../boost/boost/thread/sync_bounded_queue.hpp | 721 +- 3party/boost/boost/thread/sync_queue.hpp | 649 +- 3party/boost/boost/thread/tss.hpp | 16 +- 3party/boost/boost/thread/user_scheduler.hpp | 16 +- .../boost/thread/win32/basic_timed_mutex.hpp | 13 +- .../boost/thread/win32/condition_variable.hpp | 2 +- .../boost/thread/win32/interlocked_read.hpp | 9 +- 3party/boost/boost/thread/win32/once.hpp | 89 +- .../boost/boost/thread/win32/shared_mutex.hpp | 27 +- .../boost/boost/thread/win32/thread_data.hpp | 29 +- .../boost/thread/win32/thread_primitives.hpp | 214 +- 3party/boost/boost/thread/with_lock_guard.hpp | 5 +- 3party/boost/boost/token_functions.hpp | 5 +- 3party/boost/boost/token_iterator.hpp | 12 +- 3party/boost/boost/type_erasure/callable.hpp | 5 +- .../boost/type_erasure/constructible.hpp | 5 +- .../type_erasure/detail/adapt_to_vtable.hpp | 5 +- .../boost/type_erasure/detail/storage.hpp | 4 + 3party/boost/boost/type_erasure/exception.hpp | 1 + 3party/boost/boost/type_erasure/free.hpp | 6 +- 3party/boost/boost/type_erasure/member.hpp | 5 +- 3party/boost/boost/type_index.hpp | 15 +- .../boost/type_index/ctti_type_index.hpp | 12 +- .../detail/compile_time_type_info.hpp | 15 +- .../boost/boost/type_index/stl_type_index.hpp | 112 +- .../boost/type_index/type_index_facade.hpp | 16 +- 3party/boost/boost/type_traits.hpp | 1 + .../boost/type_traits/has_post_decrement.hpp | 6 +- .../boost/type_traits/has_post_increment.hpp | 6 +- .../boost/type_traits/has_pre_decrement.hpp | 6 +- .../boost/type_traits/has_pre_increment.hpp | 6 +- .../boost/type_traits/has_trivial_copy.hpp | 18 + 3party/boost/boost/type_traits/intrinsics.hpp | 57 +- .../boost/type_traits/is_copy_assignable.hpp | 147 + .../type_traits/is_copy_constructible.hpp | 5 +- 3party/boost/boost/type_traits/is_final.hpp | 41 + .../is_nothrow_move_assignable.hpp | 41 +- .../is_nothrow_move_constructible.hpp | 48 +- .../boost/type_traits/is_virtual_base_of.hpp | 15 + .../boost/type_traits/type_with_alignment.hpp | 2 +- .../units/base_units/information/bit.hpp | 41 + .../units/base_units/information/byte.hpp | 36 + .../units/base_units/information/hartley.hpp | 30 + .../units/base_units/information/nat.hpp | 30 + .../units/base_units/information/shannon.hpp | 36 + 3party/boost/boost/units/config.hpp | 9 +- .../boost/units/detail/linear_algebra.hpp | 2 +- 3party/boost/boost/units/detail/utility.hpp | 75 +- 3party/boost/boost/units/io.hpp | 4 +- 3party/boost/boost/units/limits.hpp | 7 + .../units/physical_dimensions/information.hpp | 44 + 3party/boost/boost/units/quantity.hpp | 2 +- 3party/boost/boost/units/scale.hpp | 4 +- 3party/boost/boost/units/scaled_base_unit.hpp | 20 +- 3party/boost/boost/units/static_rational.hpp | 6 +- .../boost/boost/units/systems/information.hpp | 20 + .../boost/units/systems/information/bit.hpp | 33 + .../boost/units/systems/information/byte.hpp | 45 + .../units/systems/information/hartley.hpp | 33 + .../boost/units/systems/information/nat.hpp | 33 + .../units/systems/information/prefixes.hpp | 45 + .../units/systems/information/shannon.hpp | 33 + .../systems/si/codata/alpha_constants.hpp | 1 + .../systems/si/codata/deuteron_constants.hpp | 1 + .../si/codata/electromagnetic_constants.hpp | 1 + .../systems/si/codata/electron_constants.hpp | 1 + .../systems/si/codata/helion_constants.hpp | 1 + .../systems/si/codata/muon_constants.hpp | 1 + .../systems/si/codata/neutron_constants.hpp | 1 + .../si/codata/physico-chemical_constants.hpp | 1 + .../systems/si/codata/proton_constants.hpp | 1 + .../units/systems/si/codata/tau_constants.hpp | 1 + .../systems/si/codata/triton_constants.hpp | 1 + .../systems/si/codata/universal_constants.hpp | 1 + 3party/boost/boost/units/units_fwd.hpp | 2 +- .../boost/boost/unordered/detail/buckets.hpp | 38 +- 3party/boost/boost/unordered/detail/table.hpp | 38 +- 3party/boost/boost/uuid/detail/uuid_x86.hpp | 18 +- 3party/boost/boost/uuid/seed_rng.hpp | 128 +- .../variant/detail/apply_visitor_binary.hpp | 108 +- .../variant/detail/apply_visitor_delayed.hpp | 65 +- .../variant/detail/apply_visitor_unary.hpp | 100 +- .../boost/variant/detail/element_index.hpp | 63 + .../boost/variant/detail/has_result_type.hpp | 36 + 3party/boost/boost/variant/detail/move.hpp | 22 +- .../detail/multivisitors_cpp11_based.hpp | 182 + .../detail/multivisitors_cpp14_based.hpp | 141 + .../multivisitors_preprocessor_based.hpp | 142 + .../boost/boost/variant/detail/substitute.hpp | 1 + .../boost/variant/detail/visitation_impl.hpp | 1 + 3party/boost/boost/variant/get.hpp | 167 +- 3party/boost/boost/variant/multivisitors.hpp | 131 +- .../boost/boost/variant/polymorphic_get.hpp | 206 +- .../boost/variant/recursive_wrapper_fwd.hpp | 18 +- 3party/boost/boost/variant/static_visitor.hpp | 19 +- 3party/boost/boost/variant/variant.hpp | 109 +- 3party/boost/boost/variant/variant_fwd.hpp | 6 +- 3party/boost/boost/version.hpp | 12 +- 3party/boost/boost/wave/cpp_exceptions.hpp | 2 +- .../boost/libs/filesystem/src/operations.cpp | 366 +- 3party/boost/libs/filesystem/src/path.cpp | 83 +- 3625 files changed, 129290 insertions(+), 139372 deletions(-) create mode 100644 3party/boost/boost/algorithm/algorithm.hpp create mode 100644 3party/boost/boost/align/assume_aligned.hpp create mode 100644 3party/boost/boost/align/detail/assume_aligned.hpp create mode 100644 3party/boost/boost/align/detail/assume_aligned_clang.hpp create mode 100644 3party/boost/boost/align/detail/assume_aligned_gcc.hpp create mode 100644 3party/boost/boost/align/detail/assume_aligned_intel.hpp create mode 100644 3party/boost/boost/align/detail/assume_aligned_msvc.hpp create mode 100644 3party/boost/boost/align/detail/integral_constant.hpp delete mode 100644 3party/boost/boost/align/detail/is_alignment_const.hpp create mode 100644 3party/boost/boost/align/detail/is_alignment_constant.hpp create mode 100644 3party/boost/boost/align/detail/offset_object.hpp delete mode 100644 3party/boost/boost/align/detail/padded.hpp create mode 100644 3party/boost/boost/align/detail/remove_traits.hpp delete mode 100644 3party/boost/boost/align/detail/type_traits.hpp delete mode 100644 3party/boost/boost/archive/detail/basic_archive_impl.hpp delete mode 100644 3party/boost/boost/archive/detail/basic_config.hpp delete mode 100644 3party/boost/boost/archive/shared_ptr_helper.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/container_adaptor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/detail/functor_bag.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/detail/identity_converters.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/detail/key_extractor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/list_adaptor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/multiset_adaptor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/set_adaptor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/container_adaptor/unordered_set_adaptor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/concept_tags.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/debug/static_error.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/generate_index_binder.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/generate_relation_binder.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/generate_view_binder.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/is_set_type_of.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/manage_additional_parameters.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/manage_bimap_key.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/modifier_adaptor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/non_unique_views_helper.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/test/check_metadata.hpp mode change 100755 => 100644 3party/boost/boost/bimap/detail/user_interface_config.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/detail/access_builder.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/detail/metadata_access_builder.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/detail/static_access_builder.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/detail/to_mutable_relation_functor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/member_at.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/pair_layout.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/support/get.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/support/get_pair_functor.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/support/is_tag_of_member_at.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/support/member_with_tag.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/support/opposite_tag.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/support/pair_by.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/support/pair_type_by.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/support/value_type_of.hpp mode change 100755 => 100644 3party/boost/boost/bimap/relation/symmetrical_base.hpp mode change 100755 => 100644 3party/boost/boost/bimap/support/data_type_by.hpp mode change 100755 => 100644 3party/boost/boost/bimap/support/key_type_by.hpp mode change 100755 => 100644 3party/boost/boost/bimap/support/lambda.hpp mode change 100755 => 100644 3party/boost/boost/bimap/support/map_by.hpp mode change 100755 => 100644 3party/boost/boost/bimap/support/map_type_by.hpp mode change 100755 => 100644 3party/boost/boost/bimap/support/value_type_by.hpp mode change 100755 => 100644 3party/boost/boost/bimap/tags/support/apply_to_value_type.hpp mode change 100755 => 100644 3party/boost/boost/bimap/tags/support/default_tagged.hpp mode change 100755 => 100644 3party/boost/boost/bimap/tags/support/is_tagged.hpp mode change 100755 => 100644 3party/boost/boost/bimap/tags/support/overwrite_tagged.hpp mode change 100755 => 100644 3party/boost/boost/bimap/tags/support/tag_of.hpp mode change 100755 => 100644 3party/boost/boost/bimap/tags/support/value_type_of.hpp mode change 100755 => 100644 3party/boost/boost/bimap/tags/tagged.hpp mode change 100755 => 100644 3party/boost/boost/bimap/views/multiset_view.hpp mode change 100755 => 100644 3party/boost/boost/bimap/views/set_view.hpp mode change 100755 => 100644 3party/boost/boost/bimap/views/unordered_multiset_view.hpp mode change 100755 => 100644 3party/boost/boost/bimap/views/unordered_set_view.hpp mode change 100755 => 100644 3party/boost/boost/concept/detail/concept_undef.hpp mode change 100755 => 100644 3party/boost/boost/concept_check/borland.hpp mode change 100755 => 100644 3party/boost/boost/concept_check/general.hpp mode change 100755 => 100644 3party/boost/boost/concept_check/has_constraints.hpp mode change 100755 => 100644 3party/boost/boost/concept_check/msvc.hpp create mode 100644 3party/boost/boost/config/compiler/xlcpp.hpp create mode 100644 3party/boost/boost/config/platform/haiku.hpp create mode 100644 3party/boost/boost/container/detail/addressof.hpp create mode 100644 3party/boost/boost/container/detail/algorithm.hpp delete mode 100644 3party/boost/boost/container/detail/algorithms.hpp create mode 100644 3party/boost/boost/container/detail/alloc_helpers.hpp create mode 100644 3party/boost/boost/container/detail/compare_functors.hpp create mode 100644 3party/boost/boost/container/detail/construct_in_place.hpp rename 3party/boost/boost/container/detail/{utilities.hpp => copy_move_algo.hpp} (58%) create mode 100644 3party/boost/boost/container/detail/iterator.hpp create mode 100644 3party/boost/boost/container/detail/iterator_to_raw_pointer.hpp delete mode 100644 3party/boost/boost/container/detail/memory_util.hpp create mode 100644 3party/boost/boost/container/detail/min_max.hpp create mode 100644 3party/boost/boost/container/detail/minimal_char_traits_header.hpp create mode 100644 3party/boost/boost/container/detail/next_capacity.hpp create mode 100644 3party/boost/boost/container/detail/placement_new.hpp delete mode 100644 3party/boost/boost/container/detail/preprocessor.hpp create mode 100644 3party/boost/boost/container/detail/std_fwd.hpp create mode 100644 3party/boost/boost/container/detail/to_raw_pointer.hpp create mode 100644 3party/boost/boost/container/new_allocator.hpp create mode 100644 3party/boost/boost/container/small_vector.hpp create mode 100644 3party/boost/boost/context/detail/invoke.hpp create mode 100644 3party/boost/boost/context/execution_context.hpp create mode 100644 3party/boost/boost/context/execution_context.ipp create mode 100644 3party/boost/boost/context/execution_context_winfib.ipp create mode 100644 3party/boost/boost/context/fixedsize_stack.hpp create mode 100644 3party/boost/boost/context/posix/protected_fixedsize_stack.hpp create mode 100644 3party/boost/boost/context/posix/segmented_stack.hpp create mode 100644 3party/boost/boost/context/protected_fixedsize_stack.hpp create mode 100644 3party/boost/boost/context/segmented_stack.hpp create mode 100644 3party/boost/boost/context/stack_context.hpp create mode 100644 3party/boost/boost/context/stack_traits.hpp create mode 100644 3party/boost/boost/context/windows/protected_fixedsize_stack.hpp create mode 100644 3party/boost/boost/convert.hpp create mode 100644 3party/boost/boost/convert/base.hpp create mode 100644 3party/boost/boost/convert/detail/boost_parameter_ext.hpp create mode 100644 3party/boost/boost/convert/detail/char.hpp create mode 100644 3party/boost/boost/convert/detail/forward.hpp create mode 100644 3party/boost/boost/convert/detail/has_member.hpp create mode 100644 3party/boost/boost/convert/detail/is_callable.hpp create mode 100644 3party/boost/boost/convert/detail/is_converter.hpp create mode 100644 3party/boost/boost/convert/detail/is_fun.hpp create mode 100644 3party/boost/boost/convert/detail/is_string.hpp create mode 100644 3party/boost/boost/convert/detail/range.hpp create mode 100644 3party/boost/boost/convert/lexical_cast.hpp create mode 100644 3party/boost/boost/convert/parameters.hpp create mode 100644 3party/boost/boost/convert/printf.hpp create mode 100644 3party/boost/boost/convert/spirit.hpp create mode 100644 3party/boost/boost/convert/stream.hpp create mode 100644 3party/boost/boost/convert/strtol.hpp create mode 100644 3party/boost/boost/coroutine/detail/preallocated.hpp create mode 100644 3party/boost/boost/coroutine2/all.hpp create mode 100644 3party/boost/boost/coroutine2/coroutine.hpp create mode 100644 3party/boost/boost/coroutine2/detail/config.hpp create mode 100644 3party/boost/boost/coroutine2/detail/coroutine.hpp create mode 100644 3party/boost/boost/coroutine2/detail/forced_unwind.hpp create mode 100644 3party/boost/boost/coroutine2/detail/pull_control_block.hpp create mode 100644 3party/boost/boost/coroutine2/detail/pull_control_block.ipp create mode 100644 3party/boost/boost/coroutine2/detail/pull_coroutine.hpp create mode 100644 3party/boost/boost/coroutine2/detail/pull_coroutine.ipp create mode 100644 3party/boost/boost/coroutine2/detail/push_control_block.hpp create mode 100644 3party/boost/boost/coroutine2/detail/push_control_block.ipp create mode 100644 3party/boost/boost/coroutine2/detail/push_coroutine.hpp create mode 100644 3party/boost/boost/coroutine2/detail/push_coroutine.ipp create mode 100644 3party/boost/boost/coroutine2/detail/state.hpp create mode 100644 3party/boost/boost/coroutine2/fixedsize_stack.hpp create mode 100644 3party/boost/boost/coroutine2/protected_fixedsize_stack.hpp create mode 100644 3party/boost/boost/coroutine2/segmented_stack.hpp create mode 100644 3party/boost/boost/cxx11_char_types.hpp create mode 100644 3party/boost/boost/detail/lightweight_test_report.hpp create mode 100644 3party/boost/boost/detail/winapi/crypt.hpp create mode 100644 3party/boost/boost/endian/arithmetic.hpp create mode 100644 3party/boost/boost/endian/buffers.hpp create mode 100644 3party/boost/boost/endian/conversion.hpp create mode 100644 3party/boost/boost/endian/detail/config.hpp create mode 100644 3party/boost/boost/endian/detail/cover_operators.hpp create mode 100644 3party/boost/boost/endian/detail/disable_warnings.hpp create mode 100644 3party/boost/boost/endian/detail/disable_warnings_pop.hpp create mode 100644 3party/boost/boost/endian/detail/intrinsic.hpp create mode 100644 3party/boost/boost/endian/detail/lightweight_test.hpp create mode 100644 3party/boost/boost/endian/endian.hpp create mode 100644 3party/boost/boost/endian/std_pair.hpp create mode 100644 3party/boost/boost/flyweight/detail/archive_constructed.hpp create mode 100644 3party/boost/boost/flyweight/detail/serialization_helper.hpp create mode 100644 3party/boost/boost/flyweight/serialize.hpp create mode 100644 3party/boost/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp create mode 100644 3party/boost/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp create mode 100644 3party/boost/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp create mode 100644 3party/boost/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp create mode 100644 3party/boost/boost/fusion/adapted/boost_tuple/mpl/clear.hpp create mode 100644 3party/boost/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp create mode 100644 3party/boost/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp create mode 100644 3party/boost/boost/fusion/adapted/std_tuple/mpl/clear.hpp rename 3party/boost/boost/fusion/{include/adapt_assoc_class_named.hpp => adapted/struct/detail/adapt_auto.hpp} (55%) create mode 100644 3party/boost/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp create mode 100644 3party/boost/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp rename 3party/boost/boost/{spirit/home/x3/extensions.hpp => fusion/adapted/struct/detail/adapt_is_tpl.hpp} (50%) create mode 100644 3party/boost/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp create mode 100644 3party/boost/boost/fusion/container/generation/detail/pp_list_tie.hpp create mode 100644 3party/boost/boost/fusion/container/generation/detail/pp_make_list.hpp create mode 100644 3party/boost/boost/fusion/container/generation/detail/pp_make_set.hpp create mode 100644 3party/boost/boost/fusion/container/generation/detail/pp_make_vector.hpp create mode 100644 3party/boost/boost/fusion/container/generation/detail/pp_vector_tie.hpp rename 3party/boost/boost/fusion/container/list/{ => detail/cpp03}/limits.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/list.hpp rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/list_forward_ctor.hpp (88%) create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/list_fwd.hpp create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/list_to_cons_call.hpp (84%) rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/preprocessed/list.hpp (63%) create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/preprocessed/list10_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/preprocessed/list20_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/preprocessed/list30_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/preprocessed/list40_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/preprocessed/list50_fwd.hpp (100%) rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/preprocessed/list_fwd.hpp (62%) rename 3party/boost/boost/fusion/container/list/detail/{ => cpp03}/preprocessed/list_to_cons.hpp (60%) create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp create mode 100644 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list10.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list20.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list30.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list40.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list50.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons10.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons20.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons30.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons40.hpp delete mode 100644 3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons50.hpp create mode 100644 3party/boost/boost/fusion/container/set/detail/cpp03/as_set.hpp rename 3party/boost/boost/fusion/container/set/{ => detail/cpp03}/limits.hpp (93%) rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/as_set.hpp (62%) rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/as_set10.hpp (95%) rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/as_set20.hpp (97%) rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/as_set30.hpp (98%) rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/as_set40.hpp (98%) rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/as_set50.hpp (98%) rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/set.hpp (63%) create mode 100644 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/set10_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/set20_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/set30_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/set40_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/set50_fwd.hpp (100%) rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/preprocessed/set_fwd.hpp (62%) create mode 100644 3party/boost/boost/fusion/container/set/detail/cpp03/set.hpp rename 3party/boost/boost/fusion/container/set/detail/{ => cpp03}/set_forward_ctor.hpp (83%) create mode 100644 3party/boost/boost/fusion/container/set/detail/cpp03/set_fwd.hpp delete mode 100644 3party/boost/boost/fusion/container/set/detail/preprocessed/set10.hpp delete mode 100644 3party/boost/boost/fusion/container/set/detail/preprocessed/set20.hpp delete mode 100644 3party/boost/boost/fusion/container/set/detail/preprocessed/set30.hpp delete mode 100644 3party/boost/boost/fusion/container/set/detail/preprocessed/set40.hpp delete mode 100644 3party/boost/boost/fusion/container/set/detail/preprocessed/set50.hpp create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/as_vector.hpp rename 3party/boost/boost/fusion/container/vector/{ => detail/cpp03}/limits.hpp (100%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/as_vector.hpp (61%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/as_vector10.hpp (95%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/as_vector20.hpp (97%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/as_vector30.hpp (98%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/as_vector40.hpp (98%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/as_vector50.hpp (98%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector.hpp (62%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector10.hpp (58%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector10_fwd.hpp (99%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector20.hpp (54%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector20_fwd.hpp (99%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector30.hpp (53%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector30_fwd.hpp (99%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector40.hpp (52%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector40_fwd.hpp (99%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector50.hpp (52%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector50_fwd.hpp (99%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector_chooser.hpp (60%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector_chooser10.hpp (100%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector_chooser20.hpp (100%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector_chooser30.hpp (100%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector_chooser40.hpp (100%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector_chooser50.hpp (100%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vector_fwd.hpp (61%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vvector10_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vvector20_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vvector30_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vvector40_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/preprocessed/vvector50_fwd.hpp (100%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/vector.hpp create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/vector10.hpp rename 3party/boost/boost/fusion/container/vector/{ => detail/cpp03}/vector10_fwd.hpp (88%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/vector20.hpp rename 3party/boost/boost/fusion/container/vector/{ => detail/cpp03}/vector20_fwd.hpp (87%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/vector30.hpp rename 3party/boost/boost/fusion/container/vector/{ => detail/cpp03}/vector30_fwd.hpp (87%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/vector40.hpp rename 3party/boost/boost/fusion/container/vector/{ => detail/cpp03}/vector40_fwd.hpp (87%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/vector50.hpp rename 3party/boost/boost/fusion/container/vector/{ => detail/cpp03}/vector50_fwd.hpp (87%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/vector_forward_ctor.hpp (65%) create mode 100644 3party/boost/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/vector_n.hpp (70%) rename 3party/boost/boost/fusion/container/vector/detail/{ => cpp03}/vector_n_chooser.hpp (85%) delete mode 100644 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp delete mode 100644 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp delete mode 100644 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp delete mode 100644 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp delete mode 100644 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp create mode 100644 3party/boost/boost/fusion/include/hash.hpp rename 3party/boost/boost/fusion/include/{adapt_assoc_class.hpp => std_tuple.hpp} (64%) create mode 100644 3party/boost/boost/fusion/sequence/hash.hpp create mode 100644 3party/boost/boost/fusion/support/detail/enabler.hpp create mode 100644 3party/boost/boost/fusion/support/detail/index_sequence.hpp create mode 100644 3party/boost/boost/fusion/support/detail/result_of.hpp create mode 100644 3party/boost/boost/fusion/tuple/detail/make_tuple.hpp create mode 100644 3party/boost/boost/fusion/tuple/detail/tuple.hpp create mode 100644 3party/boost/boost/fusion/tuple/detail/tuple_fwd.hpp create mode 100644 3party/boost/boost/fusion/tuple/detail/tuple_tie.hpp create mode 100644 3party/boost/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp create mode 100644 3party/boost/boost/geometry/algorithms/detail/envelope/initialize.hpp create mode 100644 3party/boost/boost/geometry/algorithms/detail/envelope/linear.hpp delete mode 100644 3party/boost/boost/geometry/algorithms/detail/envelope/linestring.hpp delete mode 100644 3party/boost/boost/geometry/algorithms/detail/envelope/multilinestring.hpp create mode 100644 3party/boost/boost/geometry/algorithms/detail/envelope/transform_units.hpp create mode 100644 3party/boost/boost/geometry/algorithms/detail/result_inverse.hpp rename 3party/boost/boost/geometry/algorithms/detail/{signed_index_type.hpp => signed_size_type.hpp} (59%) delete mode 100644 3party/boost/boost/geometry/extensions/algebra/algebra.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/algorithms/assign.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/algorithms/clear.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/algorithms/convert.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/algorithms/detail.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/algorithms/reverse.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/algorithms/rotation.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/algorithms/transform_geometrically.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/algorithms/translation.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/core/access.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/core/coordinate_dimension.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/core/coordinate_system.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/core/coordinate_type.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/core/tags.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/concepts/check.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/concepts/matrix_concept.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/concepts/quaternion_concept.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/concepts/rotation_matrix_concept.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/concepts/rotation_quaternion_concept.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/concepts/vector_concept.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/matrix.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/quaternion.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/rotation_matrix.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/rotation_quaternion.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algebra/geometries/vector.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/connect.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/detail/overlay/dissolver.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/detail/overlay/split_rings.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/dissolve.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/distance_info.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/midpoints.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/offset.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/offset_appender.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/parse.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/point_on_line.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/remove_holes_if.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/remove_marked.hpp delete mode 100644 3party/boost/boost/geometry/extensions/algorithms/selected.hpp delete mode 100644 3party/boost/boost/geometry/extensions/arithmetic/cross_product.hpp delete mode 100644 3party/boost/boost/geometry/extensions/astronomy/core/cs.hpp delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmath.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathbig.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathint.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathmisc.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathobjects.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathparser.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmaththreads.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathtypes.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_noasm.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86_64.h delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86_64_msvc.asm delete mode 100644 3party/boost/boost/geometry/extensions/contrib/ttmath_stub.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/geographic/core/cs.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/geographic/strategies/area_huiller_earth.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/geographic/strategies/distance_cross_track.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/geographic/strategies/dms_parser.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/shapelib/dbf_write_attribute.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/shapelib/shape_creator.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/shapelib/shape_reader.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_create_object.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_create_object_multi.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_read_object.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/veshape/write_veshape.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/wkb/detail/endian.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/wkb/detail/ogc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/wkb/detail/parser.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/wkb/detail/writer.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/wkb/read_wkb.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/wkb/utility.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/io/wkb/write_wkb.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/latlong/detail/graticule.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/latlong/latlong.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/latlong/point_ll.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/epsg.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/epsg_traits.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/factory.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/aasincos.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/adjlon.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/base_dynamic.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/base_static.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/factory_entry.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/function_overloads.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_auth.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_datum_set.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_datums.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_ell_set.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_ellps.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_fwd.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_gauss.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_init.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_inv.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_mlfn.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_msfn.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_param.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_phi2.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_qsfn.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_tsfn.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_units.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/pj_zpoly1.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/proj_mdist.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/impl/projects.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/new_projection.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/parameters.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/aea.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/aeqd.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/airy.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/aitoff.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/august.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/bacon.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/bipc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/boggs.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/bonne.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/cass.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/cc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/cea.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/chamb.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/collg.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/crast.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/denoy.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/eck1.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/eck2.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/eck3.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/eck4.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/eck5.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/eqc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/eqdc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/etmerc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/fahey.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/fouc_s.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/gall.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/geocent.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/geos.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/gins8.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/gn_sinu.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/gnom.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/goode.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/gstmerc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/hammer.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/hatano.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/healpix.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/igh.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/imw_p.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/isea.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/krovak.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/labrd.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/laea.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/lagrng.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/larr.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/lask.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/latlong.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/lcc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/lcca.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/loxim.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/lsat.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/mbt_fps.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/mbtfpp.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/mbtfpq.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/merc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/mill.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/mod_ster.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/moll.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/natearth.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/nell.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/nell_h.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/nocol.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/nsper.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/nzmg.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/ob_tran.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/ocea.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/oea.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/omerc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/ortho.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/poly.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/putp2.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/putp3.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/putp4p.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/putp5.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/putp6.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/qsc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/robin.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/rouss.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/rpoly.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/sconics.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/somerc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/stere.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/sterea.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/sts.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/tcc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/tcea.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/tmerc.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/tpeqd.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/urm5.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/urmfps.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/vandg.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/vandg2.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/vandg4.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/wag2.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/wag3.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/wag7.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/wink1.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/proj/wink2.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/project_inverse_transformer.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/project_transformer.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/projection.hpp delete mode 100644 3party/boost/boost/geometry/extensions/gis/projections/projection_point_type.hpp delete mode 100644 3party/boost/boost/geometry/extensions/index/rtree/helpers.hpp delete mode 100644 3party/boost/boost/geometry/extensions/index/rtree/rtree.hpp delete mode 100644 3party/boost/boost/geometry/extensions/index/rtree/rtree_leaf.hpp delete mode 100644 3party/boost/boost/geometry/extensions/index/rtree/rtree_node.hpp delete mode 100644 3party/boost/boost/geometry/extensions/iterators/circular_iterator.hpp delete mode 100644 3party/boost/boost/geometry/extensions/iterators/section_iterators.hpp delete mode 100644 3party/boost/boost/geometry/extensions/iterators/segment_returning_iterator.hpp delete mode 100644 3party/boost/boost/geometry/extensions/multi/algorithms/dissolve.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/append.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/area.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/assign.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/centroid.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/clear.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/covered_by.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/disjoint.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/envelope.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/equals.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/expand.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/num_points.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/algorithms/within.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/core/access.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/core/geometry_id.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/core/radius.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/core/replace_point_type.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/core/tags.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/core/topological_dimension.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/geometries/concepts/check.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/geometries/concepts/nsphere_concept.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/geometries/nsphere.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/index/detail/algorithms/bounds.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/index/detail/algorithms/comparable_distance_near.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/index/detail/algorithms/content.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/index/detail/algorithms/is_valid.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/index/detail/algorithms/margin.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/index/detail/indexable.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/index/detail/rtree/linear/redistribute_elements.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/index/detail/rtree/rstar/redistribute_elements.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/index/indexable.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/nsphere.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/strategies/cartesian/nsphere_in_box.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/strategies/cartesian/point_in_nsphere.hpp delete mode 100644 3party/boost/boost/geometry/extensions/nsphere/views/center_view.hpp delete mode 100644 3party/boost/boost/geometry/extensions/strategies/cartesian/distance_info.hpp delete mode 100644 3party/boost/boost/geometry/extensions/strategies/parse.hpp delete mode 100644 3party/boost/boost/geometry/extensions/util/get_cs_as_radian.hpp delete mode 100644 3party/boost/boost/geometry/extensions/util/replace_point_type.hpp delete mode 100644 3party/boost/boost/geometry/extensions/views/enveloped_view.hpp delete mode 100644 3party/boost/boost/geometry/extensions/views/section_view.hpp create mode 100644 3party/boost/boost/geometry/views/detail/boundary_view.hpp create mode 100644 3party/boost/boost/geometry/views/detail/boundary_view/implementation.hpp create mode 100644 3party/boost/boost/geometry/views/detail/boundary_view/interface.hpp create mode 100644 3party/boost/boost/geometry/views/detail/two_dimensional_view.hpp create mode 100644 3party/boost/boost/integer/common_factor.hpp create mode 100644 3party/boost/boost/integer/common_factor_ct.hpp create mode 100644 3party/boost/boost/integer/common_factor_rt.hpp delete mode 100644 3party/boost/boost/interprocess/detail/multi_segment_services.hpp create mode 100644 3party/boost/boost/interprocess/detail/nothrow.hpp delete mode 100644 3party/boost/boost/interprocess/detail/preprocessor.hpp create mode 100644 3party/boost/boost/interprocess/detail/simple_swap.hpp create mode 100644 3party/boost/boost/interprocess/detail/std_fwd.hpp delete mode 100644 3party/boost/boost/interprocess/detail/xsi_shared_memory_device.hpp delete mode 100644 3party/boost/boost/interprocess/mem_algo/detail/multi_simple_seq_fit.hpp delete mode 100644 3party/boost/boost/interprocess/mem_algo/detail/multi_simple_seq_fit_impl.hpp delete mode 100644 3party/boost/boost/interprocess/sync/xsi/advanced_xsi_semaphore.hpp delete mode 100644 3party/boost/boost/interprocess/sync/xsi/simple_xsi_semaphore.hpp delete mode 100644 3party/boost/boost/interprocess/sync/xsi/xsi_named_mutex.hpp create mode 100644 3party/boost/boost/intrusive/detail/algo_type.hpp create mode 100644 3party/boost/boost/intrusive/detail/algorithm.hpp create mode 100644 3party/boost/boost/intrusive/detail/array_initializer.hpp create mode 100644 3party/boost/boost/intrusive/detail/bstree_algorithms_base.hpp create mode 100644 3party/boost/boost/intrusive/detail/default_header_holder.hpp create mode 100644 3party/boost/boost/intrusive/detail/empty_node_checker.hpp create mode 100644 3party/boost/boost/intrusive/detail/equal_to_value.hpp create mode 100644 3party/boost/boost/intrusive/detail/exception_disposer.hpp create mode 100644 3party/boost/boost/intrusive/detail/get_value_traits.hpp create mode 100644 3party/boost/boost/intrusive/detail/hook_traits.hpp create mode 100644 3party/boost/boost/intrusive/detail/iiterator.hpp create mode 100644 3party/boost/boost/intrusive/detail/iterator.hpp create mode 100644 3party/boost/boost/intrusive/detail/key_nodeptr_comp.hpp create mode 100644 3party/boost/boost/intrusive/detail/list_iterator.hpp create mode 100644 3party/boost/boost/intrusive/detail/math.hpp delete mode 100644 3party/boost/boost/intrusive/detail/memory_util.hpp create mode 100644 3party/boost/boost/intrusive/detail/minimal_less_equal_header.hpp create mode 100644 3party/boost/boost/intrusive/detail/minimal_pair_header.hpp create mode 100644 3party/boost/boost/intrusive/detail/node_cloner_disposer.hpp create mode 100644 3party/boost/boost/intrusive/detail/node_holder.hpp create mode 100644 3party/boost/boost/intrusive/detail/node_to_value.hpp create mode 100644 3party/boost/boost/intrusive/detail/pointer_element.hpp delete mode 100644 3party/boost/boost/intrusive/detail/preprocessor.hpp create mode 100644 3party/boost/boost/intrusive/detail/reverse_iterator.hpp create mode 100644 3party/boost/boost/intrusive/detail/simple_disposers.hpp create mode 100644 3party/boost/boost/intrusive/detail/size_holder.hpp create mode 100644 3party/boost/boost/intrusive/detail/slist_iterator.hpp create mode 100644 3party/boost/boost/intrusive/detail/std_fwd.hpp create mode 100644 3party/boost/boost/intrusive/detail/to_raw_pointer.hpp create mode 100644 3party/boost/boost/intrusive/detail/tree_iterator.hpp create mode 100644 3party/boost/boost/intrusive/detail/tree_value_compare.hpp create mode 100644 3party/boost/boost/intrusive/detail/uncast.hpp delete mode 100644 3party/boost/boost/intrusive/detail/utilities.hpp create mode 100644 3party/boost/boost/intrusive/pointer_rebind.hpp mode change 100755 => 100644 3party/boost/boost/iterator/detail/any_conversion_eater.hpp mode change 100755 => 100644 3party/boost/boost/iterator/detail/minimum_category.hpp delete mode 100644 3party/boost/boost/iterator/detail/operator_brackets_dispatch.hpp mode change 100755 => 100644 3party/boost/boost/iterator/is_lvalue_iterator.hpp mode change 100755 => 100644 3party/boost/boost/iterator/is_readable_iterator.hpp create mode 100644 3party/boost/boost/iterator/minimum_category.hpp create mode 100644 3party/boost/boost/lexical_cast/bad_lexical_cast.hpp create mode 100644 3party/boost/boost/lexical_cast/detail/converter_lexical.hpp create mode 100644 3party/boost/boost/lexical_cast/detail/converter_lexical_streams.hpp create mode 100644 3party/boost/boost/lexical_cast/detail/converter_numeric.hpp create mode 100644 3party/boost/boost/lexical_cast/detail/inf_nan.hpp create mode 100644 3party/boost/boost/lexical_cast/detail/is_character.hpp create mode 100644 3party/boost/boost/lexical_cast/detail/lcast_char_constants.hpp create mode 100644 3party/boost/boost/lexical_cast/detail/lcast_unsigned_converters.hpp create mode 100644 3party/boost/boost/lexical_cast/detail/widest_char.hpp create mode 100644 3party/boost/boost/lexical_cast/lexical_cast_old.hpp create mode 100644 3party/boost/boost/lexical_cast/try_lexical_convert.hpp create mode 100644 3party/boost/boost/log/detail/is_character_type.hpp rename 3party/boost/boost/log/detail/{visible_type.hpp => is_ostream.hpp} (51%) delete mode 100644 3party/boost/boost/log/utility/empty_deleter.hpp delete mode 100644 3party/boost/boost/log/utility/explicit_operator_bool.hpp delete mode 100644 3party/boost/boost/log/utility/intrusive_ref_counter.hpp create mode 100644 3party/boost/boost/make_default.hpp create mode 100644 3party/boost/boost/math/distributions/arcsine.hpp create mode 100644 3party/boost/boost/math/distributions/hyperexponential.hpp create mode 100644 3party/boost/boost/math/special_functions/detail/polygamma.hpp create mode 100644 3party/boost/boost/math/special_functions/ellint_d.hpp create mode 100644 3party/boost/boost/math/special_functions/ellint_rg.hpp create mode 100644 3party/boost/boost/math/special_functions/heuman_lambda.hpp create mode 100644 3party/boost/boost/math/special_functions/jacobi_zeta.hpp create mode 100644 3party/boost/boost/math/special_functions/polygamma.hpp create mode 100644 3party/boost/boost/math/special_functions/trigamma.hpp create mode 100644 3party/boost/boost/move/adl_move_swap.hpp create mode 100644 3party/boost/boost/move/default_delete.hpp create mode 100644 3party/boost/boost/move/detail/fwd_macros.hpp create mode 100644 3party/boost/boost/move/detail/iterator_traits.hpp create mode 100644 3party/boost/boost/move/detail/meta_utils_core.hpp create mode 100644 3party/boost/boost/move/detail/type_traits.hpp create mode 100644 3party/boost/boost/move/detail/unique_ptr_meta_utils.hpp create mode 100644 3party/boost/boost/move/detail/workaround.hpp create mode 100644 3party/boost/boost/move/make_unique.hpp create mode 100644 3party/boost/boost/move/unique_ptr.hpp create mode 100644 3party/boost/boost/move/utility_core.hpp create mode 100644 3party/boost/boost/mpi/collectives/gatherv.hpp create mode 100644 3party/boost/boost/mpi/collectives/scatterv.hpp create mode 100644 3party/boost/boost/mpl/map/aux_/insert_range_impl.hpp create mode 100644 3party/boost/boost/mpl/set/aux_/insert_range_impl.hpp create mode 100644 3party/boost/boost/multi_index/detail/cons_stdtuple.hpp create mode 100644 3party/boost/boost/multi_index/detail/is_transparent.hpp create mode 100644 3party/boost/boost/multi_index/detail/ord_index_impl.hpp create mode 100644 3party/boost/boost/multi_index/detail/ord_index_impl_fwd.hpp create mode 100644 3party/boost/boost/multi_index/detail/promotes_arg.hpp create mode 100644 3party/boost/boost/multi_index/detail/raw_ptr.hpp create mode 100644 3party/boost/boost/multi_index/detail/rnk_index_ops.hpp create mode 100644 3party/boost/boost/multi_index/ranked_index.hpp create mode 100644 3party/boost/boost/multi_index/ranked_index_fwd.hpp create mode 100644 3party/boost/boost/multiprecision/traits/is_backend.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/eigen/eigen.hpp create mode 100644 3party/boost/boost/numeric/odeint/external/eigen/eigen_algebra_dispatcher.hpp create mode 100644 3party/boost/boost/numeric/odeint/stepper/extrapolation_stepper.hpp create mode 100644 3party/boost/boost/numeric/ublas/matrix_vector.hpp mode change 100755 => 100644 3party/boost/boost/parameter/aux_/parenthesized_type.hpp mode change 100755 => 100644 3party/boost/boost/parameter/aux_/unwrap_cv_reference.hpp mode change 100755 => 100644 3party/boost/boost/parameter/binding.hpp mode change 100755 => 100644 3party/boost/boost/parameter/keyword.hpp mode change 100755 => 100644 3party/boost/boost/parameter/value_type.hpp create mode 100644 3party/boost/boost/phoenix/config.hpp create mode 100644 3party/boost/boost/phoenix/core/is_value.hpp create mode 100644 3party/boost/boost/phoenix/function/lazy_list.hpp create mode 100644 3party/boost/boost/phoenix/function/lazy_operator.hpp create mode 100644 3party/boost/boost/phoenix/function/lazy_prelude.hpp create mode 100644 3party/boost/boost/phoenix/function/lazy_reuse.hpp mode change 100755 => 100644 3party/boost/boost/pointee.hpp create mode 100644 3party/boost/boost/polymorphic_pointer_cast.hpp create mode 100644 3party/boost/boost/predef/detail/test_def.h create mode 100644 3party/boost/boost/predef/os/haiku.h create mode 100644 3party/boost/boost/preprocessor/array/detail/get_data.hpp create mode 100644 3party/boost/boost/preprocessor/facilities/detail/is_empty.hpp create mode 100644 3party/boost/boost/preprocessor/facilities/is_empty_variadic.hpp create mode 100644 3party/boost/boost/preprocessor/punctuation/detail/is_begin_parens.hpp create mode 100644 3party/boost/boost/preprocessor/punctuation/is_begin_parens.hpp create mode 100644 3party/boost/boost/preprocessor/punctuation/remove_parens.hpp create mode 100644 3party/boost/boost/preprocessor/seq/detail/is_empty.hpp create mode 100644 3party/boost/boost/preprocessor/tuple/detail/is_single_return.hpp create mode 100644 3party/boost/boost/preprocessor/variadic/detail/is_single_return.hpp create mode 100644 3party/boost/boost/property_tree/detail/json_parser/narrow_encoding.hpp create mode 100644 3party/boost/boost/property_tree/detail/json_parser/parser.hpp create mode 100644 3party/boost/boost/property_tree/detail/json_parser/read.hpp create mode 100644 3party/boost/boost/property_tree/detail/json_parser/standard_callbacks.hpp create mode 100644 3party/boost/boost/property_tree/detail/json_parser/wide_encoding.hpp delete mode 100644 3party/boost/boost/property_tree/detail/json_parser_read.hpp mode change 100755 => 100644 3party/boost/boost/python/converter/arg_from_python.hpp mode change 100755 => 100644 3party/boost/boost/python/converter/arg_to_python_base.hpp mode change 100755 => 100644 3party/boost/boost/python/converter/object_manager.hpp mode change 100755 => 100644 3party/boost/boost/python/detail/borrowed_ptr.hpp mode change 100755 => 100644 3party/boost/boost/python/detail/enable_if.hpp mode change 100755 => 100644 3party/boost/boost/python/detail/force_instantiate.hpp delete mode 100644 3party/boost/boost/python/detail/type_list_impl_no_pts.hpp mode change 100755 => 100644 3party/boost/boost/python/handle.hpp mode change 100755 => 100644 3party/boost/boost/python/object_items.hpp mode change 100755 => 100644 3party/boost/boost/python/other.hpp mode change 100755 => 100644 3party/boost/boost/python/proxy.hpp mode change 100755 => 100644 3party/boost/boost/python/pure_virtual.hpp mode change 100755 => 100644 3party/boost/boost/python/return_arg.hpp create mode 100644 3party/boost/boost/random/detail/polynomial.hpp create mode 100644 3party/boost/boost/random/non_central_chi_squared_distribution.hpp create mode 100644 3party/boost/boost/serialization/detail/is_default_constructible.hpp delete mode 100644 3party/boost/boost/serialization/pfto.hpp create mode 100644 3party/boost/boost/smart_ptr/detail/sp_counted_base_clang.hpp create mode 100644 3party/boost/boost/sort/sort.hpp create mode 100644 3party/boost/boost/sort/spreadsort/detail/constants.hpp create mode 100644 3party/boost/boost/sort/spreadsort/detail/float_sort.hpp create mode 100644 3party/boost/boost/sort/spreadsort/detail/integer_sort.hpp create mode 100644 3party/boost/boost/sort/spreadsort/detail/spreadsort_common.hpp create mode 100644 3party/boost/boost/sort/spreadsort/detail/string_sort.hpp create mode 100644 3party/boost/boost/sort/spreadsort/float_sort.hpp create mode 100644 3party/boost/boost/sort/spreadsort/integer_sort.hpp create mode 100644 3party/boost/boost/sort/spreadsort/spreadsort.hpp create mode 100644 3party/boost/boost/sort/spreadsort/string_sort.hpp rename 3party/boost/boost/spirit/home/x3/{support/utility/detail/testing.hpp => binary.hpp} (57%) create mode 100644 3party/boost/boost/spirit/home/x3/binary/binary.hpp create mode 100644 3party/boost/boost/spirit/home/x3/char/char_class_tags.hpp create mode 100644 3party/boost/boost/spirit/home/x3/char/char_set.hpp create mode 100644 3party/boost/boost/spirit/home/x3/directive/confix.hpp create mode 100644 3party/boost/boost/spirit/home/x3/directive/matches.hpp create mode 100644 3party/boost/boost/spirit/home/x3/directive/no_case.hpp create mode 100644 3party/boost/boost/spirit/home/x3/directive/repeat.hpp rename 3party/boost/boost/spirit/home/x3/{extensions => directive}/seek.hpp (94%) create mode 100644 3party/boost/boost/spirit/home/x3/string/detail/no_case_string_parse.hpp create mode 100644 3party/boost/boost/spirit/home/x3/support/no_case.hpp create mode 100644 3party/boost/boost/spirit/home/x3/support/utility/annotate_on_success.hpp delete mode 100644 3party/boost/boost/spirit/home/x3/support/utility/integer_sequence.hpp create mode 100644 3party/boost/boost/spirit/home/x3/version.hpp delete mode 100644 3party/boost/boost/strong_typedef.hpp create mode 100644 3party/boost/boost/test/data/config.hpp create mode 100644 3party/boost/boost/test/data/dataset.hpp create mode 100644 3party/boost/boost/test/data/generators.hpp create mode 100644 3party/boost/boost/test/data/monomorphic.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/array.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/collection.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/dataset.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/fwd.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/generate.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/generators.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/generators/keywords.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/generators/random.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/generators/xrange.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/grid.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/join.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/singleton.hpp create mode 100644 3party/boost/boost/test/data/monomorphic/zip.hpp create mode 100644 3party/boost/boost/test/data/size.hpp create mode 100644 3party/boost/boost/test/data/test_case.hpp create mode 100644 3party/boost/boost/test/detail/pp_variadic.hpp create mode 100644 3party/boost/boost/test/detail/throw_exception.hpp delete mode 100644 3party/boost/boost/test/detail/unit_test_parameters.hpp delete mode 100644 3party/boost/boost/test/exception_safety.hpp create mode 100644 3party/boost/boost/test/impl/decorator.ipp delete mode 100644 3party/boost/boost/test/impl/exception_safety.ipp delete mode 100644 3party/boost/boost/test/impl/interaction_based.ipp delete mode 100644 3party/boost/boost/test/impl/logged_expectations.ipp create mode 100644 3party/boost/boost/test/impl/test_tree.ipp delete mode 100644 3party/boost/boost/test/impl/unit_test_suite.ipp create mode 100644 3party/boost/boost/test/included/execution_monitor.hpp delete mode 100644 3party/boost/boost/test/interaction_based.hpp delete mode 100644 3party/boost/boost/test/logged_expectations.hpp delete mode 100644 3party/boost/boost/test/mock_object.hpp create mode 100644 3party/boost/boost/test/tools/assertion.hpp create mode 100644 3party/boost/boost/test/tools/assertion_result.hpp create mode 100644 3party/boost/boost/test/tools/collection_comparison_op.hpp create mode 100644 3party/boost/boost/test/tools/context.hpp create mode 100644 3party/boost/boost/test/tools/cstring_comparison_op.hpp create mode 100644 3party/boost/boost/test/tools/detail/bitwise_manip.hpp create mode 100644 3party/boost/boost/test/tools/detail/expression_holder.hpp create mode 100644 3party/boost/boost/test/tools/detail/fwd.hpp create mode 100644 3party/boost/boost/test/tools/detail/indirections.hpp create mode 100644 3party/boost/boost/test/tools/detail/it_pair.hpp create mode 100644 3party/boost/boost/test/tools/detail/lexicographic_manip.hpp create mode 100644 3party/boost/boost/test/tools/detail/per_element_manip.hpp create mode 100644 3party/boost/boost/test/tools/detail/print_helper.hpp create mode 100644 3party/boost/boost/test/tools/detail/tolerance_manip.hpp create mode 100644 3party/boost/boost/test/tools/floating_point_comparison.hpp create mode 100644 3party/boost/boost/test/tools/fpc_op.hpp create mode 100644 3party/boost/boost/test/tools/fpc_tolerance.hpp create mode 100644 3party/boost/boost/test/tools/interface.hpp create mode 100644 3party/boost/boost/test/tools/old/impl.hpp create mode 100644 3party/boost/boost/test/tools/old/interface.hpp create mode 100644 3party/boost/boost/test/tools/output_test_stream.hpp create mode 100644 3party/boost/boost/test/tree/auto_registration.hpp create mode 100644 3party/boost/boost/test/tree/decorator.hpp create mode 100644 3party/boost/boost/test/tree/fixture.hpp create mode 100644 3party/boost/boost/test/tree/global_fixture.hpp rename 3party/boost/boost/test/{test_observer.hpp => tree/observer.hpp} (71%) create mode 100644 3party/boost/boost/test/tree/test_case_counter.hpp create mode 100644 3party/boost/boost/test/tree/test_case_template.hpp create mode 100644 3party/boost/boost/test/tree/test_unit.hpp create mode 100644 3party/boost/boost/test/tree/traverse.hpp create mode 100644 3party/boost/boost/test/tree/visitor.hpp create mode 100644 3party/boost/boost/test/unit_test_parameters.hpp delete mode 100644 3party/boost/boost/test/unit_test_suite_impl.hpp delete mode 100644 3party/boost/boost/test/utils/callback.hpp create mode 100644 3party/boost/boost/test/utils/is_cstring.hpp create mode 100644 3party/boost/boost/test/utils/is_forward_iterable.hpp create mode 100644 3party/boost/boost/test/utils/setcolor.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/deque_adaptor.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/deque_base.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/deque_views.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/detail/sync_deque_base.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/detail/sync_queue_base.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/queue_adaptor.hpp create mode 100755 3party/boost/boost/thread/concurrent_queues/queue_base.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/queue_op_status.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/queue_views.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/sync_bounded_queue.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/sync_deque.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/sync_priority_queue.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/sync_queue.hpp create mode 100644 3party/boost/boost/thread/concurrent_queues/sync_timed_queue.hpp create mode 100644 3party/boost/boost/thread/csbl/devector.hpp create mode 100644 3party/boost/boost/thread/csbl/memory/shared_ptr.hpp create mode 100644 3party/boost/boost/thread/csbl/queue.hpp delete mode 100644 3party/boost/boost/thread/detail/work.hpp create mode 100644 3party/boost/boost/thread/executors/detail/priority_executor_base.hpp create mode 100644 3party/boost/boost/thread/executors/detail/scheduled_executor_base.hpp create mode 100644 3party/boost/boost/thread/executors/generic_executor_ref.hpp create mode 100644 3party/boost/boost/thread/executors/scheduled_thread_pool.hpp create mode 100644 3party/boost/boost/thread/executors/scheduler.hpp create mode 100644 3party/boost/boost/thread/executors/scheduling_adaptor.hpp create mode 100644 3party/boost/boost/thread/executors/serial_executor_cont.hpp create mode 100644 3party/boost/boost/thread/experimental/config/inline_namespace.hpp create mode 100644 3party/boost/boost/thread/experimental/exception_list.hpp create mode 100644 3party/boost/boost/thread/experimental/parallel/v1/exception_list.hpp create mode 100644 3party/boost/boost/thread/experimental/parallel/v1/inline_namespace.hpp create mode 100644 3party/boost/boost/thread/experimental/parallel/v2/inline_namespace.hpp create mode 100755 3party/boost/boost/thread/experimental/parallel/v2/task_region.hpp create mode 100644 3party/boost/boost/thread/experimental/task_region.hpp create mode 100644 3party/boost/boost/thread/futures/future_error.hpp rename 3party/boost/boost/thread/{ => futures}/future_error_code.hpp (90%) create mode 100644 3party/boost/boost/thread/futures/future_status.hpp create mode 100644 3party/boost/boost/thread/futures/is_future_type.hpp create mode 100644 3party/boost/boost/thread/futures/launch.hpp create mode 100644 3party/boost/boost/thread/futures/wait_for_all.hpp create mode 100644 3party/boost/boost/thread/futures/wait_for_any.hpp create mode 100644 3party/boost/boost/type_traits/is_copy_assignable.hpp create mode 100644 3party/boost/boost/type_traits/is_final.hpp create mode 100644 3party/boost/boost/units/base_units/information/bit.hpp create mode 100644 3party/boost/boost/units/base_units/information/byte.hpp create mode 100644 3party/boost/boost/units/base_units/information/hartley.hpp create mode 100644 3party/boost/boost/units/base_units/information/nat.hpp create mode 100644 3party/boost/boost/units/base_units/information/shannon.hpp create mode 100644 3party/boost/boost/units/physical_dimensions/information.hpp create mode 100644 3party/boost/boost/units/systems/information.hpp create mode 100644 3party/boost/boost/units/systems/information/bit.hpp create mode 100644 3party/boost/boost/units/systems/information/byte.hpp create mode 100644 3party/boost/boost/units/systems/information/hartley.hpp create mode 100644 3party/boost/boost/units/systems/information/nat.hpp create mode 100644 3party/boost/boost/units/systems/information/prefixes.hpp create mode 100644 3party/boost/boost/units/systems/information/shannon.hpp create mode 100644 3party/boost/boost/variant/detail/element_index.hpp create mode 100644 3party/boost/boost/variant/detail/has_result_type.hpp create mode 100644 3party/boost/boost/variant/detail/multivisitors_cpp11_based.hpp create mode 100644 3party/boost/boost/variant/detail/multivisitors_cpp14_based.hpp create mode 100644 3party/boost/boost/variant/detail/multivisitors_preprocessor_based.hpp diff --git a/3party/boost/boost/accumulators/framework/depends_on.hpp b/3party/boost/boost/accumulators/framework/depends_on.hpp index c328972946..008f1217da 100644 --- a/3party/boost/boost/accumulators/framework/depends_on.hpp +++ b/3party/boost/boost/accumulators/framework/depends_on.hpp @@ -223,13 +223,13 @@ namespace boost { namespace accumulators template struct build_acc_list { - typedef fusion::nil type; + typedef fusion::nil_ type; template - static fusion::nil + static fusion::nil_ call(Args const &, First const&, Last const&) { - return fusion::nil(); + return fusion::nil_(); } }; diff --git a/3party/boost/boost/accumulators/statistics/times2_iterator.hpp b/3party/boost/boost/accumulators/statistics/times2_iterator.hpp index 211a46e74f..d46dd042ef 100644 --- a/3party/boost/boost/accumulators/statistics/times2_iterator.hpp +++ b/3party/boost/boost/accumulators/statistics/times2_iterator.hpp @@ -9,6 +9,7 @@ #define BOOST_ACCUMULATORS_STATISTICS_TIMES2_ITERATOR_HPP_DE_01_01_2006 #include +#include #include #include #include @@ -34,13 +35,16 @@ namespace detail ); } - /////////////////////////////////////////////////////////////////////////////// // lvalue_index_iterator template struct lvalue_index_iterator : Base { + lvalue_index_iterator() + : Base() + {} + lvalue_index_iterator(Base base) : Base(base) { diff --git a/3party/boost/boost/algorithm/algorithm.hpp b/3party/boost/boost/algorithm/algorithm.hpp new file mode 100644 index 0000000000..7fb0181dbe --- /dev/null +++ b/3party/boost/boost/algorithm/algorithm.hpp @@ -0,0 +1,86 @@ +/* + Copyright (c) Marshall Clow 2014. + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) + + Revision history: + 2 Dec 2014 mtc First version; power + +*/ + +/// \file algorithm.hpp +/// \brief Misc Algorithms +/// \author Marshall Clow +/// + +#ifndef BOOST_ALGORITHM_HPP +#define BOOST_ALGORITHM_HPP + +#include // for boost::disable_if +#include + +namespace boost { namespace algorithm { + +template +T identity_operation ( std::multiplies ) { return T(1); } + +template +T identity_operation ( std::plus ) { return T(0); } + + +/// \fn power ( T x, Integer n ) +/// \return the value "x" raised to the power "n" +/// +/// \param x The value to be exponentiated +/// \param n The exponent (must be >= 0) +/// +// \remark Taken from Knuth, The Art of Computer Programming, Volume 2: +// Seminumerical Algorithms, Section 4.6.3 +template +typename boost::enable_if, T>::type +power (T x, Integer n) { + T y = 1; // Should be "T y{1};" + if (n == 0) return y; + while (true) { + if (n % 2 == 1) { + y = x * y; + if (n == 1) + return y; + } + n = n / 2; + x = x * x; + } + return y; + } + +/// \fn power ( T x, Integer n, Operation op ) +/// \return the value "x" raised to the power "n" +/// using the operaton "op". +/// +/// \param x The value to be exponentiated +/// \param n The exponent (must be >= 0) +/// \param op The operation used +/// +// \remark Taken from Knuth, The Art of Computer Programming, Volume 2: +// Seminumerical Algorithms, Section 4.6.3 +template +typename boost::enable_if, T>::type +power (T x, Integer n, Operation op) { + T y = identity_operation(op); + if (n == 0) return y; + while (true) { + if (n % 2 == 1) { + y = op(x, y); + if (n == 1) + return y; + } + n = n / 2; + x = op(x, x); + } + return y; + } + +}} + +#endif // BOOST_ALGORITHM_HPP diff --git a/3party/boost/boost/algorithm/cxx11/all_of.hpp b/3party/boost/boost/algorithm/cxx11/all_of.hpp index b76cb3f010..39cab39dd7 100644 --- a/3party/boost/boost/algorithm/cxx11/all_of.hpp +++ b/3party/boost/boost/algorithm/cxx11/all_of.hpp @@ -18,10 +18,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of all_of if it is available -using std::all_of; // Section 25.2.1 -#else /// \fn all_of ( InputIterator first, InputIterator last, Predicate p ) /// \return true if all elements in [first, last) satisfy the predicate 'p' /// \note returns true on an empty range @@ -41,7 +37,6 @@ bool all_of ( InputIterator first, InputIterator last, Predicate p ) return false; return true; } -#endif /// \fn all_of ( const Range &r, Predicate p ) /// \return true if all elements in the range satisfy the predicate 'p' diff --git a/3party/boost/boost/algorithm/cxx11/any_of.hpp b/3party/boost/boost/algorithm/cxx11/any_of.hpp index c3ab3ce59f..cf69348c08 100644 --- a/3party/boost/boost/algorithm/cxx11/any_of.hpp +++ b/3party/boost/boost/algorithm/cxx11/any_of.hpp @@ -20,10 +20,6 @@ namespace boost { namespace algorithm { -// Use the C++11 versions of any_of if it is available -#if __cplusplus >= 201103L -using std::any_of; // Section 25.2.2 -#else /// \fn any_of ( InputIterator first, InputIterator last, Predicate p ) /// \return true if any of the elements in [first, last) satisfy the predicate /// \note returns false on an empty range @@ -40,7 +36,6 @@ bool any_of ( InputIterator first, InputIterator last, Predicate p ) return true; return false; } -#endif /// \fn any_of ( const Range &r, Predicate p ) /// \return true if any elements in the range satisfy the predicate 'p' diff --git a/3party/boost/boost/algorithm/cxx11/copy_if.hpp b/3party/boost/boost/algorithm/cxx11/copy_if.hpp index 88b79b500b..d869cafcd2 100644 --- a/3party/boost/boost/algorithm/cxx11/copy_if.hpp +++ b/3party/boost/boost/algorithm/cxx11/copy_if.hpp @@ -18,10 +18,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of copy_if if it is available -using std::copy_if; // Section 25.3.1 -#else /// \fn copy_if ( InputIterator first, InputIterator last, OutputIterator result, Predicate p ) /// \brief Copies all the elements from the input range that satisfy the /// predicate to the output range. @@ -42,7 +38,6 @@ OutputIterator copy_if ( InputIterator first, InputIterator last, OutputIterator *result++ = *first; return result; } -#endif /// \fn copy_if ( const Range &r, OutputIterator result, Predicate p ) /// \brief Copies all the elements from the input range that satisfy the diff --git a/3party/boost/boost/algorithm/cxx11/copy_n.hpp b/3party/boost/boost/algorithm/cxx11/copy_n.hpp index 0ea53bd23f..ebfe889ff5 100644 --- a/3party/boost/boost/algorithm/cxx11/copy_n.hpp +++ b/3party/boost/boost/algorithm/cxx11/copy_n.hpp @@ -16,10 +16,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of copy_n if it is available -using std::copy_n; // Section 25.3.1 -#else /// \fn copy_n ( InputIterator first, Size n, OutputIterator result ) /// \brief Copies exactly n (n > 0) elements from the range starting at first to /// the range starting at result. @@ -38,7 +34,6 @@ OutputIterator copy_n ( InputIterator first, Size n, OutputIterator result ) *result = *first; return result; } -#endif }} // namespace boost and algorithm #endif // BOOST_ALGORITHM_COPY_IF_HPP diff --git a/3party/boost/boost/algorithm/cxx11/find_if_not.hpp b/3party/boost/boost/algorithm/cxx11/find_if_not.hpp index 4beed00083..414697cdd8 100644 --- a/3party/boost/boost/algorithm/cxx11/find_if_not.hpp +++ b/3party/boost/boost/algorithm/cxx11/find_if_not.hpp @@ -19,10 +19,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of find_if_not if it is available -using std::find_if_not; // Section 25.2.5 -#else /// \fn find_if_not(InputIterator first, InputIterator last, Predicate p) /// \brief Finds the first element in the sequence that does not satisfy the predicate. /// \return The iterator pointing to the desired element. @@ -41,7 +37,6 @@ InputIterator find_if_not ( InputIterator first, InputIterator last, Predicate p break; return first; } -#endif /// \fn find_if_not ( const Range &r, Predicate p ) /// \brief Finds the first element in the sequence that does not satisfy the predicate. diff --git a/3party/boost/boost/algorithm/cxx11/iota.hpp b/3party/boost/boost/algorithm/cxx11/iota.hpp index eb32390b0f..2e638ec9e2 100644 --- a/3party/boost/boost/algorithm/cxx11/iota.hpp +++ b/3party/boost/boost/algorithm/cxx11/iota.hpp @@ -19,10 +19,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of iota if it is available -using std::iota; // Section 26.7.6 -#else /// \fn iota ( ForwardIterator first, ForwardIterator last, T value ) /// \brief Generates an increasing sequence of values, and stores them in [first, last) /// @@ -38,7 +34,6 @@ void iota ( ForwardIterator first, ForwardIterator last, T value ) for ( ; first != last; ++first, ++value ) *first = value; } -#endif /// \fn iota ( Range &r, T value ) /// \brief Generates an increasing sequence of values, and stores them in the input Range. diff --git a/3party/boost/boost/algorithm/cxx11/is_partitioned.hpp b/3party/boost/boost/algorithm/cxx11/is_partitioned.hpp index e939e05605..cdabd97505 100644 --- a/3party/boost/boost/algorithm/cxx11/is_partitioned.hpp +++ b/3party/boost/boost/algorithm/cxx11/is_partitioned.hpp @@ -19,10 +19,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of is_partitioned if it is available -using std::is_partitioned; // Section 25.3.13 -#else /// \fn is_partitioned ( InputIterator first, InputIterator last, UnaryPredicate p ) /// \brief Tests to see if a sequence is partitioned according to a predicate /// @@ -45,7 +41,6 @@ bool is_partitioned ( InputIterator first, InputIterator last, UnaryPredicate p return false; return true; } -#endif /// \fn is_partitioned ( const Range &r, UnaryPredicate p ) /// \brief Generates an increasing sequence of values, and stores them in the input Range. diff --git a/3party/boost/boost/algorithm/cxx11/is_permutation.hpp b/3party/boost/boost/algorithm/cxx11/is_permutation.hpp index 9b3bc220fa..ec902dc49f 100644 --- a/3party/boost/boost/algorithm/cxx11/is_permutation.hpp +++ b/3party/boost/boost/algorithm/cxx11/is_permutation.hpp @@ -99,11 +99,6 @@ namespace detail { } /// \endcond -#if __cplusplus >= 201103L -// Use the C++11 versions of is_permutation if it is available -using std::is_permutation; // Section 25.2.12 -#else - /// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, ForwardIterator2 first2, BinaryPredicate p ) /// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 /// @@ -161,8 +156,6 @@ bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ForwardIt return true; } -#endif - /// \fn is_permutation ( const Range &r, ForwardIterator first2 ) /// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 diff --git a/3party/boost/boost/algorithm/cxx11/is_sorted.hpp b/3party/boost/boost/algorithm/cxx11/is_sorted.hpp index c9bc65fbe9..f6062da6d3 100644 --- a/3party/boost/boost/algorithm/cxx11/is_sorted.hpp +++ b/3party/boost/boost/algorithm/cxx11/is_sorted.hpp @@ -26,11 +26,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of is_sorted/is_sorted_until if they are available -using std::is_sorted_until; // Section 25.4.1.5 -using std::is_sorted; // Section 25.4.1.5 -#else /// \fn is_sorted_until ( ForwardIterator first, ForwardIterator last, Pred p ) /// \return the point in the sequence [first, last) where the elements are unordered /// (according to the comparison predicate 'p'). @@ -91,7 +86,6 @@ using std::is_sorted; // Section 25.4.1.5 { return boost::algorithm::is_sorted_until (first, last) == last; } -#endif /// /// -- Range based versions of the C++11 functions diff --git a/3party/boost/boost/algorithm/cxx11/none_of.hpp b/3party/boost/boost/algorithm/cxx11/none_of.hpp index feae9919fc..67be3d1f73 100644 --- a/3party/boost/boost/algorithm/cxx11/none_of.hpp +++ b/3party/boost/boost/algorithm/cxx11/none_of.hpp @@ -18,10 +18,6 @@ namespace boost { namespace algorithm { -// Use the C++11 versions of the none_of if it is available -#if __cplusplus >= 201103L -using std::none_of; // Section 25.2.3 -#else /// \fn none_of ( InputIterator first, InputIterator last, Predicate p ) /// \return true if none of the elements in [first, last) satisfy the predicate 'p' /// \note returns true on an empty range @@ -38,7 +34,6 @@ for ( ; first != last; ++first ) return false; return true; } -#endif /// \fn none_of ( const Range &r, Predicate p ) /// \return true if none of the elements in the range satisfy the predicate 'p' diff --git a/3party/boost/boost/algorithm/cxx11/partition_copy.hpp b/3party/boost/boost/algorithm/cxx11/partition_copy.hpp index 15c4dd68ab..2d8c3e9bff 100644 --- a/3party/boost/boost/algorithm/cxx11/partition_copy.hpp +++ b/3party/boost/boost/algorithm/cxx11/partition_copy.hpp @@ -20,10 +20,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of partition_copy if it is available -using std::partition_copy; // Section 25.3.13 -#else /// \fn partition_copy ( InputIterator first, InputIterator last, /// OutputIterator1 out_true, OutputIterator2 out_false, UnaryPredicate p ) /// \brief Copies the elements that satisfy the predicate p from the range [first, last) @@ -53,7 +49,6 @@ partition_copy ( InputIterator first, InputIterator last, *out_false++ = *first; return std::pair ( out_true, out_false ); } -#endif /// \fn partition_copy ( const Range &r, /// OutputIterator1 out_true, OutputIterator2 out_false, UnaryPredicate p ) diff --git a/3party/boost/boost/algorithm/cxx11/partition_point.hpp b/3party/boost/boost/algorithm/cxx11/partition_point.hpp index 36d8384b57..f1310c38c6 100644 --- a/3party/boost/boost/algorithm/cxx11/partition_point.hpp +++ b/3party/boost/boost/algorithm/cxx11/partition_point.hpp @@ -19,10 +19,6 @@ namespace boost { namespace algorithm { -#if __cplusplus >= 201103L -// Use the C++11 versions of partition_point if it is available -using std::partition_point; // Section 25.3.13 -#else /// \fn partition_point ( ForwardIterator first, ForwardIterator last, Predicate p ) /// \brief Given a partitioned range, returns the partition point, i.e, the first element /// that does not satisfy p @@ -52,7 +48,6 @@ ForwardIterator partition_point ( ForwardIterator first, ForwardIterator last, P } return first; } -#endif /// \fn partition_point ( Range &r, Predicate p ) /// \brief Given a partitioned range, returns the partition point @@ -61,7 +56,7 @@ ForwardIterator partition_point ( ForwardIterator first, ForwardIterator last, P /// \param p The predicate to test the values with /// template -typename boost::range_iterator partition_point ( Range &r, Predicate p ) +typename boost::range_iterator::type partition_point ( Range &r, Predicate p ) { return boost::algorithm::partition_point (boost::begin(r), boost::end(r), p); } diff --git a/3party/boost/boost/algorithm/cxx14/is_permutation.hpp b/3party/boost/boost/algorithm/cxx14/is_permutation.hpp index d8002cbcec..9346881af5 100644 --- a/3party/boost/boost/algorithm/cxx14/is_permutation.hpp +++ b/3party/boost/boost/algorithm/cxx14/is_permutation.hpp @@ -22,7 +22,6 @@ namespace boost { namespace algorithm { -#if __cplusplus <= 201103L /// \fn is_permutation ( ForwardIterator1 first, ForwardIterator1 last, /// ForwardIterator2 first2, ForwardIterator2 last2 ) /// \brief Tests to see if the sequence [first,last) is a permutation of the sequence starting at first2 @@ -40,10 +39,10 @@ bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, { // How should I deal with the idea that ForwardIterator1::value_type // and ForwardIterator2::value_type could be different? Define my own comparison predicate? - std::pair eq = boost::algorithm::mismatch - ( first1, last1, first2, last2 ); - if ( eq.first == last1 && eq.second == last2) - return true; + std::pair eq = boost::algorithm::mismatch + ( first1, last1, first2, last2 ); + if ( eq.first == last1 && eq.second == last2) + return true; return boost::algorithm::detail::is_permutation_tag ( eq.first, last1, eq.second, last2, std::equal_to::value_type> (), @@ -70,16 +69,15 @@ bool is_permutation ( ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate pred ) { - std::pair eq = boost::algorithm::mismatch - ( first1, last1, first2, last2, pred ); - if ( eq.first == last1 && eq.second == last2) - return true; + std::pair eq = boost::algorithm::mismatch + ( first1, last1, first2, last2, pred ); + if ( eq.first == last1 && eq.second == last2) + return true; return boost::algorithm::detail::is_permutation_tag ( first1, last1, first2, last2, pred, typename std::iterator_traits::iterator_category (), typename std::iterator_traits::iterator_category ()); } -#endif }} diff --git a/3party/boost/boost/algorithm/hex.hpp b/3party/boost/boost/algorithm/hex.hpp index 2adb0be445..145a414f00 100644 --- a/3party/boost/boost/algorithm/hex.hpp +++ b/3party/boost/boost/algorithm/hex.hpp @@ -207,7 +207,6 @@ OutputIterator unhex ( InputIterator first, InputIterator last, OutputIterator o /// \note Based on the MySQL function of the same name template OutputIterator unhex ( const T *ptr, OutputIterator out ) { - typedef typename detail::hex_iterator_traits::value_type OutputType; // If we run into the terminator while decoding, we will throw a // malformed input exception. It would be nicer to throw a 'Not enough input' // exception - but how much extra work would that require? diff --git a/3party/boost/boost/algorithm/searching/detail/bm_traits.hpp b/3party/boost/boost/algorithm/searching/detail/bm_traits.hpp index 9c255404ce..b39e5391c0 100644 --- a/3party/boost/boost/algorithm/searching/detail/bm_traits.hpp +++ b/3party/boost/boost/algorithm/searching/detail/bm_traits.hpp @@ -21,7 +21,7 @@ #include #ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP -#include +#include #else #include #endif @@ -40,7 +40,7 @@ namespace boost { namespace algorithm { namespace detail { class skip_table { private: #ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP - typedef std::tr1::unordered_map skip_map; + typedef boost::unordered_map skip_map; #else typedef std::unordered_map skip_map; #endif diff --git a/3party/boost/boost/algorithm/string/find_iterator.hpp b/3party/boost/boost/algorithm/string/find_iterator.hpp index 5834407f0f..5a52d92e41 100644 --- a/3party/boost/boost/algorithm/string/find_iterator.hpp +++ b/3party/boost/boost/algorithm/string/find_iterator.hpp @@ -230,7 +230,12 @@ namespace boost { \post eof()==true */ - split_iterator() { m_bEof = true; } + split_iterator() : + m_Next(), + m_End(), + m_bEof(true) + {} + //! Copy constructor /*! Construct a copy of the split_iterator diff --git a/3party/boost/boost/align.hpp b/3party/boost/boost/align.hpp index 4d60100601..0b3221dffc 100644 --- a/3party/boost/boost/align.hpp +++ b/3party/boost/boost/align.hpp @@ -1,31 +1,21 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014-2015 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_HPP #define BOOST_ALIGN_HPP -/** - Boost.Align - all headers. - - @note This header includes all public headers - of the Boost.Align library. - - @file - @author Glen Fernandes -*/ - #include #include #include #include #include #include +#include #include #endif diff --git a/3party/boost/boost/align/align.hpp b/3party/boost/boost/align/align.hpp index 8d29fca466..b95d673bcd 100644 --- a/3party/boost/boost/align/align.hpp +++ b/3party/boost/boost/align/align.hpp @@ -1,86 +1,20 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGN_HPP #define BOOST_ALIGN_ALIGN_HPP -/** - Function align. - - @file - @author Glen Fernandes -*/ - #include -/** - @cond -*/ #if !defined(BOOST_NO_CXX11_STD_ALIGN) #include #else #include #endif -#if defined(BOOST_NO_CXX11_STD_ALIGN) -/** - @endcond -*/ - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - If it is possible to fit `size` bytes of storage - aligned by `alignment` into the buffer pointed to by - `ptr` with length `space`, the function updates `ptr` - to point to the first possible address of such - storage and decreases `space` by the number of bytes - used for alignment. Otherwise, the function does - nothing. - - @param alignment Shall be a fundamental alignment - value or an extended alignment value, and shall be - a power of two. - - @param size The size in bytes of storage to fit into - the buffer. - - @param ptr Shall point to contiguous storage of at - least `space` bytes. - - @param space The length of the buffer. - - @return A null pointer if the requested aligned - buffer would not fit into the available space, - otherwise the adjusted value of `ptr`. - - @remark **Note:** The function updates its `ptr` and - space arguments so that it can be called repeatedly - with possibly different `alignment` and `size` - arguments for the same buffer. - */ - inline void* align(std::size_t alignment, std::size_t size, - void*& ptr, std::size_t& space); - } -} - -/** - @cond -*/ -#endif -/** - @endcond -*/ - #endif diff --git a/3party/boost/boost/align/aligned_alloc.hpp b/3party/boost/boost/align/aligned_alloc.hpp index 07035b7207..0e3ba60641 100644 --- a/3party/boost/boost/align/aligned_alloc.hpp +++ b/3party/boost/boost/align/aligned_alloc.hpp @@ -1,26 +1,16 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNED_ALLOC_HPP #define BOOST_ALIGN_ALIGNED_ALLOC_HPP -/** - Functions aligned_alloc and aligned_free. - - @file - @author Glen Fernandes -*/ - #include -/** - @cond -*/ #if defined(BOOST_HAS_UNISTD_H) #include #endif @@ -48,53 +38,5 @@ #else #include #endif -/** - @endcond -*/ - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Allocates space for an object whose alignment is - specified by `alignment`, whose size is - specified by `size`, and whose value is - indeterminate. - - @param alignment Shall be a power of two. - - @param size Size of space to allocate. - - @return A null pointer or a pointer to the - allocated space. - - @remark **Note:** On certain platforms, the - alignment may be rounded up to `alignof(void*)` - and the space allocated may be slightly larger - than `size` bytes, by an additional - `sizeof(void*)` and `alignment - 1` bytes. - */ - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT; - - /** - Causes the space pointed to by `ptr` to be - deallocated, that is, made available for further - allocation. If `ptr` is a null pointer, no - action occurs. Otherwise, if the argument does - not match a pointer earlier returned by the - `aligned_alloc` function, or if the space has - been deallocated by a call to `aligned_free`, - the behavior is undefined. - */ - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT; - } -} #endif diff --git a/3party/boost/boost/align/aligned_allocator.hpp b/3party/boost/boost/align/aligned_allocator.hpp index 03b2546274..a31dfe599f 100644 --- a/3party/boost/boost/align/aligned_allocator.hpp +++ b/3party/boost/boost/align/aligned_allocator.hpp @@ -1,21 +1,14 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_HPP #define BOOST_ALIGN_ALIGNED_ALLOCATOR_HPP -/** - Class template aligned_allocator. - - @file - @author Glen Fernandes -*/ - #include #include #include @@ -23,7 +16,7 @@ #include #include #include -#include +#include #include #include #include @@ -32,256 +25,142 @@ #include #endif -/** - Boost namespace. -*/ namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Class template aligned_allocator. +namespace alignment { - @tparam Alignment Is the minimum alignment to specify - for allocations, if it is larger than the alignment - of the value type. It shall be a power of two. +template +class aligned_allocator { + BOOST_STATIC_ASSERT(detail:: + is_alignment_constant::value); - @remark **Note:** Except for the destructor, member - functions of the aligned allocator shall not - introduce data races as a result of concurrent calls - to those member functions from different threads. - Calls to these functions that allocate or deallocate - a particular unit of storage shall occur in a single - total order, and each such deallocation call shall - happen before the next allocation (if any) in this - order. +public: + typedef T value_type; + typedef T* pointer; + typedef const T* const_pointer; + typedef void* void_pointer; + typedef const void* const_void_pointer; + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; + typedef T& reference; + typedef const T& const_reference; - @note Specifying minimum alignment is generally only - suitable for containers such as vector and undesirable - with other, node-based, containers. For node-based - containers, such as list, the node object would have - the minimum alignment specified instead of the value - type object. - */ - template - class aligned_allocator { - /** - @cond - */ - BOOST_STATIC_ASSERT(detail:: - is_alignment_const::value); - /** - @endcond - */ +private: + enum { + min_align = detail::max_align::value>::value + }; - public: - typedef T value_type; - typedef T* pointer; - typedef const T* const_pointer; - typedef void* void_pointer; - typedef const void* const_void_pointer; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - typedef T& reference; - typedef const T& const_reference; - - private: - enum { - TypeAlign = alignment_of::value, - - MaxAlign = detail:: - max_align::value - }; - - public: - /** - Rebind allocator. - */ - template - struct rebind { - typedef aligned_allocator other; - }; +public: + template + struct rebind { + typedef aligned_allocator other; + }; #if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) - aligned_allocator() - BOOST_NOEXCEPT = default; + aligned_allocator() BOOST_NOEXCEPT = default; #else - aligned_allocator() - BOOST_NOEXCEPT { - } + aligned_allocator() BOOST_NOEXCEPT { + } #endif - template - aligned_allocator(const aligned_allocator&) BOOST_NOEXCEPT { - } + template + aligned_allocator(const aligned_allocator&) + BOOST_NOEXCEPT { + } - /** - @return The actual address of the object referenced - by `value`, even in the presence of an overloaded - operator&. - */ - pointer address(reference value) const - BOOST_NOEXCEPT { - return detail::addressof(value); - } + pointer address(reference value) const BOOST_NOEXCEPT { + return detail::addressof(value); + } - /** - @return The actual address of the object referenced - by `value`, even in the presence of an overloaded - operator&. - */ - const_pointer address(const_reference value) const - BOOST_NOEXCEPT { - return detail::addressof(value); - } + const_pointer address(const_reference value) const + BOOST_NOEXCEPT { + return detail::addressof(value); + } - /** - @return A pointer to the initial element of an array - of storage of size `n * sizeof(T)`, aligned on the - maximum of the minimum alignment specified and the - alignment of objects of type `T`. + pointer allocate(size_type size, const_void_pointer = 0) { + void* p = aligned_alloc(min_align, sizeof(T) * size); + if (!p && size > 0) { + boost::throw_exception(std::bad_alloc()); + } + return static_cast(p); + } - @remark **Throw:** Throws `std::bad_alloc` if the - storage cannot be obtained. + void deallocate(pointer ptr, size_type) { + alignment::aligned_free(ptr); + } - @remark **Note:** The storage is obtained by calling - `aligned_alloc(std::size_t, std::size_t)`. - */ - pointer allocate(size_type size, const_void_pointer = 0) { - void* p = aligned_alloc(MaxAlign, sizeof(T) * size); - if (!p && size > 0) { - boost::throw_exception(std::bad_alloc()); - } - return static_cast(p); - } - - /** - Deallocates the storage referenced by `ptr`. - - @param ptr Shall be a pointer value obtained from - `allocate()`. - - @remark **Note:** Uses - `alignment::aligned_free(void*)`. - */ - void deallocate(pointer ptr, size_type) { - alignment::aligned_free(ptr); - } - - /** - @return The largest value `N` for which the call - `allocate(N)` might succeed. - */ - BOOST_CONSTEXPR size_type max_size() const - BOOST_NOEXCEPT { - return detail::max_count_of::value; - } + BOOST_CONSTEXPR size_type max_size() const BOOST_NOEXCEPT { + return detail::max_count_of::value; + } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - /** - Calls global - `new((void*)ptr) U(std::forward(args)...)`. - */ - template - void construct(U* ptr, Args&&... args) { - void* p = ptr; - ::new(p) U(std::forward(args)...); - } -#else - /** - Calls global - `new((void*)ptr) U(std::forward(value))`. - */ - template - void construct(U* ptr, V&& value) { - void* p = ptr; - ::new(p) U(std::forward(value)); - } -#endif -#else - /** - Calls global `new((void*)ptr) U(value)`. - */ - template - void construct(U* ptr, const V& value) { - void* p = ptr; - ::new(p) U(value); - } -#endif - - /** - Calls global `new((void*)ptr) U()`. - */ - template - void construct(U* ptr) { - void* p = ptr; - ::new(p) U(); - } - - /** - Calls `ptr->~U()`. - */ - template - void destroy(U* ptr) { - (void)ptr; - ptr->~U(); - } - }; - - /** - Class template aligned_allocator - specialization. - */ - template - class aligned_allocator { - /** - @cond - */ - BOOST_STATIC_ASSERT(detail:: - is_alignment_const::value); - /** - @endcond - */ - - public: - typedef void value_type; - typedef void* pointer; - typedef const void* const_pointer; - - /** - Rebind allocator. - */ - template - struct rebind { - typedef aligned_allocator other; - }; - }; - - /** - @return `true`. - */ - template - inline bool operator==(const aligned_allocator&, const aligned_allocator&) BOOST_NOEXCEPT - { - return true; - } - - /** - @return `false`. - */ - template - inline bool operator!=(const aligned_allocator&, const aligned_allocator&) BOOST_NOEXCEPT - { - return false; - } + template + void construct(U* ptr, Args&&... args) { + void* p = ptr; + ::new(p) U(std::forward(args)...); } +#else + template + void construct(U* ptr, V&& value) { + void* p = ptr; + ::new(p) U(std::forward(value)); + } +#endif +#else + template + void construct(U* ptr, const V& value) { + void* p = ptr; + ::new(p) U(value); + } +#endif + + template + void construct(U* ptr) { + void* p = ptr; + ::new(p) U(); + } + + template + void destroy(U* ptr) { + (void)ptr; + ptr->~U(); + } +}; + +template +class aligned_allocator { + BOOST_STATIC_ASSERT(detail:: + is_alignment_constant::value); + +public: + typedef void value_type; + typedef void* pointer; + typedef const void* const_pointer; + + template + struct rebind { + typedef aligned_allocator other; + }; +}; + +template +inline bool operator==(const aligned_allocator&, const aligned_allocator&) BOOST_NOEXCEPT +{ + return true; } +template +inline bool operator!=(const aligned_allocator&, const aligned_allocator&) BOOST_NOEXCEPT +{ + return false; +} + +} /* :alignment */ +} /* :boost */ + #endif diff --git a/3party/boost/boost/align/aligned_allocator_adaptor.hpp b/3party/boost/boost/align/aligned_allocator_adaptor.hpp index 2083c949de..ac77b4ab9e 100644 --- a/3party/boost/boost/align/aligned_allocator_adaptor.hpp +++ b/3party/boost/boost/align/aligned_allocator_adaptor.hpp @@ -1,28 +1,21 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014-2015 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_HPP #define BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_HPP -/** - Class template aligned_allocator_adaptor. - - @file - @author Glen Fernandes -*/ - #include #include #include #include #include #include -#include +#include #include #include @@ -34,292 +27,164 @@ #include #endif -/** - Boost namespace. -*/ namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Class template aligned_allocator_adaptor. +namespace alignment { - @tparam Alignment Is the minimum alignment to specify - for allocations, if it is larger than the alignment - of the value type. The value of `Alignment` shall be - a fundamental alignment value or an extended alignment - value, and shall be a power of two. - - @note This adaptor can be used with a C++11 allocator - whose pointer type is a smart pointer but the adaptor - will expose only raw pointers. - */ - template - class aligned_allocator_adaptor - : public Allocator { - /** - @cond - */ - BOOST_STATIC_ASSERT(detail:: - is_alignment_const::value); - /** - @endcond - */ +template +class aligned_allocator_adaptor + : public Allocator { + BOOST_STATIC_ASSERT(detail:: + is_alignment_constant::value); #if !defined(BOOST_NO_CXX11_ALLOCATOR) - /** - Exposition only. - */ - typedef std::allocator_traits Traits; + typedef std::allocator_traits traits; - typedef typename Traits:: - template rebind_alloc CharAlloc; + typedef typename traits:: + template rebind_alloc char_alloc; - typedef typename Traits:: - template rebind_traits CharTraits; + typedef typename traits:: + template rebind_traits char_traits; - typedef typename CharTraits::pointer CharPtr; + typedef typename char_traits::pointer char_ptr; #else - typedef typename Allocator:: - template rebind::other CharAlloc; + typedef typename Allocator:: + template rebind::other char_alloc; - typedef typename CharAlloc::pointer CharPtr; + typedef typename char_alloc::pointer char_ptr; #endif - public: + enum { + ptr_align = alignment_of::value + }; + +public: #if !defined(BOOST_NO_CXX11_ALLOCATOR) - typedef typename Traits::value_type value_type; - typedef typename Traits::size_type size_type; + typedef typename traits::value_type value_type; + typedef typename traits::size_type size_type; #else - typedef typename Allocator::value_type value_type; - typedef typename Allocator::size_type size_type; + typedef typename Allocator::value_type value_type; + typedef typename Allocator::size_type size_type; #endif - typedef value_type* pointer; - typedef const value_type* const_pointer; - typedef void* void_pointer; - typedef const void* const_void_pointer; - typedef std::ptrdiff_t difference_type; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef void* void_pointer; + typedef const void* const_void_pointer; + typedef std::ptrdiff_t difference_type; - private: - enum { - TypeAlign = alignment_of::value, +private: + enum { + min_align = detail::max_align::value, + alignment_of::value>::value>::value + }; - PtrAlign = alignment_of::value, - - BlockAlign = detail:: - max_align::value, - - MaxAlign = detail:: - max_align::value - }; - - public: - /** - Rebind allocator. - */ - template - struct rebind { +public: + template + struct rebind { #if !defined(BOOST_NO_CXX11_ALLOCATOR) - typedef aligned_allocator_adaptor, Alignment> other; + typedef aligned_allocator_adaptor, Alignment> other; #else - typedef aligned_allocator_adaptor::other, Alignment> other; + typedef aligned_allocator_adaptor::other, Alignment> other; #endif - }; + }; #if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) - /** - Value-initializes the `Allocator` - base class. - */ - aligned_allocator_adaptor() = default; + aligned_allocator_adaptor() = default; #else - /** - Value-initializes the `Allocator` - base class. - */ - aligned_allocator_adaptor() - : Allocator() { - } + aligned_allocator_adaptor() + : Allocator() { + } #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - /** - Initializes the `Allocator` base class with - `std::forward(alloc)`. - - @remark **Require:** `Allocator` shall be - constructible from `A`. - */ - template - explicit aligned_allocator_adaptor(A&& alloc) - BOOST_NOEXCEPT - : Allocator(std::forward(alloc)) { - } -#else - /** - Initializes the `Allocator` base class with - `alloc`. - - @remark **Require:** `Allocator` shall be - constructible from `A`. - */ - template - explicit aligned_allocator_adaptor(const A& alloc) - BOOST_NOEXCEPT - : Allocator(alloc) { - } -#endif - - /** - Initializes the `Allocator` base class with the - base from other. - */ - template - aligned_allocator_adaptor(const - aligned_allocator_adaptor& other) - BOOST_NOEXCEPT - : Allocator(other.base()) { - } - - /** - @return `static_cast(*this)`. - */ - Allocator& base() - BOOST_NOEXCEPT { - return static_cast(*this); - } - - /** - @return `static_cast(*this)`. - */ - const Allocator& base() const - BOOST_NOEXCEPT { - return static_cast(*this); - } - - /** - @param size The size of the value type object to - allocate. - - @return A pointer to the initial element of an - array of storage of size `n * sizeof(value_type)`, - aligned on the maximum of the minimum alignment - specified and the alignment of objects of type - `value_type`. - - @remark **Throw:** Throws an exception thrown from - `A2::allocate` if the storage cannot be obtained. - - @remark **Note:** The storage is obtained by calling - `A2::allocate` on an object `a2`, where `a2` of - type `A2` is a rebound copy of `base()` where its - `value_type` is unspecified. - */ - pointer allocate(size_type size) { - std::size_t n1 = size * sizeof(value_type); - std::size_t n2 = n1 + MaxAlign - 1; - CharAlloc a(base()); - CharPtr p1 = a.allocate(sizeof p1 + n2); - void* p2 = detail::addressof(*p1) + sizeof p1; - (void)align(MaxAlign, n1, p2, n2); - void* p3 = static_cast(p2) - 1; - ::new(p3) CharPtr(p1); - return static_cast(p2); - } - - /** - @param hint is a value obtained by calling - `allocate()` on any equivalent aligned allocator - adaptor object, or else `nullptr`. - - @param size The size of the value type object to - allocate. - - @return A pointer to the initial element of an - array of storage of size `n * sizeof(value_type)`, - aligned on the maximum of the minimum alignment - specified and the alignment of objects of type - `value_type`. - - @remark **Throw:** Throws an exception thrown from - `A2::allocate` if the storage cannot be obtained. - - @remark **Note:** The storage is obtained by calling - `A2::allocate` on an object `a2`, where `a2` of - type `A2` is a rebound copy of `base()` where its - `value_type` is unspecified. - */ - pointer allocate(size_type size, const_void_pointer hint) { - std::size_t n1 = size * sizeof(value_type); - std::size_t n2 = n1 + MaxAlign - 1; - CharPtr h = CharPtr(); - if (hint) { - h = *(static_cast(hint) - 1); - } - CharAlloc a(base()); -#if !defined(BOOST_NO_CXX11_ALLOCATOR) - CharPtr p1 = CharTraits::allocate(a, sizeof p1 + - n2, h); -#else - CharPtr p1 = a.allocate(sizeof p1 + n2, h); -#endif - void* p2 = detail::addressof(*p1) + sizeof p1; - (void)align(MaxAlign, n1, p2, n2); - void* p3 = static_cast(p2) - 1; - ::new(p3) CharPtr(p1); - return static_cast(p2); - } - - /** - Deallocates the storage referenced by `ptr`. - - @param ptr Shall be a pointer value obtained from - `allocate()`. - - @param size Shall equal the value passed as the - first argument to the invocation of `allocate` - which returned `ptr`. - - @remark **Note:** Uses `A2::deallocate` on an object - `a2`, where `a2` of type `A2` is a rebound copy of - `base()` where its `value_type` is unspecified. - */ - void deallocate(pointer ptr, size_type size) { - CharPtr* p1 = reinterpret_cast(ptr) - 1; - CharPtr p2 = *p1; - p1->~CharPtr(); - CharAlloc a(base()); - a.deallocate(p2, size * sizeof(value_type) + - MaxAlign + sizeof p2); - } - }; - - /** - @return `a.base() == b.base()`. - */ - template - inline bool operator==(const aligned_allocator_adaptor& a, const aligned_allocator_adaptor& b) BOOST_NOEXCEPT - { - return a.base() == b.base(); - } - - /** - @return `!(a == b)`. - */ - template - inline bool operator!=(const aligned_allocator_adaptor& a, const aligned_allocator_adaptor& b) BOOST_NOEXCEPT - { - return !(a == b); - } + template + explicit aligned_allocator_adaptor(A&& alloc) BOOST_NOEXCEPT + : Allocator(std::forward(alloc)) { } +#else + template + explicit aligned_allocator_adaptor(const A& alloc) + BOOST_NOEXCEPT + : Allocator(alloc) { + } +#endif + + template + aligned_allocator_adaptor(const aligned_allocator_adaptor& other) BOOST_NOEXCEPT + : Allocator(other.base()) { + } + + Allocator& base() BOOST_NOEXCEPT { + return static_cast(*this); + } + + const Allocator& base() const BOOST_NOEXCEPT { + return static_cast(*this); + } + + pointer allocate(size_type size) { + std::size_t n1 = size * sizeof(value_type); + std::size_t n2 = n1 + min_align - ptr_align; + char_alloc a(base()); + char_ptr p1 = a.allocate(sizeof p1 + n2); + void* p2 = detail::addressof(*p1) + sizeof p1; + (void)align(min_align, n1, p2, n2); + void* p3 = static_cast(p2) - 1; + ::new(p3) char_ptr(p1); + return static_cast(p2); + } + + pointer allocate(size_type size, const_void_pointer hint) { + std::size_t n1 = size * sizeof(value_type); + std::size_t n2 = n1 + min_align - ptr_align; + char_ptr h = char_ptr(); + if (hint) { + h = *(static_cast(hint) - 1); + } + char_alloc a(base()); +#if !defined(BOOST_NO_CXX11_ALLOCATOR) + char_ptr p1 = char_traits::allocate(a, sizeof p1 + n2, h); +#else + char_ptr p1 = a.allocate(sizeof p1 + n2, h); +#endif + void* p2 = detail::addressof(*p1) + sizeof p1; + (void)align(min_align, n1, p2, n2); + void* p3 = static_cast(p2) - 1; + ::new(p3) char_ptr(p1); + return static_cast(p2); + } + + void deallocate(pointer ptr, size_type size) { + char_ptr* p1 = reinterpret_cast(ptr) - 1; + char_ptr p2 = *p1; + p1->~char_ptr(); + char_alloc a(base()); + a.deallocate(p2, size * sizeof(value_type) + + min_align - ptr_align + sizeof p2); + } +}; + +template +inline bool operator==(const aligned_allocator_adaptor& a, const aligned_allocator_adaptor& b) BOOST_NOEXCEPT +{ + return a.base() == b.base(); } +template +inline bool operator!=(const aligned_allocator_adaptor& a, const aligned_allocator_adaptor& b) BOOST_NOEXCEPT +{ + return !(a == b); +} + +} /* :alignment */ +} /* :boost */ + #endif diff --git a/3party/boost/boost/align/aligned_allocator_adaptor_forward.hpp b/3party/boost/boost/align/aligned_allocator_adaptor_forward.hpp index 524e0676ed..327d7edbf9 100644 --- a/3party/boost/boost/align/aligned_allocator_adaptor_forward.hpp +++ b/3party/boost/boost/align/aligned_allocator_adaptor_forward.hpp @@ -1,38 +1,23 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_FORWARD_HPP #define BOOST_ALIGN_ALIGNED_ALLOCATOR_ADAPTOR_FORWARD_HPP -/** - Class template aligned_allocator_adaptor - forward declaration. - - @note This header provides a forward declaration for - the `aligned_allocator_adaptor` class template. - - @file - @author Glen Fernandes -*/ - #include -/** - @cond -*/ namespace boost { - namespace alignment { - template - class aligned_allocator_adaptor; - } -} -/** - @endcond -*/ +namespace alignment { + +template +class aligned_allocator_adaptor; + +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/aligned_allocator_forward.hpp b/3party/boost/boost/align/aligned_allocator_forward.hpp index 6f15423670..9a3f3635db 100644 --- a/3party/boost/boost/align/aligned_allocator_forward.hpp +++ b/3party/boost/boost/align/aligned_allocator_forward.hpp @@ -1,38 +1,23 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNED_ALLOCATOR_FORWARD_HPP #define BOOST_ALIGN_ALIGNED_ALLOCATOR_FORWARD_HPP -/** - Class template aligned_allocator - forward declaration. - - @note This header provides a forward declaration - for the `aligned_allocator` class template. - - @file - @author Glen Fernandes -*/ - #include -/** - @cond -*/ namespace boost { - namespace alignment { - template - class aligned_allocator; - } -} -/** - @endcond -*/ +namespace alignment { + +template +class aligned_allocator; + +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/aligned_delete.hpp b/3party/boost/boost/align/aligned_delete.hpp index 05ebb82f72..6d8caed302 100644 --- a/3party/boost/boost/align/aligned_delete.hpp +++ b/3party/boost/boost/align/aligned_delete.hpp @@ -1,56 +1,34 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNED_DELETE_HPP #define BOOST_ALIGN_ALIGNED_DELETE_HPP -/** - Class aligned_delete. - - @file - @author Glen Fernandes -*/ - #include #include #include -/** - Boost namespace. -*/ namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Class aligned_delete. - */ - class aligned_delete { - public: - /** - Calls `~T()` on `ptr` to destroy the object and then - calls `aligned_free` on `ptr` to free the allocated - memory. +namespace alignment { - @remark **Note:** If `T` is an incomplete type, the - program is ill-formed. - */ - template - void operator()(T* ptr) const - BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(ptr->~T())) { - if (ptr) { - ptr->~T(); - alignment::aligned_free(ptr); - } - } - }; +class aligned_delete { +public: + template + void operator()(T* ptr) const + BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(ptr->~T())) { + if (ptr) { + ptr->~T(); + alignment::aligned_free(ptr); + } } -} +}; + +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/aligned_delete_forward.hpp b/3party/boost/boost/align/aligned_delete_forward.hpp index efa882274a..530e0970d3 100644 --- a/3party/boost/boost/align/aligned_delete_forward.hpp +++ b/3party/boost/boost/align/aligned_delete_forward.hpp @@ -1,35 +1,20 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNED_DELETE_FORWARD_HPP #define BOOST_ALIGN_ALIGNED_DELETE_FORWARD_HPP -/** - Class aligned_delete - forward declaration. - - @note This header provides a forward declaration - for the `aligned_delete` class. - - @file - @author Glen Fernandes -*/ - -/** - @cond -*/ namespace boost { - namespace alignment { - class aligned_delete; - } -} -/** - @endcond -*/ +namespace alignment { + +class aligned_delete; + +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/alignment_of.hpp b/3party/boost/boost/align/alignment_of.hpp index ebd87aab92..06d22a0259 100644 --- a/3party/boost/boost/align/alignment_of.hpp +++ b/3party/boost/boost/align/alignment_of.hpp @@ -1,37 +1,32 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014-2015 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNMENT_OF_HPP #define BOOST_ALIGN_ALIGNMENT_OF_HPP -/** - Class template alignment_of. - - @file - @author Glen Fernandes -*/ - #include #include -#include +#include -#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) -#include -#elif defined(BOOST_MSVC) +#if defined(BOOST_MSVC) #include -#elif defined(BOOST_CLANG) -#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(__CODEGEARC__) #include -#elif defined(__GNUC__) && defined(__unix__) && !defined(__LP64__) -#include +#elif defined(BOOST_CLANG) +#include #elif __GNUC__ > 4 #include #elif (__GNUC__ == 4) && (__GNUC_MINOR__ >= 3) @@ -40,39 +35,19 @@ #include #endif -/** - Boost namespace. -*/ namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Class template alignment_of. +namespace alignment { - @remark **Value:** `alignof(T)`. - */ - template - struct alignment_of { - /** - @enum - */ - enum { - /** - @cond - */ - value = detail::alignment_of:: - type>::type>::type>::value - /** - @endcond - */ - }; - }; - } -} +template +struct alignment_of + : detail::alignment_of:: + type>::type>::type>::type { +}; + +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/alignment_of_forward.hpp b/3party/boost/boost/align/alignment_of_forward.hpp index 2abd083866..778a9f73b8 100644 --- a/3party/boost/boost/align/alignment_of_forward.hpp +++ b/3party/boost/boost/align/alignment_of_forward.hpp @@ -1,36 +1,21 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP #define BOOST_ALIGN_ALIGNMENT_OF_FORWARD_HPP -/** - Class template alignment_of - forward declaration. - - @note This header provides a forward declaration - for the `alignment_of` class template. - - @file - @author Glen Fernandes -*/ - -/** - @cond -*/ namespace boost { - namespace alignment { - template - struct alignment_of; - } -} -/** - @endcond -*/ +namespace alignment { + +template +struct alignment_of; + +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/assume_aligned.hpp b/3party/boost/boost/align/assume_aligned.hpp new file mode 100644 index 0000000000..8d730e6d79 --- /dev/null +++ b/3party/boost/boost/align/assume_aligned.hpp @@ -0,0 +1,29 @@ +/* +(c) 2015 NumScale SAS +(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI + +(c) 2015 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_ASSUME_ALIGNED_HPP +#define BOOST_ALIGN_ASSUME_ALIGNED_HPP + +#include + +#if defined(BOOST_MSVC) +#include +#elif defined(BOOST_CLANG) +#include +#elif BOOST_GCC_VERSION >= 40700 +#include +#elif defined(__INTEL_COMPILER) +#include +#else +#include +#endif + +#endif diff --git a/3party/boost/boost/align/detail/address.hpp b/3party/boost/boost/align/detail/address.hpp index a205cbd171..63be1a95d0 100644 --- a/3party/boost/boost/align/detail/address.hpp +++ b/3party/boost/boost/align/detail/address.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ADDRESS_HPP #define BOOST_ALIGN_DETAIL_ADDRESS_HPP @@ -13,15 +13,17 @@ #include namespace boost { - namespace alignment { - namespace detail { +namespace alignment { +namespace detail { + #if defined(BOOST_HAS_INTPTR_T) - typedef boost::uintptr_t address_t; +typedef boost::uintptr_t address_t; #else - typedef std::size_t address_t; +typedef std::size_t address_t; #endif - } - } -} + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/addressof.hpp b/3party/boost/boost/align/detail/addressof.hpp index 1b9402f324..8f0c88204e 100644 --- a/3party/boost/boost/align/detail/addressof.hpp +++ b/3party/boost/boost/align/detail/addressof.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ADDRESSOF_HPP #define BOOST_ALIGN_DETAIL_ADDRESSOF_HPP @@ -18,15 +18,17 @@ #endif namespace boost { - namespace alignment { - namespace detail { +namespace alignment { +namespace detail { + #if !defined(BOOST_NO_CXX11_ADDRESSOF) - using std::addressof; +using std::addressof; #else - using boost::addressof; +using boost::addressof; #endif - } - } -} + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/align.hpp b/3party/boost/boost/align/detail/align.hpp index d4d4287c58..00be6fd6aa 100644 --- a/3party/boost/boost/align/detail/align.hpp +++ b/3party/boost/boost/align/detail/align.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGN_HPP #define BOOST_ALIGN_DETAIL_ALIGN_HPP @@ -15,24 +15,26 @@ #include namespace boost { - namespace alignment { - inline void* align(std::size_t alignment, std::size_t size, - void*& ptr, std::size_t& space) - { - BOOST_ASSERT(detail::is_alignment(alignment)); - std::size_t n = detail::address_t(ptr) & (alignment - 1); - if (n != 0) { - n = alignment - n; - } - void* p = 0; - if (n <= space && size <= space - n) { - p = static_cast(ptr) + n; - ptr = p; - space -= n; - } - return p; - } +namespace alignment { + +inline void* align(std::size_t alignment, std::size_t size, + void*& ptr, std::size_t& space) +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + std::size_t n = detail::address_t(ptr) & (alignment - 1); + if (n != 0) { + n = alignment - n; } + void* p = 0; + if (n <= space && size <= space - n) { + p = static_cast(ptr) + n; + ptr = p; + space -= n; + } + return p; } +} /* :alignment */ +} /* :boost */ + #endif diff --git a/3party/boost/boost/align/detail/align_cxx11.hpp b/3party/boost/boost/align/detail/align_cxx11.hpp index b79ea8e8cd..80dc7e36a4 100644 --- a/3party/boost/boost/align/detail/align_cxx11.hpp +++ b/3party/boost/boost/align/detail/align_cxx11.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP #define BOOST_ALIGN_DETAIL_ALIGN_CXX11_HPP @@ -12,9 +12,11 @@ #include namespace boost { - namespace alignment { - using std::align; - } -} +namespace alignment { + +using std::align; + +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/aligned_alloc.hpp b/3party/boost/boost/align/detail/aligned_alloc.hpp index 3ed58b5d2f..1852ac15a6 100644 --- a/3party/boost/boost/align/detail/aligned_alloc.hpp +++ b/3party/boost/boost/align/detail/aligned_alloc.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014-2015 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP #define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_HPP @@ -17,37 +17,38 @@ #include namespace boost { - namespace alignment { - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - enum { - void_align = alignment_of::value, - }; - if (alignment < void_align) { - alignment = void_align; - } - std::size_t n = size + alignment - 1; - void* p1 = 0; - void* p2 = std::malloc(n + sizeof p1); - if (p2) { - p1 = static_cast(p2) + sizeof p1; - (void)align(alignment, size, p1, n); - *(static_cast(p1) - 1) = p2; - } - return p1; - } +namespace alignment { - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - if (ptr) { - void* p = *(static_cast(ptr) - 1); - std::free(p); - } - } +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* p1 = 0; + void* p2 = std::malloc(n + sizeof p1); + if (p2) { + p1 = static_cast(p2) + sizeof p1; + (void)align(alignment, size, p1, n); + *(static_cast(p1) - 1) = p2; + } + return p1; +} + +inline void aligned_free(void* ptr) BOOST_NOEXCEPT +{ + if (ptr) { + void* p = *(static_cast(ptr) - 1); + std::free(p); } } +} /* :alignment */ +} /* :boost */ + #endif diff --git a/3party/boost/boost/align/detail/aligned_alloc_android.hpp b/3party/boost/boost/align/detail/aligned_alloc_android.hpp index bad569a9c4..d97d67989e 100644 --- a/3party/boost/boost/align/detail/aligned_alloc_android.hpp +++ b/3party/boost/boost/align/detail/aligned_alloc_android.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_ANDROID_HPP #define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_ANDROID_HPP @@ -16,20 +16,21 @@ #include namespace boost { - 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); - } +namespace alignment { - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::free(ptr); - } - } +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/3party/boost/boost/align/detail/aligned_alloc_macos.hpp b/3party/boost/boost/align/detail/aligned_alloc_macos.hpp index 99ce60d3df..9b6d235133 100644 --- a/3party/boost/boost/align/detail/aligned_alloc_macos.hpp +++ b/3party/boost/boost/align/detail/aligned_alloc_macos.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MACOS_HPP #define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MACOS_HPP @@ -16,33 +16,31 @@ #include namespace boost { - namespace alignment { - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - enum { - void_size = sizeof(void*) - }; - if (!size) { - return 0; - } - if (alignment < void_size) { - alignment = void_size; - } - void* p; - if (::posix_memalign(&p, alignment, size) != 0) { - p = 0; - } - return p; - } +namespace alignment { - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::free(ptr); - } +inline void* aligned_alloc(std::size_t alignment, std::size_t size) + BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + if (!size) { + 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/3party/boost/boost/align/detail/aligned_alloc_msvc.hpp b/3party/boost/boost/align/detail/aligned_alloc_msvc.hpp index 93ed594f0b..1cb7f2a3a1 100644 --- a/3party/boost/boost/align/detail/aligned_alloc_msvc.hpp +++ b/3party/boost/boost/align/detail/aligned_alloc_msvc.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MSVC_HPP #define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_MSVC_HPP @@ -16,20 +16,21 @@ #include namespace boost { - 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); - } +namespace alignment { - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::_aligned_free(ptr); - } - } +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/3party/boost/boost/align/detail/aligned_alloc_posix.hpp b/3party/boost/boost/align/detail/aligned_alloc_posix.hpp index 3663030a17..3743652cbd 100644 --- a/3party/boost/boost/align/detail/aligned_alloc_posix.hpp +++ b/3party/boost/boost/align/detail/aligned_alloc_posix.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_POSIX_HPP #define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_POSIX_HPP @@ -16,30 +16,28 @@ #include namespace boost { - namespace alignment { - inline void* aligned_alloc(std::size_t alignment, - std::size_t size) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - enum { - void_size = sizeof(void*) - }; - if (alignment < void_size) { - alignment = void_size; - } - void* p; - if (::posix_memalign(&p, alignment, size) != 0) { - p = 0; - } - return p; - } +namespace alignment { - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::free(ptr); - } +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/3party/boost/boost/align/detail/aligned_alloc_sunos.hpp b/3party/boost/boost/align/detail/aligned_alloc_sunos.hpp index aebf1801f3..c5778cdd75 100644 --- a/3party/boost/boost/align/detail/aligned_alloc_sunos.hpp +++ b/3party/boost/boost/align/detail/aligned_alloc_sunos.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_SUNOS_HPP #define BOOST_ALIGN_DETAIL_ALIGNED_ALLOC_SUNOS_HPP @@ -16,20 +16,21 @@ #include namespace boost { - 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); - } +namespace alignment { - inline void aligned_free(void* ptr) - BOOST_NOEXCEPT - { - ::free(ptr); - } - } +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/3party/boost/boost/align/detail/alignment_of.hpp b/3party/boost/boost/align/detail/alignment_of.hpp index 44745adddf..b1d2d56920 100644 --- a/3party/boost/boost/align/detail/alignment_of.hpp +++ b/3party/boost/boost/align/detail/alignment_of.hpp @@ -1,29 +1,29 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP #define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_HPP #include -#include +#include namespace boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = detail::min_size) - sizeof(T)>::value - }; - }; - } - } -} +namespace alignment { +namespace detail { + +template +struct alignment_of + : min_size) - sizeof(T)>::type { +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/alignment_of_clang.hpp b/3party/boost/boost/align/detail/alignment_of_clang.hpp index 526ff7b58c..fa96a37d9d 100644 --- a/3party/boost/boost/align/detail/alignment_of_clang.hpp +++ b/3party/boost/boost/align/detail/alignment_of_clang.hpp @@ -1,25 +1,28 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://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 boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = __alignof(T) - }; - }; - } - } -} +namespace alignment { +namespace detail { + +template +struct alignment_of + : integral_constant { +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/alignment_of_codegear.hpp b/3party/boost/boost/align/detail/alignment_of_codegear.hpp index 2af47e91d1..e8986cef66 100644 --- a/3party/boost/boost/align/detail/alignment_of_codegear.hpp +++ b/3party/boost/boost/align/detail/alignment_of_codegear.hpp @@ -1,25 +1,28 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://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 boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = alignof(T) - }; - }; - } - } -} +namespace alignment { +namespace detail { + +template +struct alignment_of + : integral_constant { +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/alignment_of_cxx11.hpp b/3party/boost/boost/align/detail/alignment_of_cxx11.hpp index 16327c6f7b..0f66098b67 100644 --- a/3party/boost/boost/align/detail/alignment_of_cxx11.hpp +++ b/3party/boost/boost/align/detail/alignment_of_cxx11.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP #define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_CXX11_HPP @@ -12,11 +12,13 @@ #include namespace boost { - namespace alignment { - namespace detail { - using std::alignment_of; - } - } -} +namespace alignment { +namespace detail { + +using std::alignment_of; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/alignment_of_gcc.hpp b/3party/boost/boost/align/detail/alignment_of_gcc.hpp index 426dbba5e3..615968b477 100644 --- a/3party/boost/boost/align/detail/alignment_of_gcc.hpp +++ b/3party/boost/boost/align/detail/alignment_of_gcc.hpp @@ -1,25 +1,28 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://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 boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = __alignof__(T) - }; - }; - } - } -} +namespace alignment { +namespace detail { + +template +struct alignment_of + : integral_constant { +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/alignment_of_msvc.hpp b/3party/boost/boost/align/detail/alignment_of_msvc.hpp index fcf2b7dba0..87d6ac8e28 100644 --- a/3party/boost/boost/align/detail/alignment_of_msvc.hpp +++ b/3party/boost/boost/align/detail/alignment_of_msvc.hpp @@ -1,30 +1,28 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_ALIGNMENT_OF_MSVC_HPP #define BOOST_ALIGN_DETAIL_ALIGNMENT_OF_MSVC_HPP #include -#include -#include +#include namespace boost { - namespace alignment { - namespace detail { - template - struct alignment_of { - enum { - value = detail::min_size, object)>::value - }; - }; - } - } -} +namespace alignment { +namespace detail { + +template +struct alignment_of + : min_size, object)>::type { +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/assume_aligned.hpp b/3party/boost/boost/align/detail/assume_aligned.hpp new file mode 100644 index 0000000000..0ecefa1dd0 --- /dev/null +++ b/3party/boost/boost/align/detail/assume_aligned.hpp @@ -0,0 +1,17 @@ +/* +(c) 2015 NumScale SAS +(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI + +(c) 2015 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_HPP +#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_HPP + +#define BOOST_ALIGN_ASSUME_ALIGNED(ptr, alignment) + +#endif diff --git a/3party/boost/boost/align/detail/assume_aligned_clang.hpp b/3party/boost/boost/align/detail/assume_aligned_clang.hpp new file mode 100644 index 0000000000..d72b4cae86 --- /dev/null +++ b/3party/boost/boost/align/detail/assume_aligned_clang.hpp @@ -0,0 +1,21 @@ +/* +(c) 2015 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_CLANG_HPP +#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_CLANG_HPP + +#include + +#if defined(__has_builtin) && __has_builtin(__builtin_assume) +#define BOOST_ALIGN_ASSUME_ALIGNED(ptr, alignment) \ +__builtin_assume((uintptr_t(ptr) & ((alignment) - 1)) == 0) +#else +#define BOOST_ALIGN_ASSUME_ALIGNED(ptr, alignment) +#endif + +#endif diff --git a/3party/boost/boost/align/detail/assume_aligned_gcc.hpp b/3party/boost/boost/align/detail/assume_aligned_gcc.hpp new file mode 100644 index 0000000000..a1e6cb0280 --- /dev/null +++ b/3party/boost/boost/align/detail/assume_aligned_gcc.hpp @@ -0,0 +1,18 @@ +/* +(c) 2015 NumScale SAS +(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI + +(c) 2015 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_GCC_HPP +#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_GCC_HPP + +#define BOOST_ALIGN_ASSUME_ALIGNED(ptr, alignment) \ +(ptr) = __builtin_assume_aligned((ptr), (alignment)) + +#endif diff --git a/3party/boost/boost/align/detail/assume_aligned_intel.hpp b/3party/boost/boost/align/detail/assume_aligned_intel.hpp new file mode 100644 index 0000000000..aaaf331802 --- /dev/null +++ b/3party/boost/boost/align/detail/assume_aligned_intel.hpp @@ -0,0 +1,18 @@ +/* +(c) 2015 NumScale SAS +(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI + +(c) 2015 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_INTEL_HPP +#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_INTEL_HPP + +#define BOOST_ALIGN_ASSUME_ALIGNED(ptr, alignment) \ +__assume_aligned((ptr), (alignment)) + +#endif diff --git a/3party/boost/boost/align/detail/assume_aligned_msvc.hpp b/3party/boost/boost/align/detail/assume_aligned_msvc.hpp new file mode 100644 index 0000000000..fdad429b08 --- /dev/null +++ b/3party/boost/boost/align/detail/assume_aligned_msvc.hpp @@ -0,0 +1,20 @@ +/* +(c) 2015 NumScale SAS +(c) 2015 LRI UMR 8623 CNRS/University Paris Sud XI + +(c) 2015 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_MSVC_HPP +#define BOOST_ALIGN_DETAIL_ASSUME_ALIGNED_MSVC_HPP + +#include + +#define BOOST_ALIGN_ASSUME_ALIGNED(ptr, alignment) \ +__assume((uintptr_t(ptr) & ((alignment) - 1)) == 0) + +#endif diff --git a/3party/boost/boost/align/detail/integral_constant.hpp b/3party/boost/boost/align/detail/integral_constant.hpp new file mode 100644 index 0000000000..6116fea5f5 --- /dev/null +++ b/3party/boost/boost/align/detail/integral_constant.hpp @@ -0,0 +1,48 @@ +/* +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://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 boost { +namespace alignment { +namespace detail { + +#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +using std::integral_constant; +#else +template +struct integral_constant { + typedef T value_type; + typedef integral_constant type; + +#if !defined(BOOST_NO_CXX11_CONSTEXPR) + constexpr operator value_type() const { + return Value; + } + + static constexpr T value = Value; +#else + enum { + value = Value + }; +#endif +}; +#endif + +} /* :detail */ +} /* :alignment */ +} /* :boost */ + +#endif diff --git a/3party/boost/boost/align/detail/is_aligned.hpp b/3party/boost/boost/align/detail/is_aligned.hpp index a017e6b83a..a861e9f4c8 100644 --- a/3party/boost/boost/align/detail/is_aligned.hpp +++ b/3party/boost/boost/align/detail/is_aligned.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_IS_ALIGNED_HPP #define BOOST_ALIGN_DETAIL_IS_ALIGNED_HPP @@ -16,14 +16,16 @@ #include namespace boost { - namespace alignment { - inline bool is_aligned(std::size_t alignment, - const void* ptr) BOOST_NOEXCEPT - { - BOOST_ASSERT(detail::is_alignment(alignment)); - return (detail::address_t(ptr) & (alignment - 1)) == 0; - } - } +namespace alignment { + +inline bool is_aligned(std::size_t alignment, const void* ptr) + BOOST_NOEXCEPT +{ + BOOST_ASSERT(detail::is_alignment(alignment)); + return (detail::address_t(ptr) & (alignment - 1)) == 0; } +} /* :alignment */ +} /* :boost */ + #endif diff --git a/3party/boost/boost/align/detail/is_alignment.hpp b/3party/boost/boost/align/detail/is_alignment.hpp index 6e34cacb84..7ac0bb3d12 100644 --- a/3party/boost/boost/align/detail/is_alignment.hpp +++ b/3party/boost/boost/align/detail/is_alignment.hpp @@ -1,10 +1,10 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP #define BOOST_ALIGN_DETAIL_IS_ALIGNMENT_HPP @@ -13,15 +13,17 @@ #include namespace boost { - namespace alignment { - namespace detail { - BOOST_CONSTEXPR inline bool is_alignment(std::size_t - value) BOOST_NOEXCEPT - { - return (value > 0) && ((value & (value - 1)) == 0); - } - } - } +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/3party/boost/boost/align/detail/is_alignment_const.hpp b/3party/boost/boost/align/detail/is_alignment_const.hpp deleted file mode 100644 index f6d7e97408..0000000000 --- a/3party/boost/boost/align/detail/is_alignment_const.hpp +++ /dev/null @@ -1,27 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_IS_ALIGNMENT_CONST_HPP -#define BOOST_ALIGN_DETAIL_IS_ALIGNMENT_CONST_HPP - -#include - -namespace boost { - namespace alignment { - namespace detail { - template - struct is_alignment_const { - enum { - value = (N > 0) && ((N & (N - 1)) == 0) - }; - }; - } - } -} - -#endif diff --git a/3party/boost/boost/align/detail/is_alignment_constant.hpp b/3party/boost/boost/align/detail/is_alignment_constant.hpp new file mode 100644 index 0000000000..4c703cafc0 --- /dev/null +++ b/3party/boost/boost/align/detail/is_alignment_constant.hpp @@ -0,0 +1,28 @@ +/* +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_DETAIL_IS_ALIGNMENT_CONSTANT_HPP +#define BOOST_ALIGN_DETAIL_IS_ALIGNMENT_CONSTANT_HPP + +#include +#include + +namespace boost { +namespace alignment { +namespace detail { + +template +struct is_alignment_constant + : integral_constant 0) && ((N & (N - 1)) == 0)> { +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ + +#endif diff --git a/3party/boost/boost/align/detail/max_align.hpp b/3party/boost/boost/align/detail/max_align.hpp index 8e64e7bb9c..4351a5a2ed 100644 --- a/3party/boost/boost/align/detail/max_align.hpp +++ b/3party/boost/boost/align/detail/max_align.hpp @@ -1,27 +1,28 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_MAX_ALIGN_HPP #define BOOST_ALIGN_DETAIL_MAX_ALIGN_HPP +#include #include namespace boost { - namespace alignment { - namespace detail { - template - struct max_align { - enum { - value = (A > B) ? A : B - }; - }; - } - } -} +namespace alignment { +namespace detail { + +template +struct max_align + : integral_constant B) ? A : B> { +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/max_count_of.hpp b/3party/boost/boost/align/detail/max_count_of.hpp index 62917ac1f4..e0ae3bce96 100644 --- a/3party/boost/boost/align/detail/max_count_of.hpp +++ b/3party/boost/boost/align/detail/max_count_of.hpp @@ -1,27 +1,29 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_MAX_COUNT_OF_HPP #define BOOST_ALIGN_DETAIL_MAX_COUNT_OF_HPP +#include #include namespace boost { - namespace alignment { - namespace detail { - template - struct max_count_of { - enum { - value = ~static_cast(0) / sizeof(T) - }; - }; - } - } -} +namespace alignment { +namespace detail { + +template +struct max_count_of + : integral_constant(0) / sizeof(T)> { +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/min_size.hpp b/3party/boost/boost/align/detail/min_size.hpp index 20e31fb4b4..71afe8c686 100644 --- a/3party/boost/boost/align/detail/min_size.hpp +++ b/3party/boost/boost/align/detail/min_size.hpp @@ -1,27 +1,28 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_DETAIL_MIN_SIZE_HPP #define BOOST_ALIGN_DETAIL_MIN_SIZE_HPP +#include #include namespace boost { - namespace alignment { - namespace detail { - template - struct min_size { - enum { - value = (A < B) ? A : B - }; - }; - } - } -} +namespace alignment { +namespace detail { + +template +struct min_size + : integral_constant { +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ #endif diff --git a/3party/boost/boost/align/detail/offset_object.hpp b/3party/boost/boost/align/detail/offset_object.hpp new file mode 100644 index 0000000000..2055edfb4a --- /dev/null +++ b/3party/boost/boost/align/detail/offset_object.hpp @@ -0,0 +1,26 @@ +/* +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_DETAIL_OFFSET_OBJECT_HPP +#define BOOST_ALIGN_DETAIL_OFFSET_OBJECT_HPP + +namespace boost { +namespace alignment { +namespace detail { + +template +struct offset_object { + char offset; + T object; +}; + +} /* :detail */ +} /* :alignment */ +} /* :boost */ + +#endif diff --git a/3party/boost/boost/align/detail/padded.hpp b/3party/boost/boost/align/detail/padded.hpp deleted file mode 100644 index 9aeeee8929..0000000000 --- a/3party/boost/boost/align/detail/padded.hpp +++ /dev/null @@ -1,24 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_PADDED_HPP -#define BOOST_ALIGN_DETAIL_PADDED_HPP - -namespace boost { - namespace alignment { - namespace detail { - template - struct padded { - char unit; - T object; - }; - } - } -} - -#endif diff --git a/3party/boost/boost/align/detail/remove_traits.hpp b/3party/boost/boost/align/detail/remove_traits.hpp new file mode 100644 index 0000000000..f59d6bf9e8 --- /dev/null +++ b/3party/boost/boost/align/detail/remove_traits.hpp @@ -0,0 +1,92 @@ +/* +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com + +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt +*/ +#ifndef BOOST_ALIGN_DETAIL_REMOVE_TRAITS_HPP +#define BOOST_ALIGN_DETAIL_REMOVE_TRAITS_HPP + +#include + +#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) +#include +#else +#include +#endif + +namespace boost { +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_const { + typedef T type; +}; + +template +struct remove_const { + typedef T type; +}; + +template +struct remove_volatile { + typedef T type; +}; + +template +struct remove_volatile { + typedef T type; +}; + +template +struct remove_cv { + typedef typename remove_volatile::type>::type type; +}; +#endif + +} /* :detail */ +} /* :alignment */ +} /* :boost */ + +#endif diff --git a/3party/boost/boost/align/detail/type_traits.hpp b/3party/boost/boost/align/detail/type_traits.hpp deleted file mode 100644 index b250f18a2e..0000000000 --- a/3party/boost/boost/align/detail/type_traits.hpp +++ /dev/null @@ -1,90 +0,0 @@ -/* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com - - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) -*/ -#ifndef BOOST_ALIGN_DETAIL_TYPE_TRAITS_HPP -#define BOOST_ALIGN_DETAIL_TYPE_TRAITS_HPP - -#include - -#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS) -#include -#else -#include -#endif - -namespace boost { - 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_const { - typedef T type; - }; - - template - struct remove_const { - typedef T type; - }; - - template - struct remove_volatile { - typedef T type; - }; - - template - struct remove_volatile { - typedef T type; - }; - - template - struct remove_cv { - typedef typename remove_volatile::type>::type type; - }; -#endif - } - } -} - -#endif diff --git a/3party/boost/boost/align/is_aligned.hpp b/3party/boost/boost/align/is_aligned.hpp index d59bf8d9b8..7473864ca7 100644 --- a/3party/boost/boost/align/is_aligned.hpp +++ b/3party/boost/boost/align/is_aligned.hpp @@ -1,53 +1,14 @@ /* - Copyright (c) 2014 Glen Joseph Fernandes - glenfe at live dot com +(c) 2014 Glen Joseph Fernandes +glenjofe at gmail dot com - Distributed under the Boost Software License, - Version 1.0. (See accompanying file LICENSE_1_0.txt - or copy at http://boost.org/LICENSE_1_0.txt) +Distributed under the Boost Software +License, Version 1.0. +http://boost.org/LICENSE_1_0.txt */ #ifndef BOOST_ALIGN_IS_ALIGNED_HPP #define BOOST_ALIGN_IS_ALIGNED_HPP -/** - Function is_aligned. - - @file - @author Glen Fernandes -*/ - -/** - @cond -*/ #include -/** - @endcond -*/ - -/** - Boost namespace. -*/ -namespace boost { - /** - Alignment namespace. - */ - namespace alignment { - /** - Determines whether the space pointed to by - `ptr` has alignment specified by - `alignment`. - - @param alignment Shall be a power of two. - - @param ptr Pointer to test for alignment. - - @return `true` if and only if `ptr` points - to space that has alignment specified by - `alignment`. - */ - inline bool is_aligned(std::size_t alignment, - const void* ptr) BOOST_NOEXCEPT; - } -} #endif diff --git a/3party/boost/boost/any.hpp b/3party/boost/boost/any.hpp index a63fea42ad..437de2c023 100644 --- a/3party/boost/boost/any.hpp +++ b/3party/boost/boost/any.hpp @@ -15,11 +15,12 @@ // when: July 2001, April 2013 - May 2013 #include -#include #include "boost/config.hpp" +#include #include #include +#include #include #include #include @@ -28,17 +29,7 @@ #include #include #include - -// See boost/python/type_id.hpp -// TODO: add BOOST_TYPEID_COMPARE_BY_NAME to config.hpp -# if defined(__GNUC__) \ - || defined(_AIX) \ - || ( defined(__sgi) && defined(__host_mips)) \ - || (defined(__hpux) && defined(__HP_aCC)) \ - || (defined(linux) && defined(__INTEL_COMPILER) && defined(__ICC)) -# define BOOST_AUX_ANY_TYPE_ID_NAME -#include -# endif +#include namespace boost { @@ -53,7 +44,9 @@ namespace boost template any(const ValueType & value) - : content(new holder::type>(value)) + : content(new holder< + BOOST_DEDUCED_TYPENAME remove_cv::type>::type + >(value)) { } @@ -144,9 +137,9 @@ namespace boost any().swap(*this); } - const std::type_info & type() const BOOST_NOEXCEPT + const boost::typeindex::type_info& type() const BOOST_NOEXCEPT { - return content ? content->type() : typeid(void); + return content ? content->type() : boost::typeindex::type_id().type_info(); } #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -165,7 +158,7 @@ namespace boost public: // queries - virtual const std::type_info & type() const BOOST_NOEXCEPT = 0; + virtual const boost::typeindex::type_info& type() const BOOST_NOEXCEPT = 0; virtual placeholder * clone() const = 0; @@ -189,9 +182,9 @@ namespace boost #endif public: // queries - virtual const std::type_info & type() const BOOST_NOEXCEPT + virtual const boost::typeindex::type_info& type() const BOOST_NOEXCEPT { - return typeid(ValueType); + return boost::typeindex::type_id().type_info(); } virtual placeholder * clone() const @@ -232,7 +225,12 @@ namespace boost lhs.swap(rhs); } - class BOOST_SYMBOL_VISIBLE bad_any_cast : public std::bad_cast + 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 @@ -245,13 +243,8 @@ namespace boost template ValueType * any_cast(any * operand) BOOST_NOEXCEPT { - return operand && -#ifdef BOOST_AUX_ANY_TYPE_ID_NAME - std::strcmp(operand->type().name(), typeid(ValueType).name()) == 0 -#else - operand->type() == typeid(ValueType) -#endif - ? &static_cast *>(operand->content)->held + return operand && operand->type() == boost::typeindex::type_id() + ? &static_cast::type> *>(operand->content)->held : 0; } diff --git a/3party/boost/boost/archive/archive_exception.hpp b/3party/boost/boost/archive/archive_exception.hpp index ffb430c6a8..9cb7c14b0c 100644 --- a/3party/boost/boost/archive/archive_exception.hpp +++ b/3party/boost/boost/archive/archive_exception.hpp @@ -21,7 +21,6 @@ #include #include -#include #include // note: the only reason this is in here is that windows header @@ -40,11 +39,16 @@ namespace archive { ////////////////////////////////////////////////////////////////////// // exceptions thrown by archives // -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) archive_exception : +class BOOST_SYMBOL_VISIBLE archive_exception : public virtual std::exception { -protected: +private: char m_buffer[128]; +protected: + BOOST_ARCHIVE_DECL unsigned int + append(unsigned int l, const char * a); + BOOST_ARCHIVE_DECL + archive_exception() BOOST_NOEXCEPT; public: typedef enum { no_exception, // initialized without code @@ -76,19 +80,15 @@ public: // type has been instantiated in more than one module. output_stream_error // error on input stream } exception_code; -public: exception_code code; - archive_exception( + + BOOST_ARCHIVE_DECL archive_exception( exception_code c, const char * e1 = NULL, const char * e2 = NULL - ); - virtual ~archive_exception() throw(); - virtual const char *what() const throw(); -protected: - unsigned int - append(unsigned int l, const char * a); - archive_exception(); + ) BOOST_NOEXCEPT; + virtual BOOST_ARCHIVE_DECL ~archive_exception() BOOST_NOEXCEPT_OR_NOTHROW ; + virtual BOOST_ARCHIVE_DECL const char * what() const BOOST_NOEXCEPT_OR_NOTHROW ; }; }// namespace archive diff --git a/3party/boost/boost/archive/basic_archive.hpp b/3party/boost/boost/archive/basic_archive.hpp index 0412112352..ce7ac99a6d 100644 --- a/3party/boost/boost/archive/basic_archive.hpp +++ b/3party/boost/boost/archive/basic_archive.hpp @@ -69,7 +69,7 @@ public: } }; -BOOST_ARCHIVE_DECL(library_version_type) +BOOST_ARCHIVE_DECL library_version_type BOOST_ARCHIVE_VERSION(); class version_type { @@ -242,7 +242,7 @@ enum archive_flags { flags_last = 8 }; -BOOST_ARCHIVE_DECL(const char *) +BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_SIGNATURE(); /* NOTE : Warning : Warning : Warning : Warning : Warning diff --git a/3party/boost/boost/archive/basic_binary_iarchive.hpp b/3party/boost/boost/archive/basic_binary_iarchive.hpp index a649d5e919..d8fe0e0c67 100644 --- a/3party/boost/boost/archive/basic_binary_iarchive.hpp +++ b/3party/boost/boost/archive/basic_binary_iarchive.hpp @@ -25,7 +25,6 @@ #include #include -#include #include #include @@ -51,7 +50,7 @@ namespace detail { ///////////////////////////////////////////////////////////////////////// // class basic_binary_iarchive - read serialized objects from a input binary stream template -class basic_binary_iarchive : +class BOOST_SYMBOL_VISIBLE basic_binary_iarchive : public detail::common_iarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -72,8 +71,8 @@ protected: // note extra nonsense to sneak it pass the borland compiers typedef detail::common_iarchive detail_common_iarchive; template - void load_override(T & t, BOOST_PFTO int version){ - this->detail_common_iarchive::load_override(t, static_cast(version)); + void load_override(T & t){ + this->detail_common_iarchive::load_override(t); } // include these to trap a change in binary format which @@ -86,7 +85,7 @@ protected: BOOST_STATIC_ASSERT(sizeof(object_reference_type) == sizeof(uint_least32_t)); // binary files don't include the optional information - void load_override(class_id_optional_type & /* t */, int){} + void load_override(class_id_optional_type & /* t */){} void load_override(tracking_type & t, int /*version*/){ library_version_type lvt = this->get_library_version(); @@ -101,10 +100,10 @@ protected: t = boost::archive::tracking_type(x); } } - void load_override(class_id_type & t, int version){ + void load_override(class_id_type & t){ library_version_type lvt = this->get_library_version(); if(boost::archive::library_version_type(7) < lvt){ - this->detail_common_iarchive::load_override(t, version); + this->detail_common_iarchive::load_override(t); } else if(boost::archive::library_version_type(6) < lvt){ @@ -118,37 +117,14 @@ protected: t = boost::archive::class_id_type(x); } } - void load_override(class_id_reference_type & t, int version){ - load_override(static_cast(t), version); + void load_override(class_id_reference_type & t){ + load_override(static_cast(t)); } -#if 0 - void load_override(class_id_reference_type & t, int version){ - library_version_type lvt = this->get_library_version(); - if(boost::archive::library_version_type(7) < lvt){ - this->detail_common_iarchive::load_override(t, version); - } - else - if(boost::archive::library_version_type(6) < lvt){ - int_least16_t x=0; - * this->This() >> x; - t = boost::archive::class_id_reference_type( - boost::archive::class_id_type(x) - ); - } - else{ - int x=0; - * this->This() >> x; - t = boost::archive::class_id_reference_type( - boost::archive::class_id_type(x) - ); - } - } -#endif - void load_override(version_type & t, int version){ + void load_override(version_type & t){ library_version_type lvt = this->get_library_version(); if(boost::archive::library_version_type(7) < lvt){ - this->detail_common_iarchive::load_override(t, version); + this->detail_common_iarchive::load_override(t); } else if(boost::archive::library_version_type(6) < lvt){ @@ -176,11 +152,11 @@ protected: } } - void load_override(boost::serialization::item_version_type & t, int version){ + void load_override(boost::serialization::item_version_type & t){ library_version_type lvt = this->get_library_version(); // if(boost::archive::library_version_type(7) < lvt){ if(boost::archive::library_version_type(6) < lvt){ - this->detail_common_iarchive::load_override(t, version); + this->detail_common_iarchive::load_override(t); } else if(boost::archive::library_version_type(6) < lvt){ @@ -195,9 +171,9 @@ protected: } } - void load_override(serialization::collection_size_type & t, int version){ + void load_override(serialization::collection_size_type & t){ if(boost::archive::library_version_type(5) < this->get_library_version()){ - this->detail_common_iarchive::load_override(t, version); + this->detail_common_iarchive::load_override(t); } else{ unsigned int x=0; @@ -206,9 +182,9 @@ protected: } } - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(class_name_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + 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) : diff --git a/3party/boost/boost/archive/basic_binary_iprimitive.hpp b/3party/boost/boost/archive/basic_binary_iprimitive.hpp index 2e72a1c6fa..c0448b466b 100644 --- a/3party/boost/boost/archive/basic_binary_iprimitive.hpp +++ b/3party/boost/boost/archive/basic_binary_iprimitive.hpp @@ -49,22 +49,25 @@ namespace std{ #include #include -#include -#include #include #include #include + +#include +#include #include #include // must be the last header namespace boost { namespace archive { +template +class codecvt_null; + ///////////////////////////////////////////////////////////////////////////// // class binary_iarchive - read serialized objects from a input binary stream template -class basic_binary_iprimitive -{ +class BOOST_SYMBOL_VISIBLE basic_binary_iprimitive { #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS friend class load_access; protected: @@ -78,6 +81,7 @@ public: } #ifndef BOOST_NO_STD_LOCALE + boost::scoped_ptr > codecvt_facet; boost::scoped_ptr archive_locale; basic_streambuf_locale_saver locale_saver; #endif @@ -98,25 +102,25 @@ public: BOOST_ASSERT(0 == i || 1 == i); (void)i; // warning suppression for release builds. } - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void load(std::string &s); #ifndef BOOST_NO_STD_WSTRING - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void load(std::wstring &ws); #endif - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void load(char * t); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void load(wchar_t * t); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void init(); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_binary_iprimitive( std::basic_streambuf & sb, bool no_codecvt ); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_binary_iprimitive(); public: // we provide an optimized load for all fundamental types diff --git a/3party/boost/boost/archive/basic_binary_oarchive.hpp b/3party/boost/boost/archive/basic_binary_oarchive.hpp index f8b53e9d7c..6cffea4854 100644 --- a/3party/boost/boost/archive/basic_binary_oarchive.hpp +++ b/3party/boost/boost/archive/basic_binary_oarchive.hpp @@ -26,7 +26,6 @@ #include #include #include -#include #include #include @@ -59,8 +58,8 @@ 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 basic_binary_oarchive : - public archive::detail::common_oarchive +class BOOST_SYMBOL_VISIBLE basic_binary_oarchive : + public detail::common_oarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS public: @@ -77,8 +76,8 @@ protected: // any datatype not specifed below will be handled by base class typedef detail::common_oarchive detail_common_oarchive; template - void save_override(const T & t, BOOST_PFTO int version){ - this->detail_common_oarchive::save_override(t, static_cast(version)); + void save_override(const T & t){ + this->detail_common_oarchive::save_override(t); } // include these to trap a change in binary format which @@ -92,14 +91,14 @@ protected: BOOST_STATIC_ASSERT(sizeof(object_reference_type) == sizeof(uint_least32_t)); // binary files don't include the optional information - void save_override(const class_id_optional_type & /* t */, int){} + 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 boost::archive::version_type & t, int version){ + void save_override(const boost::archive::version_type & t){ library_version_type lvt = this->get_library_version(); if(boost::archive::library_version_type(7) < lvt){ - this->detail_common_oarchive::save_override(t, version); + this->detail_common_oarchive::save_override(t); } else if(boost::archive::library_version_type(6) < lvt){ @@ -111,10 +110,10 @@ protected: * this->This() << x; } } - void save_override(const boost::serialization::item_version_type & t, int version){ + void save_override(const boost::serialization::item_version_type & t){ library_version_type lvt = this->get_library_version(); if(boost::archive::library_version_type(7) < lvt){ - this->detail_common_oarchive::save_override(t, version); + this->detail_common_oarchive::save_override(t); } else if(boost::archive::library_version_type(6) < lvt){ @@ -127,10 +126,10 @@ protected: } } - void save_override(class_id_type & t, int version){ + void save_override(class_id_type & t){ library_version_type lvt = this->get_library_version(); if(boost::archive::library_version_type(7) < lvt){ - this->detail_common_oarchive::save_override(t, version); + this->detail_common_oarchive::save_override(t); } else if(boost::archive::library_version_type(6) < lvt){ @@ -142,20 +141,20 @@ protected: * this->This() << x; } } - void save_override(class_id_reference_type & t, int version){ - save_override(static_cast(t), version); + void save_override(class_id_reference_type & t){ + save_override(static_cast(t)); } #endif // explicitly convert to char * to avoid compile ambiguities - void save_override(const class_name_type & t, int){ + void save_override(const class_name_type & t){ const std::string s(t); * this->This() << s; } #if 0 - void save_override(const serialization::collection_size_type & t, int){ + void save_override(const serialization::collection_size_type & t){ if (get_library_version() < boost::archive::library_version_type(6)){ unsigned int x=0; * this->This() >> x; @@ -166,7 +165,7 @@ protected: } } #endif - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void init(); basic_binary_oarchive(unsigned int flags) : diff --git a/3party/boost/boost/archive/basic_binary_oprimitive.hpp b/3party/boost/boost/archive/basic_binary_oprimitive.hpp index ba070cd39a..87b70c9a9e 100644 --- a/3party/boost/boost/archive/basic_binary_oprimitive.hpp +++ b/3party/boost/boost/archive/basic_binary_oprimitive.hpp @@ -54,11 +54,14 @@ namespace std{ namespace boost { namespace archive { +template +class codecvt_null; + ///////////////////////////////////////////////////////////////////////// // class basic_binary_oprimitive - binary output of prmitives template -class basic_binary_oprimitive { +class BOOST_SYMBOL_VISIBLE basic_binary_oprimitive { #ifndef BOOST_NO_MEMBER_TEMPLATE_FRIENDS friend class save_access; protected: @@ -71,6 +74,7 @@ public: return static_cast(this); } #ifndef BOOST_NO_STD_LOCALE + boost::scoped_ptr > codecvt_facet; boost::scoped_ptr archive_locale; basic_streambuf_locale_saver locale_saver; #endif @@ -90,26 +94,26 @@ public: BOOST_ASSERT(0 == static_cast(t) || 1 == static_cast(t)); save_binary(& t, sizeof(t)); } - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void save(const std::string &s); #ifndef BOOST_NO_STD_WSTRING - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void save(const std::wstring &ws); #endif - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void save(const char * t); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void save(const wchar_t * t); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void init(); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_binary_oprimitive( std::basic_streambuf & sb, bool no_codecvt ); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_binary_oprimitive(); public: diff --git a/3party/boost/boost/archive/basic_streambuf_locale_saver.hpp b/3party/boost/boost/archive/basic_streambuf_locale_saver.hpp index 6bf8f715cb..64c8e5d314 100644 --- a/3party/boost/boost/archive/basic_streambuf_locale_saver.hpp +++ b/3party/boost/boost/archive/basic_streambuf_locale_saver.hpp @@ -7,7 +7,7 @@ #endif /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_streambuf_local_saver.hpp +// basic_streambuf_locale_saver.hpp // (C) Copyright 2005 Robert Ramey - http://www.rrsd.com @@ -55,8 +55,10 @@ public: {} ~basic_streambuf_locale_saver() { this->restore(); } - void restore() - { s_save_.pubimbue( a_save_ ); } + void restore(){ + s_save_.pubsync(); + s_save_.pubimbue( a_save_ ); + } private: state_type & s_save_; aspect_type const a_save_; diff --git a/3party/boost/boost/archive/basic_text_iarchive.hpp b/3party/boost/boost/archive/basic_text_iarchive.hpp index 0e78ff6d14..74e086ec2e 100644 --- a/3party/boost/boost/archive/basic_text_iarchive.hpp +++ b/3party/boost/boost/archive/basic_text_iarchive.hpp @@ -25,7 +25,6 @@ // use two template parameters #include -#include #include #include @@ -47,7 +46,7 @@ namespace detail { ///////////////////////////////////////////////////////////////////////// // class basic_text_iarchive - read serialized objects from a input text stream template -class basic_text_iarchive : +class BOOST_SYMBOL_VISIBLE basic_text_iarchive : public detail::common_iarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -67,16 +66,16 @@ protected: // template ordering typedef detail::common_iarchive detail_common_iarchive; template - void load_override(T & t, BOOST_PFTO int){ - this->detail_common_iarchive::load_override(t, 0); + void load_override(T & t){ + this->detail_common_iarchive::load_override(t); } // text file don't include the optional information - void load_override(class_id_optional_type & /*t*/, int){} + void load_override(class_id_optional_type & /*t*/){} - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(class_name_type & t, int); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + load_override(class_name_type & t); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void init(void); basic_text_iarchive(unsigned int flags) : diff --git a/3party/boost/boost/archive/basic_text_iprimitive.hpp b/3party/boost/boost/archive/basic_text_iprimitive.hpp index dabc3c8710..ca988fe177 100644 --- a/3party/boost/boost/archive/basic_text_iprimitive.hpp +++ b/3party/boost/boost/archive/basic_text_iprimitive.hpp @@ -64,7 +64,7 @@ namespace archive { #endif template -class basic_text_iprimitive { +class BOOST_SYMBOL_VISIBLE basic_text_iprimitive { protected: IStream &is; io::ios_flags_saver flags_saver; @@ -116,12 +116,12 @@ protected: t = i; } #endif - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_text_iprimitive(IStream &is, bool no_codecvt); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_text_iprimitive(); public: - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void load_binary(void *address, std::size_t count); }; diff --git a/3party/boost/boost/archive/basic_text_oarchive.hpp b/3party/boost/boost/archive/basic_text_oarchive.hpp index bed9cd34d6..9b9129e510 100644 --- a/3party/boost/boost/archive/basic_text_oarchive.hpp +++ b/3party/boost/boost/archive/basic_text_oarchive.hpp @@ -24,11 +24,8 @@ // in such cases. So we can't use basic_ostream but rather // use two template parameters -#include #include -#include #include - #include #include @@ -49,7 +46,7 @@ namespace detail { ///////////////////////////////////////////////////////////////////////// // class basic_text_oarchive template -class basic_text_oarchive : +class BOOST_SYMBOL_VISIBLE basic_text_oarchive : public detail::common_oarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -71,7 +68,7 @@ protected: space } delimiter; - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void newtoken(); void newline(){ @@ -82,25 +79,25 @@ protected: // extra stuff to get it passed borland compilers typedef detail::common_oarchive detail_common_oarchive; template - void save_override(T & t, BOOST_PFTO int){ - this->detail_common_oarchive::save_override(t, 0); + void save_override(T & t){ + this->detail_common_oarchive::save_override(t); } // start new objects on a new line - void save_override(const object_id_type & t, int){ + void save_override(const object_id_type & t){ this->This()->newline(); - this->detail_common_oarchive::save_override(t, 0); + this->detail_common_oarchive::save_override(t); } // text file don't include the optional information - void save_override(const class_id_optional_type & /* t */, int){} + void save_override(const class_id_optional_type & /* t */){} - void save_override(const class_name_type & t, int){ + void save_override(const class_name_type & t){ const std::string s(t); * this->This() << s; } - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void init(); basic_text_oarchive(unsigned int flags) : diff --git a/3party/boost/boost/archive/basic_text_oprimitive.hpp b/3party/boost/boost/archive/basic_text_oprimitive.hpp index 73a0a62e56..10598edb68 100644 --- a/3party/boost/boost/archive/basic_text_oprimitive.hpp +++ b/3party/boost/boost/archive/basic_text_oprimitive.hpp @@ -61,12 +61,10 @@ namespace std{ namespace boost { namespace archive { -class save_access; - ///////////////////////////////////////////////////////////////////////// // class basic_text_oprimitive - output of prmitives to stream template -class basic_text_oprimitive +class BOOST_SYMBOL_VISIBLE basic_text_oprimitive { protected: OStream &os; @@ -176,9 +174,9 @@ protected: save_impl(t, tf); } - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_text_oprimitive(OStream & os, bool no_codecvt); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_text_oprimitive(); public: // unformatted append of one character @@ -194,7 +192,7 @@ public: 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); }; diff --git a/3party/boost/boost/archive/basic_xml_archive.hpp b/3party/boost/boost/archive/basic_xml_archive.hpp index a4ad3a2f06..bef368b973 100644 --- a/3party/boost/boost/archive/basic_xml_archive.hpp +++ b/3party/boost/boost/archive/basic_xml_archive.hpp @@ -27,35 +27,35 @@ namespace archive { // constant strings used in xml i/o extern -BOOST_ARCHIVE_DECL(const char *) +BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_OBJECT_ID(); extern -BOOST_ARCHIVE_DECL(const char *) +BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_OBJECT_REFERENCE(); extern -BOOST_ARCHIVE_DECL(const char *) +BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_CLASS_ID(); extern -BOOST_ARCHIVE_DECL(const char *) +BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_CLASS_ID_REFERENCE(); extern -BOOST_ARCHIVE_DECL(const char *) +BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_CLASS_NAME(); extern -BOOST_ARCHIVE_DECL(const char *) +BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_TRACKING(); extern -BOOST_ARCHIVE_DECL(const char *) +BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_VERSION(); extern -BOOST_ARCHIVE_DECL(const char *) +BOOST_ARCHIVE_DECL const char * BOOST_ARCHIVE_XML_SIGNATURE(); }// namespace archive diff --git a/3party/boost/boost/archive/basic_xml_iarchive.hpp b/3party/boost/boost/archive/basic_xml_iarchive.hpp index 5047fef26c..7834d8a100 100644 --- a/3party/boost/boost/archive/basic_xml_iarchive.hpp +++ b/3party/boost/boost/archive/basic_xml_iarchive.hpp @@ -17,7 +17,6 @@ // See http://www.boost.org for updates, documentation, and revision history. #include -#include #include #include @@ -44,7 +43,7 @@ namespace detail { ///////////////////////////////////////////////////////////////////////// // class xml_iarchive - read serialized objects from a input text stream template -class basic_xml_iarchive : +class BOOST_SYMBOL_VISIBLE basic_xml_iarchive : public detail::common_iarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -60,21 +59,21 @@ protected: #endif #endif unsigned int depth; - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void load_start(const char *name); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void load_end(const char *name); // Anything not an attribute and not a name-value pair is an // should be trapped here. template - void load_override(T & t, BOOST_PFTO int) + void load_override(T & t) { // If your program fails to compile here, its most likely due to // not specifying an nvp wrapper around the variable to // be serialized. BOOST_MPL_ASSERT((serialization::is_wrapper< T >)); - this->detail_common_iarchive::load_override(t, 0); + this->detail_common_iarchive::load_override(t); } // Anything not an attribute - see below - should be a name value @@ -82,14 +81,10 @@ protected: typedef detail::common_iarchive detail_common_iarchive; template void load_override( - #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - const - #endif - boost::serialization::nvp< T > & t, - int + const boost::serialization::nvp< T > & t ){ this->This()->load_start(t.name()); - this->detail_common_iarchive::load_override(t.value(), 0); + this->detail_common_iarchive::load_override(t.value()); this->This()->load_end(t.name()); } @@ -101,23 +96,23 @@ protected: // an xml archive. So we can skip it here. Note: we MUST override // it otherwise it will be loaded as a normal primitive w/o tag and // leaving the archive in an undetermined state - void load_override(class_id_optional_type & /* t */, int){} - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(object_id_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(version_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(class_id_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - load_override(tracking_type & t, int); + void load_override(class_id_optional_type & /* t */){} + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + load_override(object_id_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + load_override(version_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + load_override(class_id_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + load_override(tracking_type & t); // class_name_type can't be handled here as it depends upon the // char type used by the stream. So require the derived implementation // handle this. - // void load_override(class_name_type & t, int); + // void load_override(class_name_type & t); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_xml_iarchive(unsigned int flags); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_xml_iarchive(); }; diff --git a/3party/boost/boost/archive/basic_xml_oarchive.hpp b/3party/boost/boost/archive/basic_xml_oarchive.hpp index c986833c27..0325eee653 100644 --- a/3party/boost/boost/archive/basic_xml_oarchive.hpp +++ b/3party/boost/boost/archive/basic_xml_oarchive.hpp @@ -17,6 +17,8 @@ // See http://www.boost.org for updates, documentation, and revision history. #include +#include +#include #include @@ -24,7 +26,6 @@ #include #include -#include #include // must be the last header @@ -43,7 +44,7 @@ namespace detail { ////////////////////////////////////////////////////////////////////// // class basic_xml_oarchive - write serialized objects to a xml output stream template -class basic_xml_oarchive : +class BOOST_SYMBOL_VISIBLE basic_xml_oarchive : public detail::common_oarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -63,78 +64,74 @@ protected: unsigned int depth; bool indent_next; bool pending_preamble; - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void indent(); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void init(); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void write_attribute( const char *attribute_name, int t, const char *conjunction = "=\"" ); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void write_attribute( const char *attribute_name, const char *key ); // helpers used below - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void save_start(const char *name); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void save_end(const char *name); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) + BOOST_ARCHIVE_OR_WARCHIVE_DECL void end_preamble(); // Anything not an attribute and not a name-value pair is an // error and should be trapped here. template - void save_override(T & t, BOOST_PFTO int) + void save_override(T & t) { // If your program fails to compile here, its most likely due to // not specifying an nvp wrapper around the variable to // be serialized. BOOST_MPL_ASSERT((serialization::is_wrapper< T >)); - this->detail_common_oarchive::save_override(t, 0); + this->detail_common_oarchive::save_override(t); } // special treatment for name-value pairs. typedef detail::common_oarchive detail_common_oarchive; template void save_override( - #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - const - #endif - ::boost::serialization::nvp< T > & t, - int + const ::boost::serialization::nvp< T > & t ){ this->This()->save_start(t.name()); - this->detail_common_oarchive::save_override(t.const_value(), 0); + this->detail_common_oarchive::save_override(t.const_value()); this->This()->save_end(t.name()); } // specific overrides for attributes - not name value pairs so we // want to trap them before the above "fall through" - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const object_id_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const object_reference_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const version_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const class_id_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const class_id_optional_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const class_id_reference_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const class_name_type & t, int); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) - save_override(const tracking_type & t, int); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + save_override(const object_id_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + save_override(const object_reference_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + save_override(const version_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + save_override(const class_id_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + save_override(const class_id_optional_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + save_override(const class_id_reference_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + save_override(const class_name_type & t); + BOOST_ARCHIVE_OR_WARCHIVE_DECL void + save_override(const tracking_type & t); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_xml_oarchive(unsigned int flags); - BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_OR_WARCHIVE_DECL ~basic_xml_oarchive(); }; diff --git a/3party/boost/boost/archive/binary_iarchive.hpp b/3party/boost/boost/archive/binary_iarchive.hpp index ce67ccabd0..785ce7610b 100644 --- a/3party/boost/boost/archive/binary_iarchive.hpp +++ b/3party/boost/boost/archive/binary_iarchive.hpp @@ -31,7 +31,7 @@ namespace archive { // do not derive from this class. If you want to extend this functionality // via inhertance, derived from binary_iarchive_impl instead. This will // preserve correct static polymorphism. -class binary_iarchive : +class BOOST_SYMBOL_VISIBLE binary_iarchive : public binary_iarchive_impl< boost::archive::binary_iarchive, std::istream::char_type, diff --git a/3party/boost/boost/archive/binary_iarchive_impl.hpp b/3party/boost/boost/archive/binary_iarchive_impl.hpp index a9afe61688..3ff994ad83 100644 --- a/3party/boost/boost/archive/binary_iarchive_impl.hpp +++ b/3party/boost/boost/archive/binary_iarchive_impl.hpp @@ -17,7 +17,6 @@ // See http://www.boost.org for updates, documentation, and revision history. #include -#include #include #include @@ -54,12 +53,9 @@ protected: friend class load_access; #endif #endif - // note: the following should not needed - but one compiler (vc 7.1) - // fails to compile one test (test_shared_ptr) without it !!! - // make this protected so it can be called from a derived archive template - void load_override(T & t, BOOST_PFTO int){ - this->basic_binary_iarchive::load_override(t, 0L); + void load_override(T & t){ + this->basic_binary_iarchive::load_override(t); } void init(unsigned int flags){ if(0 != (flags & no_header)) diff --git a/3party/boost/boost/archive/binary_oarchive.hpp b/3party/boost/boost/archive/binary_oarchive.hpp index 89a86da418..7711fbb6f8 100644 --- a/3party/boost/boost/archive/binary_oarchive.hpp +++ b/3party/boost/boost/archive/binary_oarchive.hpp @@ -32,7 +32,7 @@ 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_oarchive : +class BOOST_SYMBOL_VISIBLE binary_oarchive : public binary_oarchive_impl< binary_oarchive, std::ostream::char_type, std::ostream::traits_type > diff --git a/3party/boost/boost/archive/binary_oarchive_impl.hpp b/3party/boost/boost/archive/binary_oarchive_impl.hpp index a8c97333ec..76e3a6565b 100644 --- a/3party/boost/boost/archive/binary_oarchive_impl.hpp +++ b/3party/boost/boost/archive/binary_oarchive_impl.hpp @@ -18,7 +18,6 @@ #include #include -#include #include #include @@ -55,12 +54,9 @@ protected: friend class save_access; #endif #endif - // note: the following should not needed - but one compiler (vc 7.1) - // fails to compile one test (test_shared_ptr) without it !!! - // make this protected so it can be called from a derived archive template - void save_override(T & t, BOOST_PFTO int){ - this->basic_binary_oarchive::save_override(t, 0L); + void save_override(T & t){ + this->basic_binary_oarchive::save_override(t); } void init(unsigned int flags) { if(0 != (flags & no_header)) diff --git a/3party/boost/boost/archive/codecvt_null.hpp b/3party/boost/boost/archive/codecvt_null.hpp index caeefee5c0..324122b78a 100644 --- a/3party/boost/boost/archive/codecvt_null.hpp +++ b/3party/boost/boost/archive/codecvt_null.hpp @@ -61,7 +61,7 @@ public: template<> class codecvt_null : public std::codecvt { - virtual BOOST_WARCHIVE_DECL(std::codecvt_base::result) + virtual BOOST_WARCHIVE_DECL std::codecvt_base::result do_out( std::mbstate_t & state, const wchar_t * first1, @@ -71,7 +71,7 @@ class codecvt_null : public std::codecvt char * last2, char * & next2 ) const; - virtual BOOST_WARCHIVE_DECL(std::codecvt_base::result) + virtual BOOST_WARCHIVE_DECL std::codecvt_base::result do_in( std::mbstate_t & state, const char * first1, @@ -87,6 +87,10 @@ class codecvt_null : public std::codecvt virtual int do_max_length( ) const throw( ){ return do_encoding(); } +public: + explicit codecvt_null(std::size_t no_locale_manage = 0) : + std::codecvt(no_locale_manage) + {} }; } // namespace archive diff --git a/3party/boost/boost/archive/detail/abi_prefix.hpp b/3party/boost/boost/archive/detail/abi_prefix.hpp index e39ef11f18..debf79e9f0 100644 --- a/3party/boost/boost/archive/detail/abi_prefix.hpp +++ b/3party/boost/boost/archive/detail/abi_prefix.hpp @@ -14,7 +14,3 @@ # pragma warning(disable : 4251 4231 4660 4275) #endif -#if defined( __BORLANDC__ ) -#pragma nopushoptwarn -#endif - diff --git a/3party/boost/boost/archive/detail/abi_suffix.hpp b/3party/boost/boost/archive/detail/abi_suffix.hpp index a283b36cf3..4e054d6621 100644 --- a/3party/boost/boost/archive/detail/abi_suffix.hpp +++ b/3party/boost/boost/archive/detail/abi_suffix.hpp @@ -13,7 +13,3 @@ #endif #include // pops abi_suffix.hpp pragmas -#if defined( __BORLANDC__ ) -#pragma nopushoptwarn -#endif - diff --git a/3party/boost/boost/archive/detail/archive_serializer_map.hpp b/3party/boost/boost/archive/detail/archive_serializer_map.hpp index 53fcae4045..5432bfc73e 100644 --- a/3party/boost/boost/archive/detail/archive_serializer_map.hpp +++ b/3party/boost/boost/archive/detail/archive_serializer_map.hpp @@ -36,12 +36,11 @@ namespace detail { class basic_serializer; template -class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) -archive_serializer_map { +class BOOST_SYMBOL_VISIBLE archive_serializer_map { public: - static bool insert(const basic_serializer * bs); - static void erase(const basic_serializer * bs); - static const basic_serializer * find( + static BOOST_ARCHIVE_OR_WARCHIVE_DECL bool insert(const basic_serializer * bs); + static BOOST_ARCHIVE_OR_WARCHIVE_DECL void erase(const basic_serializer * bs); + static BOOST_ARCHIVE_OR_WARCHIVE_DECL const basic_serializer * find( const boost::serialization::extended_type_info & type_ ); }; diff --git a/3party/boost/boost/archive/detail/basic_archive_impl.hpp b/3party/boost/boost/archive/detail/basic_archive_impl.hpp deleted file mode 100644 index b84a509837..0000000000 --- a/3party/boost/boost/archive/detail/basic_archive_impl.hpp +++ /dev/null @@ -1,48 +0,0 @@ -#ifndef BOOST_ARCHIVE_DETAIL_BASIC_ARCHIVE_IMPL_HPP -#define BOOST_ARCHIVE_DETAIL_BASIC_ARCHIVE_IMPL_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// basic_archive_impl.hpp: - -// (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. - -// can't use this - much as I'd like to as borland doesn't support it -// #include - -#include - -#include // must be the last header - -namespace boost { -namespace serialization { - class extended_type_info; -} // namespace serialization - -namespace archive { -namespace detail { - -////////////////////////////////////////////////////////////////////// -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_archive_impl -{ -}; - -} // namespace detail -} // namespace serialization -} // namespace boost - -#include // pops abi_suffix.hpp pragmas - -#endif //BOOST_ARCHIVE_DETAIL_BASIC_ARCHIVE_IMPL_HPP - - - diff --git a/3party/boost/boost/archive/detail/basic_config.hpp b/3party/boost/boost/archive/detail/basic_config.hpp deleted file mode 100644 index 4bd2723eb2..0000000000 --- a/3party/boost/boost/archive/detail/basic_config.hpp +++ /dev/null @@ -1,45 +0,0 @@ -#ifndef BOOST_ARCHIVE_DETAIL_BASIC_CONFIG_HPP -#define BOOST_ARCHIVE_DETAIL_BASIC_CONFIG_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -// basic_config.hpp ---------------------------------------------// - -// (c) Copyright Robert Ramey 2004 -// 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 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 - -#include - -#ifdef BOOST_HAS_DECLSPEC // defined in config system -// we need to import/export our code only if the user has specifically -// asked for it by defining either BOOST_ALL_DYN_LINK if they want all boost -// libraries to be dynamically linked, or BOOST_ARCHIVE_DYN_LINK -// if they want just this one to be dynamically linked: -#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_ARCHIVE_DYN_LINK) -// export if this is our own source, otherwise import: -#ifdef BOOST_ARCHIVE_SOURCE -# define BOOST_ARCHIVE_DECL __declspec(dllexport) -#else -# define BOOST_ARCHIVE_DECL __declspec(dllimport) -#endif // BOOST_ARCHIVE_SOURCE -#endif // DYN_LINK -#endif // BOOST_HAS_DECLSPEC -// -// if BOOST_ARCHIVE_DECL isn't defined yet define it now: -#ifndef BOOST_ARCHIVE_DECL -#define BOOST_ARCHIVE_DECL -#endif - -#endif // BOOST_ARCHIVE_DETAIL_BASIC_CONFIG_HPP diff --git a/3party/boost/boost/archive/detail/basic_iarchive.hpp b/3party/boost/boost/archive/detail/basic_iarchive.hpp index fdafbbf841..5db461c186 100644 --- a/3party/boost/boost/archive/detail/basic_iarchive.hpp +++ b/3party/boost/boost/archive/detail/basic_iarchive.hpp @@ -17,10 +17,10 @@ // See http://www.boost.org for updates, documentation, and revision history. // can't use this - much as I'd like to as borland doesn't support it -// #include #include #include +#include #include #include @@ -37,19 +37,18 @@ namespace archive { namespace detail { class basic_iarchive_impl; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer; +class basic_iserializer; +class basic_pointer_iserializer; + ////////////////////////////////////////////////////////////////////// // class basic_iarchive - read serialized objects from a input stream -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive : +class BOOST_SYMBOL_VISIBLE basic_iarchive : private boost::noncopyable, public boost::archive::detail::helper_collection { friend class basic_iarchive_impl; // hide implementation of this class to minimize header conclusion - // in client code. I couldn't used scoped pointer with borland - // boost::scoped_ptr pimpl; - basic_iarchive_impl * pimpl; + boost::scoped_ptr pimpl; virtual void vload(version_type &t) = 0; virtual void vload(object_id_type &t) = 0; @@ -58,41 +57,46 @@ class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive : virtual void vload(class_name_type &t) = 0; virtual void vload(tracking_type &t) = 0; protected: - basic_iarchive(unsigned int flags); + BOOST_ARCHIVE_DECL basic_iarchive(unsigned int flags); + boost::archive::detail::helper_collection & + get_helper_collection(){ + return *this; + } +public: + // some msvc versions require that the following function be public + // otherwise it should really protected. // account for bogus gcc warning #if defined(__GNUC__) virtual #endif - ~basic_iarchive(); -public: + BOOST_ARCHIVE_DECL ~basic_iarchive(); // note: NOT part of the public API. - void next_object_pointer(void *t); - void register_basic_serializer( + BOOST_ARCHIVE_DECL void next_object_pointer(void *t); + BOOST_ARCHIVE_DECL void register_basic_serializer( const basic_iserializer & bis ); - void load_object( + BOOST_ARCHIVE_DECL void load_object( void *t, const basic_iserializer & bis ); - const basic_pointer_iserializer * + BOOST_ARCHIVE_DECL const basic_pointer_iserializer * load_pointer( void * & t, const basic_pointer_iserializer * bpis_ptr, const basic_pointer_iserializer * (*finder)( const boost::serialization::extended_type_info & eti ) - ); // real public API starts here - void + BOOST_ARCHIVE_DECL void set_library_version(library_version_type archive_library_version); - library_version_type + BOOST_ARCHIVE_DECL library_version_type get_library_version() const; - unsigned int + BOOST_ARCHIVE_DECL unsigned int get_flags() const; - void + BOOST_ARCHIVE_DECL void reset_object_address(const void * new_address, const void * old_address); - void + BOOST_ARCHIVE_DECL void delete_created_pointers(); }; diff --git a/3party/boost/boost/archive/detail/basic_iserializer.hpp b/3party/boost/boost/archive/detail/basic_iserializer.hpp index 3bff3e1256..61d288fe4e 100644 --- a/3party/boost/boost/archive/detail/basic_iserializer.hpp +++ b/3party/boost/boost/archive/detail/basic_iserializer.hpp @@ -39,23 +39,23 @@ namespace serialization { namespace archive { namespace detail { -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer; +class basic_iarchive; +class basic_pointer_iserializer; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer : +class BOOST_SYMBOL_VISIBLE basic_iserializer : public basic_serializer { private: basic_pointer_iserializer *m_bpis; protected: - explicit basic_iserializer( + explicit BOOST_ARCHIVE_DECL basic_iserializer( const boost::serialization::extended_type_info & type ); // account for bogus gcc warning #if defined(__GNUC__) virtual #endif - ~basic_iserializer(); + BOOST_ARCHIVE_DECL ~basic_iserializer(); public: bool serialized_as_pointer() const { return m_bpis != NULL; diff --git a/3party/boost/boost/archive/detail/basic_oarchive.hpp b/3party/boost/boost/archive/detail/basic_oarchive.hpp index f65d11036c..702c5604bc 100644 --- a/3party/boost/boost/archive/detail/basic_oarchive.hpp +++ b/3party/boost/boost/archive/detail/basic_oarchive.hpp @@ -19,9 +19,7 @@ #include // NULL #include #include - -// can't use this - much as I'd like to as borland doesn't support it -// #include +#include #include #include @@ -37,20 +35,18 @@ namespace archive { namespace detail { class basic_oarchive_impl; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer; +class basic_oserializer; +class basic_pointer_oserializer; ////////////////////////////////////////////////////////////////////// // class basic_oarchive - write serialized objects to an output stream -class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive : +class BOOST_SYMBOL_VISIBLE basic_oarchive : private boost::noncopyable, public boost::archive::detail::helper_collection { friend class basic_oarchive_impl; // hide implementation of this class to minimize header conclusion - // in client code. note: borland can't use scoped_ptr - //boost::scoped_ptr pimpl; - basic_oarchive_impl * pimpl; + boost::scoped_ptr pimpl; // overload these to bracket object attributes. Used to implement // xml archives @@ -63,22 +59,26 @@ class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive : virtual void vsave(const class_name_type & t) = 0; virtual void vsave(const tracking_type t) = 0; protected: - basic_oarchive(unsigned int flags = 0); + BOOST_ARCHIVE_DECL basic_oarchive(unsigned int flags = 0); + BOOST_ARCHIVE_DECL boost::archive::detail::helper_collection & + get_helper_collection(){ + return *this; + } // account for bogus gcc warning #if defined(__GNUC__) virtual #endif - ~basic_oarchive(); + BOOST_ARCHIVE_DECL ~basic_oarchive(); public: // note: NOT part of the public interface - void register_basic_serializer( + BOOST_ARCHIVE_DECL void register_basic_serializer( const basic_oserializer & bos ); - void save_object( + BOOST_ARCHIVE_DECL void save_object( const void *x, const basic_oserializer & bos ); - void save_pointer( + BOOST_ARCHIVE_DECL void save_pointer( const void * t, const basic_pointer_oserializer * bpos_ptr ); @@ -86,9 +86,9 @@ public: vsave(NULL_POINTER_TAG); } // real public interface starts here - void end_preamble(); // default implementation does nothing - library_version_type get_library_version() const; - unsigned int get_flags() const; + BOOST_ARCHIVE_DECL void end_preamble(); // default implementation does nothing + BOOST_ARCHIVE_DECL library_version_type get_library_version() const; + BOOST_ARCHIVE_DECL unsigned int get_flags() const; }; } // namespace detail diff --git a/3party/boost/boost/archive/detail/basic_oserializer.hpp b/3party/boost/boost/archive/detail/basic_oserializer.hpp index 6ae063f55d..7a710ba6bc 100644 --- a/3party/boost/boost/archive/detail/basic_oserializer.hpp +++ b/3party/boost/boost/archive/detail/basic_oserializer.hpp @@ -40,23 +40,23 @@ namespace serialization { namespace archive { namespace detail { -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer; +class basic_oarchive; +class basic_pointer_oserializer; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer : +class BOOST_SYMBOL_VISIBLE basic_oserializer : public basic_serializer { private: basic_pointer_oserializer *m_bpos; protected: - explicit basic_oserializer( + explicit BOOST_ARCHIVE_DECL basic_oserializer( const boost::serialization::extended_type_info & type_ ); // account for bogus gcc warning #if defined(__GNUC__) virtual #endif - ~basic_oserializer(); + BOOST_ARCHIVE_DECL ~basic_oserializer(); public: bool serialized_as_pointer() const { return m_bpos != NULL; diff --git a/3party/boost/boost/archive/detail/basic_pointer_iserializer.hpp b/3party/boost/boost/archive/detail/basic_pointer_iserializer.hpp index 86badc1937..23b9f906dc 100644 --- a/3party/boost/boost/archive/detail/basic_pointer_iserializer.hpp +++ b/3party/boost/boost/archive/detail/basic_pointer_iserializer.hpp @@ -37,20 +37,20 @@ namespace serialization { namespace archive { namespace detail { -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer; +class basic_iarchive; +class basic_iserializer; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer +class BOOST_SYMBOL_VISIBLE basic_pointer_iserializer : public basic_serializer { protected: - explicit basic_pointer_iserializer( + explicit BOOST_ARCHIVE_DECL basic_pointer_iserializer( const boost::serialization::extended_type_info & type_ ); // account for bogus gcc warning #if defined(__GNUC__) virtual #endif - ~basic_pointer_iserializer(); + BOOST_ARCHIVE_DECL ~basic_pointer_iserializer(); public: virtual void * heap_allocation() const = 0; virtual const basic_iserializer & get_basic_serializer() const = 0; diff --git a/3party/boost/boost/archive/detail/basic_pointer_oserializer.hpp b/3party/boost/boost/archive/detail/basic_pointer_oserializer.hpp index bafc46a1d7..d09ec1ae8e 100644 --- a/3party/boost/boost/archive/detail/basic_pointer_oserializer.hpp +++ b/3party/boost/boost/archive/detail/basic_pointer_oserializer.hpp @@ -36,14 +36,14 @@ namespace serialization { namespace archive { namespace detail { -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer; +class basic_oarchive; +class basic_oserializer; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer : +class BOOST_SYMBOL_VISIBLE basic_pointer_oserializer : public basic_serializer { protected: - explicit basic_pointer_oserializer( + explicit BOOST_ARCHIVE_DECL basic_pointer_oserializer( const boost::serialization::extended_type_info & type_ ); public: @@ -51,7 +51,7 @@ public: #if defined(__GNUC__) virtual #endif - ~basic_pointer_oserializer(); + BOOST_ARCHIVE_DECL ~basic_pointer_oserializer(); virtual const basic_oserializer & get_basic_serializer() const = 0; virtual void save_object_ptr( basic_oarchive & ar, diff --git a/3party/boost/boost/archive/detail/basic_serializer_map.hpp b/3party/boost/boost/archive/detail/basic_serializer_map.hpp index 202c20e1ff..7934180336 100644 --- a/3party/boost/boost/archive/detail/basic_serializer_map.hpp +++ b/3party/boost/boost/archive/detail/basic_serializer_map.hpp @@ -34,7 +34,7 @@ namespace detail { class basic_serializer; -class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +class BOOST_SYMBOL_VISIBLE basic_serializer_map : public boost::noncopyable { @@ -50,9 +50,9 @@ basic_serializer_map : public > map_type; map_type m_map; public: - bool insert(const basic_serializer * bs); - void erase(const basic_serializer * bs); - const basic_serializer * find( + BOOST_ARCHIVE_DECL bool insert(const basic_serializer * bs); + BOOST_ARCHIVE_DECL void erase(const basic_serializer * bs); + BOOST_ARCHIVE_DECL const basic_serializer * find( const boost::serialization::extended_type_info & type_ ) const; private: diff --git a/3party/boost/boost/archive/detail/common_iarchive.hpp b/3party/boost/boost/archive/detail/common_iarchive.hpp index 45e6d34b3e..b4c44d2767 100644 --- a/3party/boost/boost/archive/detail/common_iarchive.hpp +++ b/3party/boost/boost/archive/detail/common_iarchive.hpp @@ -62,7 +62,7 @@ private: protected: // default processing - invoke serialization library template - void load_override(T & t, BOOST_PFTO int){ + void load_override(T & t){ archive::load(* this->This(), t); } // default implementations of functions which emit start/end tags for diff --git a/3party/boost/boost/archive/detail/common_oarchive.hpp b/3party/boost/boost/archive/detail/common_oarchive.hpp index 0d7474bcdc..13c71bc5a8 100644 --- a/3party/boost/boost/archive/detail/common_oarchive.hpp +++ b/3party/boost/boost/archive/detail/common_oarchive.hpp @@ -65,7 +65,7 @@ private: protected: // default processing - invoke serialization library template - void save_override(T & t, BOOST_PFTO int){ + void save_override(T & t){ archive::save(* this->This(), t); } void save_start(const char * /*name*/){} diff --git a/3party/boost/boost/archive/detail/decl.hpp b/3party/boost/boost/archive/detail/decl.hpp index 44e22be96b..bb386d86f8 100644 --- a/3party/boost/boost/archive/detail/decl.hpp +++ b/3party/boost/boost/archive/detail/decl.hpp @@ -22,58 +22,38 @@ // http://www.boost.org/more/separate_compilation.html #include -#include -#if defined(BOOST_HAS_DECLSPEC) - #if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)) - #if defined(BOOST_ARCHIVE_SOURCE) - #if defined(__BORLANDC__) - #define BOOST_ARCHIVE_DECL(T) T __export - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T __export - #else - #define BOOST_ARCHIVE_DECL(T) __declspec(dllexport) T - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) __declspec(dllexport) T - #endif - #else - #if defined(__BORLANDC__) - #define BOOST_ARCHIVE_DECL(T) T __import - #else - #define BOOST_ARCHIVE_DECL(T) __declspec(dllimport) T - #endif - #endif - #if defined(BOOST_WARCHIVE_SOURCE) - #if defined(__BORLANDC__) - #define BOOST_WARCHIVE_DECL(T) T __export - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T __export - #else - #define BOOST_WARCHIVE_DECL(T) __declspec(dllexport) T - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) __declspec(dllexport) T - #endif - #else - #if defined(__BORLANDC__) - #define BOOST_WARCHIVE_DECL(T) T __import - #else - #define BOOST_WARCHIVE_DECL(T) __declspec(dllimport) T - #endif - #endif - #if !defined(BOOST_WARCHIVE_SOURCE) && !defined(BOOST_ARCHIVE_SOURCE) - #if defined(__BORLANDC__) - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T __import - #else - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) __declspec(dllimport) T - #endif - #endif +#if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_SERIALIZATION_DYN_LINK)) + #if defined(BOOST_ARCHIVE_SOURCE) + #define BOOST_ARCHIVE_DECL BOOST_SYMBOL_EXPORT + #else + #define BOOST_ARCHIVE_DECL BOOST_SYMBOL_IMPORT #endif -#endif // BOOST_HAS_DECLSPEC + #if defined(BOOST_WARCHIVE_SOURCE) + #define BOOST_WARCHIVE_DECL BOOST_SYMBOL_EXPORT + #else + #define BOOST_WARCHIVE_DECL BOOST_SYMBOL_IMPORT + #endif + #if !defined(BOOST_WARCHIVE_SOURCE) && !defined(BOOST_ARCHIVE_SOURCE) + #define BOOST_ARCHIVE_OR_WARCHIVE_DECL BOOST_SYMBOL_IMPORT + #endif + + #if defined(BOOST_WARCHIVE_SOURCE) || defined(BOOST_ARCHIVE_SOURCE) + #define BOOST_ARCHIVE_OR_WARCHIVE_DECL BOOST_SYMBOL_EXPORT + #else + #define BOOST_ARCHIVE_OR_WARCHIVE_DECL BOOST_SYMBOL_IMPORT + #endif + +#endif #if ! defined(BOOST_ARCHIVE_DECL) - #define BOOST_ARCHIVE_DECL(T) T + #define BOOST_ARCHIVE_DECL #endif #if ! defined(BOOST_WARCHIVE_DECL) - #define BOOST_WARCHIVE_DECL(T) T + #define BOOST_WARCHIVE_DECL #endif #if ! defined(BOOST_ARCHIVE_OR_WARCHIVE_DECL) - #define BOOST_ARCHIVE_OR_WARCHIVE_DECL(T) T + #define BOOST_ARCHIVE_OR_WARCHIVE_DECL #endif #endif // BOOST_ARCHIVE_DETAIL_DECL_HPP diff --git a/3party/boost/boost/archive/detail/helper_collection.hpp b/3party/boost/boost/archive/detail/helper_collection.hpp index ba3c60cd16..edb4125e30 100644 --- a/3party/boost/boost/archive/detail/helper_collection.hpp +++ b/3party/boost/boost/archive/detail/helper_collection.hpp @@ -17,7 +17,6 @@ // See http://www.boost.org for updates, documentation, and revision history. #include // NULL -#include #include #include #include @@ -25,10 +24,8 @@ #include -#ifdef BOOST_NO_CXX11_SMART_PTR - #include - #include -#endif +#include +#include namespace boost { @@ -43,34 +40,28 @@ class helper_collection // note: we dont' actually "share" the function object pointer // we only use shared_ptr to make sure that it get's deleted - #ifndef BOOST_NO_CXX11_SMART_PTR - typedef std::pair< - const std::type_info *, - std::shared_ptr - > helper_value_type; - template - std::shared_ptr make_helper_ptr(){ - return std::make_shared(); - } - #else - typedef std::pair< - const std::type_info *, - boost::shared_ptr - > helper_value_type; - template - boost::shared_ptr make_helper_ptr(){ - return boost::make_shared(); - } - #endif + typedef std::pair< + const void *, + boost::shared_ptr + > helper_value_type; + template + boost::shared_ptr make_helper_ptr(){ + // use boost::shared_ptr rather than std::shared_ptr to maintain + // c++03 compatibility + return boost::make_shared(); + } + typedef std::vector collection; collection m_collection; struct predicate { - const std::type_info * m_ti; + BOOST_DELETED_FUNCTION(predicate & operator=(const predicate & rhs)) + public: + const void * const m_ti; bool operator()(helper_value_type const &rhs) const { - return *m_ti == *rhs.first; + return m_ti == rhs.first; } - predicate(const std::type_info * ti) : + predicate(const void * ti) : m_ti(ti) {} }; @@ -79,21 +70,18 @@ protected: ~helper_collection(){} public: template - Helper& get_helper(Helper * = NULL) { - - const std::type_info * eti = & typeid(Helper); - + Helper& find_helper(void * const id = 0) { collection::const_iterator it = std::find_if( m_collection.begin(), m_collection.end(), - predicate(eti) + predicate(id) ); - void * rval; + void * rval = 0; if(it == m_collection.end()){ m_collection.push_back( - std::make_pair(eti, make_helper_ptr()) + std::make_pair(id, make_helper_ptr()) ); rval = m_collection.back().second.get(); } diff --git a/3party/boost/boost/archive/detail/interface_iarchive.hpp b/3party/boost/boost/archive/detail/interface_iarchive.hpp index b7bd1659f3..3c658af5ef 100644 --- a/3party/boost/boost/archive/detail/interface_iarchive.hpp +++ b/3party/boost/boost/archive/detail/interface_iarchive.hpp @@ -20,6 +20,7 @@ #include #include #include +#include #include #include // must be the last header @@ -27,7 +28,7 @@ namespace boost { namespace archive { namespace detail { -class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer; +class basic_pointer_iserializer; template class interface_iarchive @@ -55,9 +56,16 @@ public: this->This()->register_basic_serializer(bpis.get_basic_serializer()); return & bpis; } + template + Helper & + get_helper(void * const id = 0){ + helper_collection & hc = this->This()->get_helper_collection(); + return hc.template find_helper(id); + } + template Archive & operator>>(T & t){ - this->This()->load_override(t, 0); + this->This()->load_override(t); return * this->This(); } diff --git a/3party/boost/boost/archive/detail/interface_oarchive.hpp b/3party/boost/boost/archive/detail/interface_oarchive.hpp index 7ae71768a8..16ea49c112 100644 --- a/3party/boost/boost/archive/detail/interface_oarchive.hpp +++ b/3party/boost/boost/archive/detail/interface_oarchive.hpp @@ -29,7 +29,7 @@ namespace boost { namespace archive { namespace detail { -class BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer; +class BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_pointer_oserializer; template class interface_oarchive @@ -58,21 +58,24 @@ public: return & bpos; } + template + Helper & + get_helper(void * const id = 0){ + helper_collection & hc = this->This()->get_helper_collection(); + return hc.template find_helper(id); + } + template - Archive & operator<<(T & t){ - this->This()->save_override(t, 0); + Archive & operator<<(const T & t){ + this->This()->save_override(t); return * this->This(); } // the & operator template - Archive & operator&(T & t){ - #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - return * this->This() << const_cast(t); - #else - return * this->This() << t; - #endif - } + Archive & operator&(const T & t){ + return * this ->This() << t; + }; }; } // namespace detail diff --git a/3party/boost/boost/archive/detail/iserializer.hpp b/3party/boost/boost/archive/detail/iserializer.hpp index cf547de0dd..d6d3f42f6e 100644 --- a/3party/boost/boost/archive/detail/iserializer.hpp +++ b/3party/boost/boost/archive/detail/iserializer.hpp @@ -40,7 +40,7 @@ namespace std{ #include #include #include -#include +#include #ifndef BOOST_SERIALIZATION_DEFAULT_TYPE_INFO #include @@ -57,12 +57,11 @@ namespace std{ #include #include - -#if ! ( \ - defined(__BORLANDC__) \ - || BOOST_WORKAROUND(__IBMCPP__, < 1210) \ +#define DONT_USE_HAS_NEW_OPERATOR ( \ + BOOST_WORKAROUND(__IBMCPP__, < 1210) \ || defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x590) \ ) +#if ! DONT_USE_HAS_NEW_OPERATOR #include #endif @@ -210,8 +209,8 @@ struct heap_allocation { static T * invoke_new(){ return static_cast(operator new(sizeof(T))); } - static viod invoke_delete(){ - (operator delete(sizeof(T))); + static void invoke_delete(T *t){ + (operator delete(t)); } #else // note: we presume that a true value for has_new_operator @@ -618,40 +617,6 @@ inline void load(Archive & ar, T &t){ typex::invoke(ar, t); } -#if 0 - -// BORLAND -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560)) -// borland has a couple of problems -// a) if function is partially specialized - see below -// const paramters are transformed to non-const ones -// b) implementation of base_object can't be made to work -// correctly which results in all base_object s being const. -// So, strip off the const for borland. This breaks the trap -// for loading const objects - but I see no alternative -template -inline void load(Archive &ar, const T & t){ - load(ar, const_cast(t)); -} -#endif - -// let wrappers through. -#ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING -template -inline void load_wrapper(Archive &ar, const T&t, mpl::true_){ - boost::archive::load(ar, const_cast(t)); -} - -#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x560)) -template -inline void load(Archive &ar, const T&t){ - load_wrapper(ar,t,serialization::is_wrapper< T >()); -} -#endif -#endif - -#endif - } // namespace archive } // namespace boost diff --git a/3party/boost/boost/archive/detail/polymorphic_iarchive_route.hpp b/3party/boost/boost/archive/detail/polymorphic_iarchive_route.hpp index a8eb7aa94a..2c57a3f51c 100644 --- a/3party/boost/boost/archive/detail/polymorphic_iarchive_route.hpp +++ b/3party/boost/boost/archive/detail/polymorphic_iarchive_route.hpp @@ -39,8 +39,8 @@ namespace serialization { namespace archive { namespace detail{ -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iserializer; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_iserializer; +class BOOST_ARCHIVE_DECL basic_iserializer; +class BOOST_ARCHIVE_DECL basic_pointer_iserializer; #ifdef BOOST_MSVC # pragma warning(push) @@ -166,10 +166,13 @@ private: virtual void load_end(const char * name){ ArchiveImplementation::load_end(name); } - virtual void register_basic_serializer(const basic_iserializer & bis){ ArchiveImplementation::register_basic_serializer(bis); } + virtual helper_collection & + get_helper_collection(){ + return ArchiveImplementation::get_helper_collection(); + } public: // this can't be inheriteded because they appear in mulitple // parents diff --git a/3party/boost/boost/archive/detail/polymorphic_oarchive_route.hpp b/3party/boost/boost/archive/detail/polymorphic_oarchive_route.hpp index 9211df2aa7..ae750133a8 100644 --- a/3party/boost/boost/archive/detail/polymorphic_oarchive_route.hpp +++ b/3party/boost/boost/archive/detail/polymorphic_oarchive_route.hpp @@ -39,8 +39,8 @@ namespace serialization { namespace archive { namespace detail{ -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer; -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_pointer_oserializer; +class BOOST_ARCHIVE_DECL basic_oserializer; +class BOOST_ARCHIVE_DECL basic_pointer_oserializer; #ifdef BOOST_MSVC # pragma warning(push) @@ -160,6 +160,10 @@ private: virtual void register_basic_serializer(const detail::basic_oserializer & bos){ ArchiveImplementation::register_basic_serializer(bos); } + virtual helper_collection & + get_helper_collection(){ + return ArchiveImplementation::get_helper_collection(); + } public: // this can't be inheriteded because they appear in mulitple // parents diff --git a/3party/boost/boost/archive/detail/register_archive.hpp b/3party/boost/boost/archive/detail/register_archive.hpp index 81a19b9cf5..5ffecc702c 100644 --- a/3party/boost/boost/archive/detail/register_archive.hpp +++ b/3party/boost/boost/archive/detail/register_archive.hpp @@ -28,7 +28,7 @@ struct _ptr_serialization_support typedef int type; }; -#ifdef __SUNPRO_CC +#if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5130) template struct counter : counter {}; diff --git a/3party/boost/boost/archive/impl/archive_serializer_map.ipp b/3party/boost/boost/archive/impl/archive_serializer_map.ipp index c8ad96b3d7..8dabf0d08f 100644 --- a/3party/boost/boost/archive/impl/archive_serializer_map.ipp +++ b/3party/boost/boost/archive/impl/archive_serializer_map.ipp @@ -37,7 +37,7 @@ namespace extra_detail { // anon #endif template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(bool) +BOOST_ARCHIVE_OR_WARCHIVE_DECL bool archive_serializer_map::insert(const basic_serializer * bs){ return boost::serialization::singleton< extra_detail::map @@ -45,7 +45,7 @@ archive_serializer_map::insert(const basic_serializer * bs){ } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void archive_serializer_map::erase(const basic_serializer * bs){ if(boost::serialization::singleton< extra_detail::map @@ -57,7 +57,7 @@ archive_serializer_map::erase(const basic_serializer * bs){ } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(const basic_serializer *) +BOOST_ARCHIVE_OR_WARCHIVE_DECL const basic_serializer * archive_serializer_map::find( const boost::serialization::extended_type_info & eti ) { diff --git a/3party/boost/boost/archive/impl/basic_binary_iarchive.ipp b/3party/boost/boost/archive/impl/basic_binary_iarchive.ipp index b8e7f454c5..d5619ab6cf 100644 --- a/3party/boost/boost/archive/impl/basic_binary_iarchive.ipp +++ b/3party/boost/boost/archive/impl/basic_binary_iarchive.ipp @@ -32,11 +32,11 @@ namespace archive { /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // implementation of binary_binary_archive template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_iarchive::load_override(class_name_type & t, int){ +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_binary_iarchive::load_override(class_name_type & t){ std::string cn; cn.reserve(BOOST_SERIALIZATION_MAX_KEY_SIZE); - load_override(cn, 0); + load_override(cn); if(cn.size() > (BOOST_SERIALIZATION_MAX_KEY_SIZE - 1)) boost::serialization::throw_exception( archive_exception(archive_exception::invalid_class_name) @@ -47,13 +47,13 @@ basic_binary_iarchive::load_override(class_name_type & t, int){ } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_binary_iarchive::init(){ +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_binary_iarchive::init(void){ // read signature in an archive version independent manner std::string file_signature; #if 0 // commented out since it interfers with derivation - try { + BOOST_TRY { std::size_t l; this->This()->load(l); if(l == std::strlen(BOOST_ARCHIVE_SIGNATURE())) { @@ -67,10 +67,11 @@ basic_binary_iarchive::init(){ this->This()->load_binary(&(*file_signature.begin()), l); } } - catch(archive_exception const &) { // catch stream_error archive exceptions + BOOST_CATCH(archive_exception const &) { // catch stream_error archive exceptions // will cause invalid_signature archive exception to be thrown below file_signature = ""; } + BOOST_CATCH_END #else // https://svn.boost.org/trac/boost/ticket/7301 * this->This() >> file_signature; diff --git a/3party/boost/boost/archive/impl/basic_binary_iprimitive.ipp b/3party/boost/boost/archive/impl/basic_binary_iprimitive.ipp index 9e2340eb2d..bee7bafea9 100644 --- a/3party/boost/boost/archive/impl/basic_binary_iprimitive.ipp +++ b/3party/boost/boost/archive/impl/basic_binary_iprimitive.ipp @@ -23,8 +23,8 @@ namespace std{ #include // fixup for RogueWave #include -#include +#include #include #include #include @@ -37,7 +37,7 @@ namespace archive { // implementation of basic_binary_iprimitive template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_iprimitive::init() { // Detect attempts to pass native binary archives across @@ -90,7 +90,7 @@ basic_binary_iprimitive::init() } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_iprimitive::load(wchar_t * ws) { std::size_t l; // number of wchar_t !!! @@ -100,7 +100,7 @@ basic_binary_iprimitive::load(wchar_t * ws) } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_iprimitive::load(std::string & s) { std::size_t l; @@ -117,7 +117,7 @@ basic_binary_iprimitive::load(std::string & s) #ifndef BOOST_NO_CWCHAR template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_iprimitive::load(char * s) { std::size_t l; @@ -129,7 +129,7 @@ basic_binary_iprimitive::load(char * s) #ifndef BOOST_NO_STD_WSTRING template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_iprimitive::load(std::wstring & ws) { std::size_t l; @@ -145,24 +145,23 @@ basic_binary_iprimitive::load(std::wstring & ws) #endif template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_binary_iprimitive::basic_binary_iprimitive( std::basic_streambuf & sb, bool no_codecvt ) : #ifndef BOOST_NO_STD_LOCALE m_sb(sb), - archive_locale(NULL), locale_saver(m_sb) { if(! no_codecvt){ archive_locale.reset( - boost::archive::add_facet( + add_facet( std::locale::classic(), new codecvt_null ) ); - m_sb.pubimbue(* archive_locale); + //m_sb.pubimbue(* archive_locale); } } #else @@ -195,15 +194,16 @@ class input_streambuf_access : public std::basic_streambuf { // scoped_ptr requires that archive_locale be a complete type at time of // destruction so define destructor here rather than in the header template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_binary_iprimitive::~basic_binary_iprimitive(){ // push back unread characters //destructor can't throw ! - try{ + BOOST_TRY{ static_cast &>(m_sb).sync(); } - catch(...){ + BOOST_CATCH(...){ } + BOOST_CATCH_END } } // namespace archive diff --git a/3party/boost/boost/archive/impl/basic_binary_oarchive.ipp b/3party/boost/boost/archive/impl/basic_binary_oarchive.ipp index 467fd6fe96..d5a019d32b 100644 --- a/3party/boost/boost/archive/impl/basic_binary_oarchive.ipp +++ b/3party/boost/boost/archive/impl/basic_binary_oarchive.ipp @@ -28,11 +28,7 @@ namespace archive { // implementation of binary_binary_oarchive template -#if !defined(__BORLANDC__) -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -#else -void -#endif +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_oarchive::init(){ // write signature in an archive version independent manner const std::string file_signature(BOOST_ARCHIVE_SIGNATURE()); diff --git a/3party/boost/boost/archive/impl/basic_binary_oprimitive.ipp b/3party/boost/boost/archive/impl/basic_binary_oprimitive.ipp index 509decb4e6..88cc12433c 100644 --- a/3party/boost/boost/archive/impl/basic_binary_oprimitive.ipp +++ b/3party/boost/boost/archive/impl/basic_binary_oprimitive.ipp @@ -32,6 +32,7 @@ namespace std{ using ::wcslen; } #include #include #include +#include namespace boost { namespace archive { @@ -40,7 +41,7 @@ namespace archive { // implementation of basic_binary_oprimitive template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_oprimitive::init() { // record native sizes of fundamental types @@ -56,7 +57,7 @@ basic_binary_oprimitive::init() } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_oprimitive::save(const char * s) { std::size_t l = std::strlen(s); @@ -65,7 +66,7 @@ basic_binary_oprimitive::save(const char * s) } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_oprimitive::save(const std::string &s) { std::size_t l = static_cast(s.size()); @@ -75,7 +76,7 @@ basic_binary_oprimitive::save(const std::string &s) #ifndef BOOST_NO_CWCHAR template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_oprimitive::save(const wchar_t * ws) { std::size_t l = std::wcslen(ws); @@ -86,7 +87,7 @@ basic_binary_oprimitive::save(const wchar_t * ws) #ifndef BOOST_NO_STD_WSTRING template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_binary_oprimitive::save(const std::wstring &ws) { std::size_t l = ws.size(); @@ -96,24 +97,23 @@ basic_binary_oprimitive::save(const std::wstring &ws) #endif template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_binary_oprimitive::basic_binary_oprimitive( std::basic_streambuf & sb, bool no_codecvt ) : #ifndef BOOST_NO_STD_LOCALE m_sb(sb), - archive_locale(NULL), locale_saver(m_sb) { if(! no_codecvt){ archive_locale.reset( add_facet( - std::locale::classic(), + std::locale::classic(), new codecvt_null ) ); - m_sb.pubimbue(* archive_locale); + //m_sb.pubimbue(* archive_locale); } } #else @@ -146,15 +146,16 @@ class output_streambuf_access : public std::basic_streambuf { // scoped_ptr requires that g be a complete type at time of // destruction so define destructor here rather than in the header template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_binary_oprimitive::~basic_binary_oprimitive(){ // flush buffer //destructor can't throw - try{ + BOOST_TRY{ static_cast &>(m_sb).sync(); } - catch(...){ + BOOST_CATCH(...){ } + BOOST_CATCH_END } } // namespace archive diff --git a/3party/boost/boost/archive/impl/basic_text_iarchive.ipp b/3party/boost/boost/archive/impl/basic_text_iarchive.ipp index 8d364f9b5f..9ec8c6588c 100644 --- a/3party/boost/boost/archive/impl/basic_text_iarchive.ipp +++ b/3party/boost/boost/archive/impl/basic_text_iarchive.ipp @@ -29,11 +29,11 @@ namespace archive { // implementation of text_text_archive template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_text_iarchive::load_override(class_name_type & t, int){ +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_text_iarchive::load_override(class_name_type & t){ std::string cn; cn.reserve(BOOST_SERIALIZATION_MAX_KEY_SIZE); - load_override(cn, 0); + load_override(cn); if(cn.size() > (BOOST_SERIALIZATION_MAX_KEY_SIZE - 1)) boost::serialization::throw_exception( archive_exception(archive_exception::invalid_class_name) @@ -44,7 +44,7 @@ basic_text_iarchive::load_override(class_name_type & t, int){ } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_text_iarchive::init(void){ // read signature in an archive version independent manner std::string file_signature; diff --git a/3party/boost/boost/archive/impl/basic_text_iprimitive.ipp b/3party/boost/boost/archive/impl/basic_text_iprimitive.ipp index d0da2840d5..e245dc540f 100644 --- a/3party/boost/boost/archive/impl/basic_text_iprimitive.ipp +++ b/3party/boost/boost/archive/impl/basic_text_iprimitive.ipp @@ -19,7 +19,6 @@ namespace std{ #endif #include -#include #include #include @@ -35,16 +34,16 @@ namespace archive { namespace detail { template - bool is_whitespace(CharType c); + static inline bool is_whitespace(CharType c); template<> - bool is_whitespace(char t){ + inline bool is_whitespace(char t){ return 0 != std::isspace(t); } #ifndef BOOST_NO_CWCHAR template<> - bool is_whitespace(wchar_t t){ + inline bool is_whitespace(wchar_t t){ return 0 != std::iswspace(t); } #endif @@ -53,7 +52,7 @@ namespace detail { // translate base64 text into binary and copy into buffer // until buffer is full. template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_text_iprimitive::load_binary( void *address, std::size_t count @@ -87,11 +86,7 @@ basic_text_iprimitive::load_binary( > binary; - binary i = binary( - BOOST_MAKE_PFTO_WRAPPER( - iterators::istream_iterator(is) - ) - ); + binary i = binary(iterators::istream_iterator(is)); char * caddr = static_cast(address); @@ -112,7 +107,7 @@ basic_text_iprimitive::load_binary( } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_text_iprimitive::basic_text_iprimitive( IStream &is_, bool no_codecvt @@ -121,17 +116,16 @@ basic_text_iprimitive::basic_text_iprimitive( is(is_), flags_saver(is_), precision_saver(is_), - archive_locale(NULL), locale_saver(* is_.rdbuf()) { if(! no_codecvt){ archive_locale.reset( add_facet( - std::locale::classic(), - new codecvt_null + std::locale::classic(), + new boost::archive::codecvt_null ) ); - is.imbue(* archive_locale); + //is.imbue(* archive_locale); } is >> std::noboolalpha; } @@ -143,7 +137,7 @@ basic_text_iprimitive::basic_text_iprimitive( #endif template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_text_iprimitive::~basic_text_iprimitive(){ is.sync(); } diff --git a/3party/boost/boost/archive/impl/basic_text_oarchive.ipp b/3party/boost/boost/archive/impl/basic_text_oarchive.ipp index 4170c9718f..44bc1401fd 100644 --- a/3party/boost/boost/archive/impl/basic_text_oarchive.ipp +++ b/3party/boost/boost/archive/impl/basic_text_oarchive.ipp @@ -27,7 +27,7 @@ namespace archive { // implementation of basic_text_oarchive template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_text_oarchive::newtoken() { switch(delimiter){ @@ -48,7 +48,7 @@ basic_text_oarchive::newtoken() } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_text_oarchive::init(){ // write signature in an archive version independent manner const std::string file_signature(BOOST_ARCHIVE_SIGNATURE()); diff --git a/3party/boost/boost/archive/impl/basic_text_oprimitive.ipp b/3party/boost/boost/archive/impl/basic_text_oprimitive.ipp index 33ab4a8b65..f2b0a10a60 100644 --- a/3party/boost/boost/archive/impl/basic_text_oprimitive.ipp +++ b/3party/boost/boost/archive/impl/basic_text_oprimitive.ipp @@ -10,7 +10,6 @@ #include // NULL #include // std::copy -#include #include #include @@ -26,7 +25,7 @@ namespace archive { // translate to base64 and copy in to buffer. template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_text_oprimitive::save_binary( const void *address, std::size_t count @@ -59,9 +58,9 @@ basic_text_oprimitive::save_binary( boost::archive::iterators::ostream_iterator oi(os); std::copy( - base64_text(BOOST_MAKE_PFTO_WRAPPER(static_cast(address))), + base64_text(static_cast(address)), base64_text( - BOOST_MAKE_PFTO_WRAPPER(static_cast(address) + count) + static_cast(address) + count ), oi ); @@ -75,7 +74,7 @@ basic_text_oprimitive::save_binary( } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_text_oprimitive::basic_text_oprimitive( OStream & os_, bool no_codecvt @@ -84,17 +83,16 @@ basic_text_oprimitive::basic_text_oprimitive( os(os_), flags_saver(os_), precision_saver(os_), - archive_locale(NULL), locale_saver(* os_.rdbuf()) { if(! no_codecvt){ archive_locale.reset( add_facet( - std::locale::classic(), - new codecvt_null + std::locale::classic(), + new boost::archive::codecvt_null ) ); - os.imbue(* archive_locale); + //os.imbue(* archive_locale); } os << std::noboolalpha; } @@ -106,7 +104,7 @@ basic_text_oprimitive::basic_text_oprimitive( #endif template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_text_oprimitive::~basic_text_oprimitive(){ os << std::endl; } diff --git a/3party/boost/boost/archive/impl/basic_xml_grammar.hpp b/3party/boost/boost/archive/impl/basic_xml_grammar.hpp index 66ca1f0b29..70a6013abc 100644 --- a/3party/boost/boost/archive/impl/basic_xml_grammar.hpp +++ b/3party/boost/boost/archive/impl/basic_xml_grammar.hpp @@ -72,14 +72,14 @@ public: friend struct return_values; private: - typedef BOOST_DEDUCED_TYPENAME std::basic_istream IStream; - typedef BOOST_DEDUCED_TYPENAME std::basic_string StringType; - typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::chset chset_t; - typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::chlit chlit_t; - typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::scanner< - BOOST_DEDUCED_TYPENAME std::basic_string::iterator + typedef typename std::basic_istream IStream; + typedef typename std::basic_string StringType; + typedef typename boost::spirit::classic::chset chset_t; + typedef typename boost::spirit::classic::chlit chlit_t; + typedef typename boost::spirit::classic::scanner< + typename std::basic_string::iterator > scanner_t; - typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::rule rule_t; + typedef typename boost::spirit::classic::rule rule_t; // Start grammar definition rule_t Reference, diff --git a/3party/boost/boost/archive/impl/basic_xml_iarchive.ipp b/3party/boost/boost/archive/impl/basic_xml_iarchive.ipp index 52dfde1a23..9e670120f0 100644 --- a/3party/boost/boost/archive/impl/basic_xml_iarchive.ipp +++ b/3party/boost/boost/archive/impl/basic_xml_iarchive.ipp @@ -24,7 +24,7 @@ namespace archive { // implementation of xml_text_archive template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_iarchive::load_start(const char *name){ // if there's no name if(NULL == name) @@ -41,7 +41,7 @@ basic_xml_iarchive::load_start(const char *name){ } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_iarchive::load_end(const char *name){ // if there's no name if(NULL == name) @@ -77,37 +77,37 @@ basic_xml_iarchive::load_end(const char *name){ } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_iarchive::load_override(object_id_type & t, int){ +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_iarchive::load_override(object_id_type & t){ t = object_id_type(this->This()->gimpl->rv.object_id); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_iarchive::load_override(version_type & t, int){ +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_iarchive::load_override(version_type & t){ t = version_type(this->This()->gimpl->rv.version); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_iarchive::load_override(class_id_type & t, int){ +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_iarchive::load_override(class_id_type & t){ t = class_id_type(this->This()->gimpl->rv.class_id); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_iarchive::load_override(tracking_type & t, int){ +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_iarchive::load_override(tracking_type & t){ t = this->This()->gimpl->rv.tracking_level; } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_xml_iarchive::basic_xml_iarchive(unsigned int flags) : detail::common_iarchive(flags), depth(0) {} template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_xml_iarchive::~basic_xml_iarchive(){} } // namespace archive diff --git a/3party/boost/boost/archive/impl/basic_xml_oarchive.ipp b/3party/boost/boost/archive/impl/basic_xml_oarchive.ipp index e2cc8d4d5e..5db1e13096 100644 --- a/3party/boost/boost/archive/impl/basic_xml_oarchive.ipp +++ b/3party/boost/boost/archive/impl/basic_xml_oarchive.ipp @@ -20,7 +20,7 @@ namespace std{ #include #include #include -#include +#include namespace boost { namespace archive { @@ -58,7 +58,7 @@ struct XML_name { // implemenations of functions common to both types of xml output template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::write_attribute( const char *attribute_name, int t, @@ -72,7 +72,7 @@ basic_xml_oarchive::write_attribute( } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::write_attribute( const char *attribute_name, const char *key @@ -85,7 +85,7 @@ basic_xml_oarchive::write_attribute( } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::indent(){ int i; for(i = depth; i-- > 0;) @@ -93,7 +93,7 @@ basic_xml_oarchive::indent(){ } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::save_start(const char *name) { if(NULL == name) @@ -115,7 +115,7 @@ basic_xml_oarchive::save_start(const char *name) } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::save_end(const char *name) { if(NULL == name) @@ -139,7 +139,7 @@ basic_xml_oarchive::save_end(const char *name) } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::end_preamble(){ if(pending_preamble){ this->This()->put('>'); @@ -148,14 +148,14 @@ basic_xml_oarchive::end_preamble(){ } #if 0 template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_oarchive::save_override(const object_id_type & t, int) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_oarchive::save_override(const object_id_type & t) { int i = t.t; // extra .t is for borland write_attribute(BOOST_ARCHIVE_XML_OBJECT_ID(), i, "=\"_"); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::save_override( const object_reference_type & t, int @@ -164,8 +164,8 @@ basic_xml_oarchive::save_override( write_attribute(BOOST_ARCHIVE_XML_OBJECT_REFERENCE(), i, "=\"_"); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_oarchive::save_override(const version_type & t, int) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_oarchive::save_override(const version_type & t) { int i = t.t; // extra .t is for borland write_attribute(BOOST_ARCHIVE_XML_VERSION(), i); @@ -173,55 +173,52 @@ basic_xml_oarchive::save_override(const version_type & t, int) #endif template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_oarchive::save_override(const object_id_type & t, int) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_oarchive::save_override(const object_id_type & t) { // borland doesn't do conversion of STRONG_TYPEDEFs very well const unsigned int i = t; write_attribute(BOOST_ARCHIVE_XML_OBJECT_ID(), i, "=\"_"); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::save_override( - const object_reference_type & t, - int + const object_reference_type & t ){ const unsigned int i = t; write_attribute(BOOST_ARCHIVE_XML_OBJECT_REFERENCE(), i, "=\"_"); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_oarchive::save_override(const version_type & t, int) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_oarchive::save_override(const version_type & t) { const unsigned int i = t; write_attribute(BOOST_ARCHIVE_XML_VERSION(), i); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_oarchive::save_override(const class_id_type & t, int) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_oarchive::save_override(const class_id_type & t) { write_attribute(BOOST_ARCHIVE_XML_CLASS_ID(), t); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::save_override( - const class_id_reference_type & t, - int + const class_id_reference_type & t ){ write_attribute(BOOST_ARCHIVE_XML_CLASS_ID_REFERENCE(), t); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::save_override( - const class_id_optional_type & t, - int + const class_id_optional_type & t ){ write_attribute(BOOST_ARCHIVE_XML_CLASS_ID(), t); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_oarchive::save_override(const class_name_type & t, int) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_oarchive::save_override(const class_name_type & t) { const char * key = t; if(NULL == key) @@ -230,14 +227,14 @@ basic_xml_oarchive::save_override(const class_name_type & t, int) } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) -basic_xml_oarchive::save_override(const tracking_type & t, int) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void +basic_xml_oarchive::save_override(const tracking_type & t) { write_attribute(BOOST_ARCHIVE_XML_TRACKING(), t.t); } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(void) +BOOST_ARCHIVE_OR_WARCHIVE_DECL void basic_xml_oarchive::init(){ // xml header this->This()->put("\n"); @@ -250,7 +247,7 @@ basic_xml_oarchive::init(){ } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_xml_oarchive::basic_xml_oarchive(unsigned int flags) : detail::common_oarchive(flags), depth(0), @@ -260,7 +257,7 @@ basic_xml_oarchive::basic_xml_oarchive(unsigned int flags) : } template -BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_OR_WARCHIVE_DECL basic_xml_oarchive::~basic_xml_oarchive(){ if(0 == (this->get_flags() & no_header)){ BOOST_TRY{ diff --git a/3party/boost/boost/archive/impl/text_iarchive_impl.ipp b/3party/boost/boost/archive/impl/text_iarchive_impl.ipp index f14c0d8e2a..50c7c051b0 100644 --- a/3party/boost/boost/archive/impl/text_iarchive_impl.ipp +++ b/3party/boost/boost/archive/impl/text_iarchive_impl.ipp @@ -28,7 +28,7 @@ namespace boost { namespace archive { template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_iarchive_impl::load(char *s) { std::size_t size; @@ -41,7 +41,7 @@ text_iarchive_impl::load(char *s) } template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_iarchive_impl::load(std::string &s) { std::size_t size; @@ -60,7 +60,7 @@ text_iarchive_impl::load(std::string &s) #ifndef BOOST_NO_CWCHAR #ifndef BOOST_NO_INTRINSIC_WCHAR_T template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_iarchive_impl::load(wchar_t *ws) { std::size_t size; @@ -74,7 +74,7 @@ text_iarchive_impl::load(wchar_t *ws) #ifndef BOOST_NO_STD_WSTRING template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_iarchive_impl::load(std::wstring &ws) { std::size_t size; @@ -93,19 +93,19 @@ text_iarchive_impl::load(std::wstring &ws) #endif // BOOST_NO_CWCHAR template -BOOST_ARCHIVE_DECL(void) -text_iarchive_impl::load_override(class_name_type & t, int){ - basic_text_iarchive::load_override(t, 0); +BOOST_ARCHIVE_DECL void +text_iarchive_impl::load_override(class_name_type & t){ + basic_text_iarchive::load_override(t); } template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_iarchive_impl::init(){ basic_text_iarchive::init(); } template -BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_DECL text_iarchive_impl::text_iarchive_impl( std::istream & is, unsigned int flags diff --git a/3party/boost/boost/archive/impl/text_oarchive_impl.ipp b/3party/boost/boost/archive/impl/text_oarchive_impl.ipp index 2df0b46019..54bd2e04ff 100644 --- a/3party/boost/boost/archive/impl/text_oarchive_impl.ipp +++ b/3party/boost/boost/archive/impl/text_oarchive_impl.ipp @@ -38,7 +38,7 @@ namespace archive { // of template parameters used to create a text_oprimitive template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_oarchive_impl::save(const char * s) { const std::size_t len = std::ostream::traits_type::length(s); @@ -48,7 +48,7 @@ text_oarchive_impl::save(const char * s) } template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_oarchive_impl::save(const std::string &s) { const std::size_t size = s.size(); @@ -60,7 +60,7 @@ text_oarchive_impl::save(const std::string &s) #ifndef BOOST_NO_CWCHAR #ifndef BOOST_NO_INTRINSIC_WCHAR_T template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_oarchive_impl::save(const wchar_t * ws) { const std::size_t l = std::wcslen(ws); @@ -72,7 +72,7 @@ text_oarchive_impl::save(const wchar_t * ws) #ifndef BOOST_NO_STD_WSTRING template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_oarchive_impl::save(const std::wstring &ws) { const std::size_t l = ws.size(); @@ -84,7 +84,7 @@ text_oarchive_impl::save(const std::wstring &ws) #endif // BOOST_NO_CWCHAR template -BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_DECL text_oarchive_impl::text_oarchive_impl( std::ostream & os, unsigned int flags @@ -104,7 +104,7 @@ text_oarchive_impl::text_oarchive_impl( } template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void text_oarchive_impl::save_binary(const void *address, std::size_t count){ put('\n'); this->end_preamble(); diff --git a/3party/boost/boost/archive/impl/text_wiarchive_impl.ipp b/3party/boost/boost/archive/impl/text_wiarchive_impl.ipp index 6938c22659..57c18bc17d 100644 --- a/3party/boost/boost/archive/impl/text_wiarchive_impl.ipp +++ b/3party/boost/boost/archive/impl/text_wiarchive_impl.ipp @@ -29,7 +29,7 @@ namespace archive { // implementation of wiprimtives functions // template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void text_wiarchive_impl::load(char *s) { std::size_t size; @@ -43,7 +43,7 @@ text_wiarchive_impl::load(char *s) } template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void text_wiarchive_impl::load(std::string &s) { std::size_t size; @@ -63,7 +63,7 @@ text_wiarchive_impl::load(std::string &s) #ifndef BOOST_NO_INTRINSIC_WCHAR_T template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void text_wiarchive_impl::load(wchar_t *s) { std::size_t size; @@ -78,7 +78,7 @@ text_wiarchive_impl::load(wchar_t *s) #ifndef BOOST_NO_STD_WSTRING template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void text_wiarchive_impl::load(std::wstring &ws) { std::size_t size; @@ -97,7 +97,7 @@ text_wiarchive_impl::load(std::wstring &ws) #endif template -BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_WARCHIVE_DECL text_wiarchive_impl::text_wiarchive_impl( std::wistream & is, unsigned int flags diff --git a/3party/boost/boost/archive/impl/text_woarchive_impl.ipp b/3party/boost/boost/archive/impl/text_woarchive_impl.ipp index 6683f528c0..2b6d427cd3 100644 --- a/3party/boost/boost/archive/impl/text_woarchive_impl.ipp +++ b/3party/boost/boost/archive/impl/text_woarchive_impl.ipp @@ -31,7 +31,7 @@ namespace archive { // implementation of woarchive functions // template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void text_woarchive_impl::save(const char *s) { // note: superfluous local variable fixes borland warning @@ -43,7 +43,7 @@ text_woarchive_impl::save(const char *s) } template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void text_woarchive_impl::save(const std::string &s) { const std::size_t size = s.size(); @@ -56,7 +56,7 @@ text_woarchive_impl::save(const std::string &s) #ifndef BOOST_NO_INTRINSIC_WCHAR_T template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void text_woarchive_impl::save(const wchar_t *ws) { const std::size_t size = std::wostream::traits_type::length(ws); @@ -68,7 +68,7 @@ text_woarchive_impl::save(const wchar_t *ws) #ifndef BOOST_NO_STD_WSTRING template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void text_woarchive_impl::save(const std::wstring &ws) { const std::size_t size = ws.length(); diff --git a/3party/boost/boost/archive/impl/xml_iarchive_impl.ipp b/3party/boost/boost/archive/impl/xml_iarchive_impl.ipp index dc62eed331..7639ecb3b1 100644 --- a/3party/boost/boost/archive/impl/xml_iarchive_impl.ipp +++ b/3party/boost/boost/archive/impl/xml_iarchive_impl.ipp @@ -31,7 +31,7 @@ namespace std{ #include #endif -#include +#include #include #include @@ -51,7 +51,7 @@ namespace archive { #ifndef BOOST_NO_CWCHAR #ifndef BOOST_NO_STD_WSTRING template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void xml_iarchive_impl::load(std::wstring &ws){ std::string s; bool result = gimpl->parse_string(is, s); @@ -85,7 +85,7 @@ xml_iarchive_impl::load(std::wstring &ws){ #ifndef BOOST_NO_INTRINSIC_WCHAR_T template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void xml_iarchive_impl::load(wchar_t * ws){ std::string s; bool result = gimpl->parse_string(is, s); @@ -117,7 +117,7 @@ xml_iarchive_impl::load(wchar_t * ws){ #endif // BOOST_NO_CWCHAR template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void xml_iarchive_impl::load(std::string &s){ bool result = gimpl->parse_string(is, s); if(! result) @@ -127,7 +127,7 @@ xml_iarchive_impl::load(std::string &s){ } template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void xml_iarchive_impl::load(char * s){ std::string tstring; bool result = gimpl->parse_string(is, tstring); @@ -140,8 +140,8 @@ xml_iarchive_impl::load(char * s){ } template -BOOST_ARCHIVE_DECL(void) -xml_iarchive_impl::load_override(class_name_type & t, int){ +BOOST_ARCHIVE_DECL void +xml_iarchive_impl::load_override(class_name_type & t){ const std::string & s = gimpl->rv.class_name; if(s.size() > BOOST_SERIALIZATION_MAX_KEY_SIZE - 1) boost::serialization::throw_exception( @@ -153,7 +153,7 @@ xml_iarchive_impl::load_override(class_name_type & t, int){ } template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void xml_iarchive_impl::init(){ gimpl->init(is); this->set_library_version( @@ -162,7 +162,7 @@ xml_iarchive_impl::init(){ } template -BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_DECL xml_iarchive_impl::xml_iarchive_impl( std::istream &is_, unsigned int flags @@ -174,22 +174,12 @@ xml_iarchive_impl::xml_iarchive_impl( basic_xml_iarchive(flags), gimpl(new xml_grammar()) { - if(0 == (flags & no_header)){ - BOOST_TRY{ - init(); - } - BOOST_CATCH(...){ - delete gimpl; - #ifndef BOOST_NO_EXCEPTIONS - throw; // re-throw - #endif - } - BOOST_CATCH_END - } + if(0 == (flags & no_header)) + init(); } template -BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_DECL xml_iarchive_impl::~xml_iarchive_impl(){ if(0 == (this->get_flags() & no_header)){ BOOST_TRY{ @@ -198,7 +188,6 @@ xml_iarchive_impl::~xml_iarchive_impl(){ BOOST_CATCH(...){} BOOST_CATCH_END } - delete gimpl; } } // namespace archive } // namespace boost diff --git a/3party/boost/boost/archive/impl/xml_oarchive_impl.ipp b/3party/boost/boost/archive/impl/xml_oarchive_impl.ipp index ab1a2177bc..9e714f3ca6 100644 --- a/3party/boost/boost/archive/impl/xml_oarchive_impl.ipp +++ b/3party/boost/boost/archive/impl/xml_oarchive_impl.ipp @@ -42,15 +42,15 @@ void save_iterator(std::ostream &os, InputIterator begin, InputIterator end){ boost::archive::iterators::xml_escape > translator; std::copy( - translator(BOOST_MAKE_PFTO_WRAPPER(begin)), - translator(BOOST_MAKE_PFTO_WRAPPER(end)), + translator(begin), + translator(end), boost::archive::iterators::ostream_iterator(os) ); } #ifndef BOOST_NO_STD_WSTRING template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void xml_oarchive_impl::save(const std::wstring & ws){ // at least one library doesn't typedef value_type for strings // so rather than using string directly make a pointer iterator out of it @@ -61,7 +61,7 @@ xml_oarchive_impl::save(const std::wstring & ws){ #ifndef BOOST_NO_INTRINSIC_WCHAR_T template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void xml_oarchive_impl::save(const wchar_t * ws){ save_iterator(os, ws, ws + std::wcslen(ws)); } @@ -70,7 +70,7 @@ xml_oarchive_impl::save(const wchar_t * ws){ #endif // BOOST_NO_CWCHAR template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void xml_oarchive_impl::save(const std::string & s){ // at least one library doesn't typedef value_type for strings // so rather than using string directly make a pointer iterator out of it @@ -78,27 +78,27 @@ xml_oarchive_impl::save(const std::string & s){ const char * > xml_escape_translator; std::copy( - xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s.data())), - xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s.data()+ s.size())), + xml_escape_translator(s.data()), + xml_escape_translator(s.data()+ s.size()), boost::archive::iterators::ostream_iterator(os) ); } template -BOOST_ARCHIVE_DECL(void) +BOOST_ARCHIVE_DECL void xml_oarchive_impl::save(const char * s){ typedef boost::archive::iterators::xml_escape< const char * > xml_escape_translator; std::copy( - xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s)), - xml_escape_translator(BOOST_MAKE_PFTO_WRAPPER(s + std::strlen(s))), + xml_escape_translator(s), + xml_escape_translator(s + std::strlen(s)), boost::archive::iterators::ostream_iterator(os) ); } template -BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_ARCHIVE_DECL xml_oarchive_impl::xml_oarchive_impl( std::ostream & os_, unsigned int flags diff --git a/3party/boost/boost/archive/impl/xml_wiarchive_impl.ipp b/3party/boost/boost/archive/impl/xml_wiarchive_impl.ipp index a4665ad4ce..a837347edb 100644 --- a/3party/boost/boost/archive/impl/xml_wiarchive_impl.ipp +++ b/3party/boost/boost/archive/impl/xml_wiarchive_impl.ipp @@ -27,26 +27,17 @@ namespace std{ #endif #include -#include -#include - +#include #include -#include -#ifndef BOOST_NO_CXX11_HDR_CODECVT - #include - namespace boost { namespace archive { namespace detail { - typedef std::codecvt_utf8 utf8_codecvt_facet; - } } } -#else - #include -#endif - -#include -#include #include #include +#include + +#include +#include + #include "basic_xml_grammar.hpp" namespace boost { @@ -60,10 +51,10 @@ namespace { // anonymous void copy_to_ptr(char * s, const std::wstring & ws){ std::copy( iterators::mb_from_wchar( - BOOST_MAKE_PFTO_WRAPPER(ws.begin()) + ws.begin() ), iterators::mb_from_wchar( - BOOST_MAKE_PFTO_WRAPPER(ws.end()) + ws.end() ), s ); @@ -73,7 +64,7 @@ void copy_to_ptr(char * s, const std::wstring & ws){ } // anonymous template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void xml_wiarchive_impl::load(std::string & s){ std::wstring ws; bool result = gimpl->parse_string(is, ws); @@ -88,10 +79,10 @@ xml_wiarchive_impl::load(std::string & s){ s.reserve(ws.size()); std::copy( iterators::mb_from_wchar( - BOOST_MAKE_PFTO_WRAPPER(ws.begin()) + ws.begin() ), iterators::mb_from_wchar( - BOOST_MAKE_PFTO_WRAPPER(ws.end()) + ws.end() ), std::back_inserter(s) ); @@ -99,7 +90,7 @@ xml_wiarchive_impl::load(std::string & s){ #ifndef BOOST_NO_STD_WSTRING template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void xml_wiarchive_impl::load(std::wstring & ws){ bool result = gimpl->parse_string(is, ws); if(! result) @@ -110,7 +101,7 @@ xml_wiarchive_impl::load(std::wstring & ws){ #endif template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void xml_wiarchive_impl::load(char * s){ std::wstring ws; bool result = gimpl->parse_string(is, ws); @@ -123,7 +114,7 @@ xml_wiarchive_impl::load(char * s){ #ifndef BOOST_NO_INTRINSIC_WCHAR_T template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void xml_wiarchive_impl::load(wchar_t * ws){ std::wstring twstring; bool result = gimpl->parse_string(is, twstring); @@ -137,8 +128,8 @@ xml_wiarchive_impl::load(wchar_t * ws){ #endif template -BOOST_WARCHIVE_DECL(void) -xml_wiarchive_impl::load_override(class_name_type & t, int){ +BOOST_WARCHIVE_DECL void +xml_wiarchive_impl::load_override(class_name_type & t){ const std::wstring & ws = gimpl->rv.class_name; if(ws.size() > BOOST_SERIALIZATION_MAX_KEY_SIZE - 1) boost::serialization::throw_exception( @@ -148,7 +139,7 @@ xml_wiarchive_impl::load_override(class_name_type & t, int){ } template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void xml_wiarchive_impl::init(){ gimpl->init(is); this->set_library_version( @@ -157,7 +148,7 @@ xml_wiarchive_impl::init(){ } template -BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_WARCHIVE_DECL xml_wiarchive_impl::xml_wiarchive_impl( std::wistream &is_, unsigned int flags @@ -170,30 +161,22 @@ xml_wiarchive_impl::xml_wiarchive_impl( gimpl(new xml_wgrammar()) { if(0 == (flags & no_codecvt)){ + // note usage of argument "1" so that the locale isn't + // automatically delete the facet archive_locale.reset( add_facet( is_.getloc(), new boost::archive::detail::utf8_codecvt_facet ) ); - is.imbue(* archive_locale); - } - if(0 == (flags & no_header)){ - BOOST_TRY{ - this->init(); - } - BOOST_CATCH(...){ - delete gimpl; - #ifndef BOOST_NO_EXCEPTIONS - throw; // re-throw - #endif - } - BOOST_CATCH_END + //is.imbue(* archive_locale); } + if(0 == (flags & no_header)) + init(); } template -BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_WARCHIVE_DECL xml_wiarchive_impl::~xml_wiarchive_impl(){ if(0 == (this->get_flags() & no_header)){ BOOST_TRY{ @@ -202,7 +185,6 @@ xml_wiarchive_impl::~xml_wiarchive_impl(){ BOOST_CATCH(...){} BOOST_CATCH_END } - delete gimpl; } } // namespace archive diff --git a/3party/boost/boost/archive/impl/xml_woarchive_impl.ipp b/3party/boost/boost/archive/impl/xml_woarchive_impl.ipp index 6092a91524..d5586d51ae 100644 --- a/3party/boost/boost/archive/impl/xml_woarchive_impl.ipp +++ b/3party/boost/boost/archive/impl/xml_woarchive_impl.ipp @@ -29,8 +29,8 @@ namespace std{ } // namespace std #endif +#include #include -#include #include #include @@ -38,14 +38,6 @@ namespace std{ #include #include -#ifndef BOOST_NO_CXX11_HDR_CODECVT - #include - namespace boost { namespace archive { namespace detail { - typedef std::codecvt_utf8 utf8_codecvt_facet; - } } } -#else - #include -#endif namespace boost { namespace archive { @@ -60,14 +52,14 @@ void save_iterator(std::wostream &os, InputIterator begin, InputIterator end){ iterators::xml_escape > xmbtows; std::copy( - xmbtows(BOOST_MAKE_PFTO_WRAPPER(begin)), - xmbtows(BOOST_MAKE_PFTO_WRAPPER(end)), + xmbtows(begin), + xmbtows(end), boost::archive::iterators::ostream_iterator(os) ); } template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void xml_woarchive_impl::save(const std::string & s){ // note: we don't use s.begin() and s.end() because dinkumware // doesn't have string::value_type defined. So use a wrapper @@ -79,47 +71,47 @@ xml_woarchive_impl::save(const std::string & s){ #ifndef BOOST_NO_STD_WSTRING template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void xml_woarchive_impl::save(const std::wstring & ws){ #if 0 typedef iterators::xml_escape xmbtows; std::copy( - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.begin())), - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.end())), + xmbtows(ws.begin()), + xmbtows(ws.end()), boost::archive::iterators::ostream_iterator(os) ); #endif typedef iterators::xml_escape xmbtows; std::copy( - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.data())), - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws.data() + ws.size())), + xmbtows(ws.data()), + xmbtows(ws.data() + ws.size()), boost::archive::iterators::ostream_iterator(os) ); } #endif //BOOST_NO_STD_WSTRING template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void xml_woarchive_impl::save(const char * s){ save_iterator(os, s, s + std::strlen(s)); } #ifndef BOOST_NO_INTRINSIC_WCHAR_T template -BOOST_WARCHIVE_DECL(void) +BOOST_WARCHIVE_DECL void xml_woarchive_impl::save(const wchar_t * ws){ os << ws; typedef iterators::xml_escape xmbtows; std::copy( - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws)), - xmbtows(BOOST_MAKE_PFTO_WRAPPER(ws + std::wcslen(ws))), + xmbtows(ws), + xmbtows(ws + std::wcslen(ws)), boost::archive::iterators::ostream_iterator(os) ); } #endif template -BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) +BOOST_WARCHIVE_DECL xml_woarchive_impl::xml_woarchive_impl( std::wostream & os_, unsigned int flags @@ -136,31 +128,23 @@ xml_woarchive_impl::xml_woarchive_impl( // transforms (such as one to many transforms from getting // mixed up. if(0 == (flags & no_codecvt)){ - boost::archive::detail::utf8_codecvt_facet *pfacet; - #if defined(__SGI_STL_PORT) - // Unfortunately, STLPort doesn't respect b) above - // so the restoration of the original archive locale done by - // the locale_saver doesn't get processed, - // before the current one is destroyed. - // so the codecvt doesn't get replaced with the orginal - // so closing the stream invokes codecvt::do_unshift - // so it crashes because the corresponding locale that contained - // the codecvt isn't around any more. - // we can hack around this by using a static codecvt that never - // gets destroyed. - static boost::archive::detail::utf8_codecvt_facet - facet(static_cast(1)); - pfacet = & facet; - #else - pfacet = new boost::archive::detail::utf8_codecvt_facet; - #endif - archive_locale.reset(add_facet(os_.getloc(), pfacet)); - os.imbue(* archive_locale); + archive_locale.reset( + add_facet( + os_.getloc(), + new boost::archive::detail::utf8_codecvt_facet + ) + ); + //os.imbue(* archive_locale); } if(0 == (flags & no_header)) this->init(); } +template +BOOST_WARCHIVE_DECL +xml_woarchive_impl::~xml_woarchive_impl(){ +} + } // namespace archive } // namespace boost diff --git a/3party/boost/boost/archive/iterators/base64_from_binary.hpp b/3party/boost/boost/archive/iterators/base64_from_binary.hpp index 836d93de35..00c4e10c10 100644 --- a/3party/boost/boost/archive/iterators/base64_from_binary.hpp +++ b/3party/boost/boost/archive/iterators/base64_from_binary.hpp @@ -25,8 +25,6 @@ namespace std{ } // namespace std #endif -#include - #include #include @@ -88,9 +86,9 @@ class base64_from_binary : public: // make composible buy using templated constructor template - base64_from_binary(BOOST_PFTO_WRAPPER(T) start) : + base64_from_binary(T start) : super_t( - Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))), + Base(static_cast< T >(start)), detail::from_6_bit() ) {} diff --git a/3party/boost/boost/archive/iterators/binary_from_base64.hpp b/3party/boost/boost/archive/iterators/binary_from_base64.hpp index 9d2c87ebee..2eb7828251 100644 --- a/3party/boost/boost/archive/iterators/binary_from_base64.hpp +++ b/3party/boost/boost/archive/iterators/binary_from_base64.hpp @@ -19,7 +19,6 @@ #include #include -#include #include #include @@ -96,9 +95,9 @@ class binary_from_base64 : public public: // make composible buy using templated constructor template - binary_from_base64(BOOST_PFTO_WRAPPER(T) start) : + binary_from_base64(T start) : super_t( - Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start))), + Base(static_cast< T >(start)), detail::to_6_bit() ) {} diff --git a/3party/boost/boost/archive/iterators/insert_linebreaks.hpp b/3party/boost/boost/archive/iterators/insert_linebreaks.hpp index 7fbc79f13a..2504b030db 100644 --- a/3party/boost/boost/archive/iterators/insert_linebreaks.hpp +++ b/3party/boost/boost/archive/iterators/insert_linebreaks.hpp @@ -23,8 +23,6 @@ namespace std{ using ::memcpy; } #endif -#include - #include #include @@ -83,8 +81,8 @@ private: public: // make composible buy using templated constructor template - insert_linebreaks(BOOST_PFTO_WRAPPER(T) start) : - super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))), + insert_linebreaks(T start) : + super_t(Base(static_cast< T >(start))), m_count(0) {} // intel 7.1 doesn't like default copy constructor diff --git a/3party/boost/boost/archive/iterators/mb_from_wchar.hpp b/3party/boost/boost/archive/iterators/mb_from_wchar.hpp index 04e7c7e9fe..deb798f623 100644 --- a/3party/boost/boost/archive/iterators/mb_from_wchar.hpp +++ b/3party/boost/boost/archive/iterators/mb_from_wchar.hpp @@ -28,7 +28,6 @@ namespace std{ } // namespace std #endif -#include #include namespace boost { @@ -86,7 +85,7 @@ class mb_from_wchar wchar_t value = * this->base_reference(); #if (defined(__MINGW32__) && ((__MINGW32_MAJOR_VERSION > 3) \ || ((__MINGW32_MAJOR_VERSION == 3) && (__MINGW32_MINOR_VERSION >= 8)))) - m_bend = std::wcrtomb(m_buffer, value, 0); + m_bend = std::wcrtomb(m_buffer, value,0); #else m_bend = std::wctomb(m_buffer, value); #endif @@ -114,8 +113,8 @@ class mb_from_wchar public: // make composible buy using templated constructor template - mb_from_wchar(BOOST_PFTO_WRAPPER(T) start) : - super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))), + mb_from_wchar(T start) : + super_t(Base(static_cast< T >(start))), m_bend(0), m_bnext(0), m_full(false) diff --git a/3party/boost/boost/archive/iterators/remove_whitespace.hpp b/3party/boost/boost/archive/iterators/remove_whitespace.hpp index 4383987051..c3580ab258 100644 --- a/3party/boost/boost/archive/iterators/remove_whitespace.hpp +++ b/3party/boost/boost/archive/iterators/remove_whitespace.hpp @@ -18,8 +18,6 @@ #include -#include - #include #include #include @@ -153,8 +151,8 @@ public: // remove_whitespace(){} // why is this needed? // make composible buy using templated constructor template - remove_whitespace(BOOST_PFTO_WRAPPER(T) start) : - super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))) + remove_whitespace(T start) : + super_t(Base(static_cast< T >(start))) {} // intel 7.1 doesn't like default copy constructor remove_whitespace(const remove_whitespace & rhs) : diff --git a/3party/boost/boost/archive/iterators/transform_width.hpp b/3party/boost/boost/archive/iterators/transform_width.hpp index 4e11953bc5..de1b4be7cb 100644 --- a/3party/boost/boost/archive/iterators/transform_width.hpp +++ b/3party/boost/boost/archive/iterators/transform_width.hpp @@ -24,8 +24,6 @@ // character and 8 bit bytes. Lowest common multiple is 24 => 4 6 bit characters // or 3 8 bit characters -#include - #include #include @@ -110,8 +108,8 @@ class transform_width : public: // make composible buy using templated constructor template - transform_width(BOOST_PFTO_WRAPPER(T) start) : - super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))), + transform_width(T start) : + super_t(Base(static_cast< T >(start))), m_buffer_out_full(false), // To disable GCC warning, but not truly necessary //(m_buffer_in will be initialized later before being @@ -124,6 +122,7 @@ public: 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), m_buffer_in(rhs.m_buffer_in), m_remaining_bits(rhs.m_remaining_bits), m_end_of_sequence(false) @@ -153,7 +152,7 @@ void transform_width::fill() { // append these bits to the next output // up to the size of the output - unsigned int i = std::min(missing_bits, m_remaining_bits); + unsigned int i = (std::min)(missing_bits, m_remaining_bits); // shift interesting bits to least significant position base_value_type j = m_buffer_in >> (m_remaining_bits - i); // and mask off the un interesting higher bits diff --git a/3party/boost/boost/archive/iterators/wchar_from_mb.hpp b/3party/boost/boost/archive/iterators/wchar_from_mb.hpp index ab81f17b68..b05db49e33 100644 --- a/3party/boost/boost/archive/iterators/wchar_from_mb.hpp +++ b/3party/boost/boost/archive/iterators/wchar_from_mb.hpp @@ -30,7 +30,6 @@ namespace std{ #endif #include -#include #include #include @@ -89,8 +88,8 @@ class wchar_from_mb public: // make composible buy using templated constructor template - wchar_from_mb(BOOST_PFTO_WRAPPER(T) start) : - super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))), + wchar_from_mb(T start) : + super_t(Base(static_cast< T >(start))), m_full(false) {} // intel 7.1 doesn't like default copy constructor diff --git a/3party/boost/boost/archive/iterators/xml_escape.hpp b/3party/boost/boost/archive/iterators/xml_escape.hpp index a5d2c5120f..c838a73b86 100644 --- a/3party/boost/boost/archive/iterators/xml_escape.hpp +++ b/3party/boost/boost/archive/iterators/xml_escape.hpp @@ -17,7 +17,6 @@ // See http://www.boost.org for updates, documentation, and revision history. #include -#include #include namespace boost { @@ -40,8 +39,8 @@ public: wchar_t fill(const wchar_t * & bstart, const wchar_t * & bend); template - xml_escape(BOOST_PFTO_WRAPPER(T) start) : - super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< T >(start)))) + xml_escape(T start) : + super_t(Base(static_cast< T >(start))) {} // intel 7.1 doesn't like default copy constructor xml_escape(const xml_escape & rhs) : diff --git a/3party/boost/boost/archive/iterators/xml_unescape.hpp b/3party/boost/boost/archive/iterators/xml_unescape.hpp index 69438ed044..944c987515 100644 --- a/3party/boost/boost/archive/iterators/xml_unescape.hpp +++ b/3party/boost/boost/archive/iterators/xml_unescape.hpp @@ -19,7 +19,6 @@ #include #include -#include #include #include @@ -54,8 +53,8 @@ public: value_type drain(); template - xml_unescape(BOOST_PFTO_WRAPPER(T) start) : - super_t(Base(BOOST_MAKE_PFTO_WRAPPER(static_cast< 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) : diff --git a/3party/boost/boost/archive/polymorphic_iarchive.hpp b/3party/boost/boost/archive/polymorphic_iarchive.hpp index 50488a331f..7f19410dd8 100644 --- a/3party/boost/boost/archive/polymorphic_iarchive.hpp +++ b/3party/boost/boost/archive/polymorphic_iarchive.hpp @@ -29,7 +29,6 @@ namespace std{ #include -#include #include #include #include @@ -44,13 +43,13 @@ namespace serialization { } // namespace serialization namespace archive { namespace detail { - class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive; - class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_iarchive; + class BOOST_ARCHIVE_DECL basic_iarchive; + class BOOST_ARCHIVE_DECL basic_iarchive; } class polymorphic_iarchive; -class polymorphic_iarchive_impl : +class BOOST_SYMBOL_VISIBLE polymorphic_iarchive_impl : public detail::interface_iarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -98,22 +97,19 @@ public: virtual void load_start(const char * name) = 0; virtual void load_end(const char * name) = 0; virtual void register_basic_serializer(const detail::basic_iserializer & bis) = 0; + virtual detail::helper_collection & get_helper_collection() = 0; // msvc and borland won't automatically pass these to the base class so // make it explicit here template - void load_override(T & t, BOOST_PFTO int) + void load_override(T & t) { archive::load(* this->This(), t); } // special treatment for name-value pairs. template void load_override( - #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - const - #endif - boost::serialization::nvp< T > & t, - int + const boost::serialization::nvp< T > & t ){ load_start(t.name()); archive::load(* this->This(), t.value()); @@ -156,7 +152,7 @@ public: namespace boost { namespace archive { -class polymorphic_iarchive : +class BOOST_SYMBOL_VISIBLE polymorphic_iarchive : public polymorphic_iarchive_impl { public: diff --git a/3party/boost/boost/archive/polymorphic_oarchive.hpp b/3party/boost/boost/archive/polymorphic_oarchive.hpp index 1eb9e0b419..35a2a89562 100644 --- a/3party/boost/boost/archive/polymorphic_oarchive.hpp +++ b/3party/boost/boost/archive/polymorphic_oarchive.hpp @@ -28,7 +28,6 @@ namespace std{ #endif #include -#include #include #include #include @@ -43,13 +42,13 @@ namespace serialization { } // namespace serialization namespace archive { namespace detail { - class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oarchive; - class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) basic_oserializer; + class BOOST_ARCHIVE_DECL basic_oarchive; + class BOOST_ARCHIVE_DECL basic_oserializer; } class polymorphic_oarchive; -class polymorphic_oarchive_impl : +class BOOST_SYMBOL_VISIBLE polymorphic_oarchive_impl : public detail::interface_oarchive { #ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS @@ -98,23 +97,21 @@ public: virtual void save_start(const char * name) = 0; virtual void save_end(const char * name) = 0; virtual void register_basic_serializer(const detail::basic_oserializer & bos) = 0; + virtual detail::helper_collection & get_helper_collection() = 0; virtual void end_preamble() = 0; // msvc and borland won't automatically pass these to the base class so // make it explicit here template - void save_override(T & t, BOOST_PFTO int) + void save_override(T & t) { archive::save(* this->This(), t); } // special treatment for name-value pairs. template void save_override( - #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING - const - #endif - ::boost::serialization::nvp< T > & t, int + const ::boost::serialization::nvp< T > & t ){ save_start(t.name()); archive::save(* this->This(), t.const_value()); @@ -139,7 +136,7 @@ public: }; // note: preserve naming symmetry -class polymorphic_oarchive : +class BOOST_SYMBOL_VISIBLE polymorphic_oarchive : public polymorphic_oarchive_impl { public: diff --git a/3party/boost/boost/archive/shared_ptr_helper.hpp b/3party/boost/boost/archive/shared_ptr_helper.hpp deleted file mode 100644 index 3df4605551..0000000000 --- a/3party/boost/boost/archive/shared_ptr_helper.hpp +++ /dev/null @@ -1,219 +0,0 @@ -#ifndef BOOST_ARCHIVE_SHARED_PTR_HELPER_HPP -#define BOOST_ARCHIVE_SHARED_PTR_HELPER_HPP - -// MS compatible compilers support #pragma once -#if defined(_MSC_VER) -# pragma once -#endif - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// shared_ptr_helper.hpp: serialization for boost shared pointern - -// (C) Copyright 2004-2009 Robert Ramey, Martin Ecker and Takatoshi Kondo -// 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 -#include // NULL - -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include // must be the last headern - -namespace boost_132 { - template class shared_ptr; -} -namespace boost { - template class shared_ptr; - namespace serialization { - class extended_type_info; - template - inline void load( - Archive & ar, - boost::shared_ptr< T > &t, - const unsigned int file_version - ); - } -namespace archive{ -namespace detail { - -/////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 -// a common class for holding various types of shared pointers - -class shared_ptr_helper { - struct collection_type_compare { - bool operator()( - const shared_ptr &lhs, - const shared_ptr &rhs - )const{ - return lhs.get() < rhs.get(); - } - }; - typedef std::set< - boost::shared_ptr, - collection_type_compare - > collection_type; - typedef collection_type::const_iterator iterator_type; - // list of shared_pointers create accessable by raw pointer. This - // is used to "match up" shared pointers loaded at different - // points in the archive. Note, we delay construction until - // it is actually used since this is by default included as - // a "mix-in" even if shared_ptr isn't used. - collection_type * m_pointers; - - struct null_deleter { - void operator()(void const *) const {} - }; - - struct void_deleter { - const boost::serialization::extended_type_info * m_eti; - void_deleter(const boost::serialization::extended_type_info *eti) : - m_eti(eti) - {} - void operator()(void *vp) const { - m_eti->destroy(vp); - } - }; - -#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS -public: -#else - template - friend inline void boost::serialization::load( - Archive & ar, - boost::shared_ptr< T > &t, - const unsigned int file_version - ); -#endif - -// #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP - // list of loaded pointers. This is used to be sure that the pointers - // stay around long enough to be "matched" with other pointers loaded - // by the same archive. These are created with a "null_deleter" so that - // when this list is destroyed - the underlaying raw pointers are not - // destroyed. This has to be done because the pointers are also held by - // new system which is disjoint from this set. This is implemented - // by a change in load_construct_data below. It makes this file suitable - // only for loading pointers into a 1.33 or later boost system. - std::list > * m_pointers_132; -// #endif - - // returns pointer to object and an indicator whether this is a - // new entry (true) or a previous one (false) - BOOST_ARCHIVE_DECL(shared_ptr) - get_od( - const void * od, - const boost::serialization::extended_type_info * true_type, - const boost::serialization::extended_type_info * this_type - ); - - BOOST_ARCHIVE_DECL(void) - append(const boost::shared_ptr &); - - template - struct non_polymorphic { - static const boost::serialization::extended_type_info * - get_object_identifier(T &){ - return & boost::serialization::singleton< - BOOST_DEDUCED_TYPENAME - boost::serialization::type_info_implementation< T >::type - >::get_const_instance(); - } - }; - template - struct polymorphic { - static const boost::serialization::extended_type_info * - get_object_identifier(T & t){ - return boost::serialization::singleton< - BOOST_DEDUCED_TYPENAME - boost::serialization::type_info_implementation< T >::type - >::get_const_instance().get_derived_extended_type_info(t); - } - }; -public: - template - void reset(shared_ptr< T > & s, T * t){ - if(NULL == t){ - s.reset(); - return; - } - const boost::serialization::extended_type_info * this_type - = & boost::serialization::type_info_implementation< T >::type - ::get_const_instance(); - - // get pointer to the most derived object. This is effectively - // the object identifern - typedef BOOST_DEDUCED_TYPENAME mpl::eval_if< - is_polymorphic< T >, - mpl::identity >, - mpl::identity > - >::type type; - - const boost::serialization::extended_type_info * true_type - = type::get_object_identifier(*t); - - // note:if this exception is thrown, be sure that derived pointern - // is either registered or exported. - if(NULL == true_type) - boost::serialization::throw_exception( - archive_exception( - archive_exception::unregistered_class, - this_type->get_debug_info() - ) - ); - shared_ptr r = - get_od( - static_cast(t), - true_type, - this_type - ); - if(!r){ - s.reset(t); - const void * od = void_downcast( - *true_type, - *this_type, - static_cast(t) - ); - shared_ptr sp(s, od); - append(sp); - } - else{ - s = shared_ptr< T >( - r, - static_cast(r.get()) - ); - } - } - -// #ifdef BOOST_SERIALIZATION_SHARED_PTR_132_HPP - BOOST_ARCHIVE_DECL(void) - append(const boost_132::shared_ptr & t); -// #endif -public: - BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) - shared_ptr_helper(); - BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) - ~shared_ptr_helper(); -}; - -} // namespace detail -} // namespace archive -} // namespace boost - -#include // pops abi_suffix.hpp pragmas - -#endif // BOOST_ARCHIVE_SHARED_PTR_HELPER_HPP diff --git a/3party/boost/boost/archive/text_iarchive.hpp b/3party/boost/boost/archive/text_iarchive.hpp index 1fd0f608d3..207c5d212c 100644 --- a/3party/boost/boost/archive/text_iarchive.hpp +++ b/3party/boost/boost/archive/text_iarchive.hpp @@ -40,7 +40,7 @@ namespace detail { } // namespace detail template -class text_iarchive_impl : +class BOOST_SYMBOL_VISIBLE text_iarchive_impl : public basic_text_iprimitive, public basic_text_iarchive { @@ -72,33 +72,30 @@ protected: load(v); t = boost::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 - // note: the following should not needed - but one compiler (vc 7.1) - // fails to compile one test (test_shared_ptr) without it !!! - // make this protected so it can be called from a derived archive template - void load_override(T & t, BOOST_PFTO int){ - basic_text_iarchive::load_override(t, 0); + void load_override(T & t){ + basic_text_iarchive::load_override(t); } - BOOST_ARCHIVE_DECL(void) - load_override(class_name_type & t, int); - BOOST_ARCHIVE_DECL(void) + BOOST_ARCHIVE_DECL void + load_override(class_name_type & t); + BOOST_ARCHIVE_DECL void init(); - BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) + 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(BOOST_PP_EMPTY()) + //BOOST_ARCHIVE_DECL ~text_iarchive_impl(){}; }; @@ -119,7 +116,7 @@ protected: namespace boost { namespace archive { -class text_iarchive : +class BOOST_SYMBOL_VISIBLE text_iarchive : public text_iarchive_impl{ public: text_iarchive(std::istream & is_, unsigned int flags = 0) : diff --git a/3party/boost/boost/archive/text_oarchive.hpp b/3party/boost/boost/archive/text_oarchive.hpp index 9fd63a9b97..af1a19d14d 100644 --- a/3party/boost/boost/archive/text_oarchive.hpp +++ b/3party/boost/boost/archive/text_oarchive.hpp @@ -47,7 +47,7 @@ namespace detail { } // namespace detail template -class text_oarchive_impl : +class BOOST_SYMBOL_VISIBLE text_oarchive_impl : /* protected ? */ public basic_text_oprimitive, public basic_text_oarchive { @@ -78,32 +78,32 @@ protected: void save(const boost::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_PP_EMPTY()) + 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(BOOST_PP_EMPTY()) + //BOOST_ARCHIVE_DECL ~text_oarchive_impl(){}; 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 // preserve correct static polymorphism. -class text_oarchive : +class BOOST_SYMBOL_VISIBLE text_oarchive : public text_oarchive_impl { public: diff --git a/3party/boost/boost/archive/text_wiarchive.hpp b/3party/boost/boost/archive/text_wiarchive.hpp index 5105d351ca..a78548370c 100644 --- a/3party/boost/boost/archive/text_wiarchive.hpp +++ b/3party/boost/boost/archive/text_wiarchive.hpp @@ -44,7 +44,7 @@ namespace detail { } // namespace detail template -class text_wiarchive_impl : +class BOOST_SYMBOL_VISIBLE text_wiarchive_impl : public basic_text_iprimitive, public basic_text_iarchive { @@ -76,25 +76,23 @@ protected: load(v); t = boost::serialization::item_version_type(v); } - BOOST_WARCHIVE_DECL(void) + BOOST_WARCHIVE_DECL void load(char * t); #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_WARCHIVE_DECL(void) + BOOST_WARCHIVE_DECL void load(wchar_t * t); #endif - BOOST_WARCHIVE_DECL(void) + BOOST_WARCHIVE_DECL void load(std::string &s); #ifndef BOOST_NO_STD_WSTRING - BOOST_WARCHIVE_DECL(void) + BOOST_WARCHIVE_DECL void load(std::wstring &ws); #endif - // note: the following should not needed - but one compiler (vc 7.1) - // fails to compile one test (test_shared_ptr) without it !!! template - void load_override(T & t, BOOST_PFTO int){ - basic_text_iarchive::load_override(t, 0); + void load_override(T & t){ + basic_text_iarchive::load_override(t); } - BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_WARCHIVE_DECL text_wiarchive_impl(std::wistream & is, unsigned int flags); ~text_wiarchive_impl(){}; }; @@ -116,7 +114,7 @@ protected: namespace boost { namespace archive { -class text_wiarchive : +class BOOST_SYMBOL_VISIBLE text_wiarchive : public text_wiarchive_impl{ public: text_wiarchive(std::wistream & is, unsigned int flags = 0) : diff --git a/3party/boost/boost/archive/text_woarchive.hpp b/3party/boost/boost/archive/text_woarchive.hpp index 2f75204d2f..70f847d6b0 100644 --- a/3party/boost/boost/archive/text_woarchive.hpp +++ b/3party/boost/boost/archive/text_woarchive.hpp @@ -52,7 +52,7 @@ namespace detail { } // namespace detail template -class text_woarchive_impl : +class BOOST_SYMBOL_VISIBLE text_woarchive_impl : public basic_text_oprimitive, public basic_text_oarchive { @@ -83,16 +83,16 @@ protected: void save(const boost::serialization::item_version_type & t){ save(static_cast(t)); } - BOOST_WARCHIVE_DECL(void) + 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) + BOOST_WARCHIVE_DECL void save(const std::wstring &ws); #endif text_woarchive_impl(std::wostream & os, unsigned int flags) : @@ -129,7 +129,7 @@ public: // do not derive from this class. If you want to extend this functionality // via inhertance, derived from text_oarchive_impl instead. This will // preserve correct static polymorphism. -class text_woarchive : +class BOOST_SYMBOL_VISIBLE text_woarchive : public text_woarchive_impl { public: diff --git a/3party/boost/boost/archive/xml_archive_exception.hpp b/3party/boost/boost/archive/xml_archive_exception.hpp index 622cafea41..c782cf1027 100644 --- a/3party/boost/boost/archive/xml_archive_exception.hpp +++ b/3party/boost/boost/archive/xml_archive_exception.hpp @@ -20,7 +20,6 @@ #include #include -#include #include #include @@ -32,7 +31,7 @@ namespace archive { ////////////////////////////////////////////////////////////////////// // exceptions thrown by xml archives // -class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) xml_archive_exception : +class BOOST_SYMBOL_VISIBLE xml_archive_exception : public virtual boost::archive::archive_exception { public: @@ -41,7 +40,7 @@ public: xml_archive_tag_mismatch, xml_archive_tag_name_error } exception_code; - xml_archive_exception( + BOOST_ARCHIVE_DECL xml_archive_exception( exception_code c, const char * e1 = NULL, const char * e2 = NULL diff --git a/3party/boost/boost/archive/xml_iarchive.hpp b/3party/boost/boost/archive/xml_iarchive.hpp index ba50d7cc48..4ce1e86ca6 100644 --- a/3party/boost/boost/archive/xml_iarchive.hpp +++ b/3party/boost/boost/archive/xml_iarchive.hpp @@ -18,7 +18,7 @@ #include -//#include +#include #include #include #include @@ -44,7 +44,7 @@ class basic_xml_grammar; typedef basic_xml_grammar xml_grammar; template -class xml_iarchive_impl : +class BOOST_SYMBOL_VISIBLE xml_iarchive_impl : public basic_text_iprimitive, public basic_xml_iarchive { @@ -64,10 +64,8 @@ protected: friend class load_access; #endif #endif - // instances of micro xml parser to parse start preambles - // scoped_ptr doesn't play nice with borland - so use a naked pointer - // scoped_ptr gimpl; - xml_grammar *gimpl; + // use boost:scoped_ptr to implement automatic deletion; + boost::scoped_ptr gimpl; std::istream & get_is(){ return is; @@ -88,29 +86,29 @@ protected: load(v); t = boost::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 - void load_override(T & t, BOOST_PFTO int){ - basic_xml_iarchive::load_override(t, 0); + void load_override(T & t){ + basic_xml_iarchive::load_override(t); } - BOOST_ARCHIVE_DECL(void) - load_override(class_name_type & t, int); - BOOST_ARCHIVE_DECL(void) + BOOST_ARCHIVE_DECL void + load_override(class_name_type & t); + BOOST_ARCHIVE_DECL void init(); - BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_DECL xml_iarchive_impl(std::istream & is, unsigned int flags); - BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_ARCHIVE_DECL ~xml_iarchive_impl(); }; @@ -130,7 +128,7 @@ protected: namespace boost { namespace archive { -class xml_iarchive : +class BOOST_SYMBOL_VISIBLE xml_iarchive : public xml_iarchive_impl{ public: xml_iarchive(std::istream & is, unsigned int flags = 0) : diff --git a/3party/boost/boost/archive/xml_oarchive.hpp b/3party/boost/boost/archive/xml_oarchive.hpp index 2ac4ae1d69..b4bdd0fa01 100644 --- a/3party/boost/boost/archive/xml_oarchive.hpp +++ b/3party/boost/boost/archive/xml_oarchive.hpp @@ -47,7 +47,7 @@ namespace detail { } // namespace detail template -class xml_oarchive_impl : +class BOOST_SYMBOL_VISIBLE xml_oarchive_impl : public basic_text_oprimitive, public basic_xml_oarchive { @@ -82,19 +82,19 @@ protected: save(const boost::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_PP_EMPTY()) + BOOST_ARCHIVE_DECL xml_oarchive_impl(std::ostream & os, unsigned int flags); ~xml_oarchive_impl(){} public: @@ -118,7 +118,7 @@ public: // do not derive from this class. If you want to extend this functionality // via inhertance, derived from xml_oarchive_impl instead. This will // preserve correct static polymorphism. -class xml_oarchive : +class BOOST_SYMBOL_VISIBLE xml_oarchive : public xml_oarchive_impl { public: diff --git a/3party/boost/boost/archive/xml_wiarchive.hpp b/3party/boost/boost/archive/xml_wiarchive.hpp index 31aff88ad0..9fa66bb56a 100644 --- a/3party/boost/boost/archive/xml_wiarchive.hpp +++ b/3party/boost/boost/archive/xml_wiarchive.hpp @@ -23,13 +23,22 @@ #include -//#include +#include #include #include #include #include #include +#ifdef BOOST_NO_CXX11_HDR_CODECVT + #include +#else + #include + namespace boost { namespace archive { namespace detail { + typedef std::codecvt_utf8 utf8_codecvt_facet; + } } } +#endif + #include // must be the last header #ifdef BOOST_MSVC @@ -37,7 +46,7 @@ # pragma warning(disable : 4511 4512) #endif -namespace boost { +namespace boost { namespace archive { namespace detail { @@ -49,7 +58,7 @@ class basic_xml_grammar; typedef basic_xml_grammar xml_wgrammar; template -class xml_wiarchive_impl : +class BOOST_SYMBOL_VISIBLE xml_wiarchive_impl : public basic_text_iprimitive, public basic_xml_iarchive { @@ -69,10 +78,7 @@ protected: friend class load_access; #endif #endif - // instances of micro xml parser to parse start preambles - // scoped_ptr doesn't play nice with borland - so use a naked pointer - // scoped_ptr gimpl; - xml_wgrammar *gimpl; + boost::scoped_ptr gimpl; std::wistream & get_is(){ return is; } @@ -93,29 +99,29 @@ protected: load(v); t = boost::serialization::item_version_type(v); } - BOOST_WARCHIVE_DECL(void) + BOOST_WARCHIVE_DECL void load(char * t); #ifndef BOOST_NO_INTRINSIC_WCHAR_T - BOOST_WARCHIVE_DECL(void) + BOOST_WARCHIVE_DECL void load(wchar_t * t); #endif - BOOST_WARCHIVE_DECL(void) + BOOST_WARCHIVE_DECL void load(std::string &s); #ifndef BOOST_NO_STD_WSTRING - BOOST_WARCHIVE_DECL(void) + BOOST_WARCHIVE_DECL void load(std::wstring &ws); #endif template - void load_override(T & t, BOOST_PFTO int){ - basic_xml_iarchive::load_override(t, 0); + void load_override(T & t){ + basic_xml_iarchive::load_override(t); } - BOOST_WARCHIVE_DECL(void) - load_override(class_name_type & t, int); - BOOST_WARCHIVE_DECL(void) + BOOST_WARCHIVE_DECL void + load_override(class_name_type & t); + BOOST_WARCHIVE_DECL void init(); - BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_WARCHIVE_DECL xml_wiarchive_impl(std::wistream & is, unsigned int flags) ; - BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_WARCHIVE_DECL ~xml_wiarchive_impl(); }; @@ -136,7 +142,7 @@ protected: namespace boost { namespace archive { -class xml_wiarchive : +class BOOST_SYMBOL_VISIBLE xml_wiarchive : public xml_wiarchive_impl{ public: xml_wiarchive(std::wistream & is, unsigned int flags = 0) : diff --git a/3party/boost/boost/archive/xml_woarchive.hpp b/3party/boost/boost/archive/xml_woarchive.hpp index 7fcaeb9634..8f8b974283 100644 --- a/3party/boost/boost/archive/xml_woarchive.hpp +++ b/3party/boost/boost/archive/xml_woarchive.hpp @@ -30,12 +30,22 @@ namespace std{ #include +#include #include #include #include #include #include +#ifdef BOOST_NO_CXX11_HDR_CODECVT + #include +#else + #include + namespace boost { namespace archive { namespace detail { + typedef std::codecvt_utf8 utf8_codecvt_facet; + } } } +#endif + #include // must be the last header #ifdef BOOST_MSVC @@ -51,7 +61,7 @@ namespace detail { } // namespace detail template -class xml_woarchive_impl : +class BOOST_SYMBOL_VISIBLE xml_woarchive_impl : public basic_text_oprimitive, public basic_xml_oarchive { @@ -71,7 +81,6 @@ protected: friend class save_access; #endif #endif - //void end_preamble(){ // basic_xml_oarchive::end_preamble(); //} @@ -88,21 +97,22 @@ protected: save(const boost::serialization::item_version_type & t){ save(static_cast(t)); } - BOOST_WARCHIVE_DECL(void) + 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) + BOOST_WARCHIVE_DECL void save(const std::wstring &ws); #endif - BOOST_WARCHIVE_DECL(BOOST_PP_EMPTY()) + BOOST_WARCHIVE_DECL xml_woarchive_impl(std::wostream & os, unsigned int flags); - ~xml_woarchive_impl(){} + BOOST_WARCHIVE_DECL + ~xml_woarchive_impl(); public: void save_binary(const void *address, std::size_t count){ @@ -125,7 +135,7 @@ public: // do not derive from this class. If you want to extend this functionality // via inhertance, derived from xml_woarchive_impl instead. This will // preserve correct static polymorphism. -class xml_woarchive : +class BOOST_SYMBOL_VISIBLE xml_woarchive : public xml_woarchive_impl { public: diff --git a/3party/boost/boost/asio.hpp b/3party/boost/boost/asio.hpp index 871fcbe41f..67658a827c 100644 --- a/3party/boost/boost/asio.hpp +++ b/3party/boost/boost/asio.hpp @@ -2,7 +2,7 @@ // asio.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/async_result.hpp b/3party/boost/boost/asio/async_result.hpp index 7a24ce5334..013fd9e162 100644 --- a/3party/boost/boost/asio/async_result.hpp +++ b/3party/boost/boost/asio/async_result.hpp @@ -2,7 +2,7 @@ // async_result.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_datagram_socket.hpp b/3party/boost/boost/asio/basic_datagram_socket.hpp index 1be3c78235..f0ffe15e24 100644 --- a/3party/boost/boost/asio/basic_datagram_socket.hpp +++ b/3party/boost/boost/asio/basic_datagram_socket.hpp @@ -2,7 +2,7 @@ // basic_datagram_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_deadline_timer.hpp b/3party/boost/boost/asio/basic_deadline_timer.hpp index 767e85990f..27a75f3b64 100644 --- a/3party/boost/boost/asio/basic_deadline_timer.hpp +++ b/3party/boost/boost/asio/basic_deadline_timer.hpp @@ -2,7 +2,7 @@ // basic_deadline_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_io_object.hpp b/3party/boost/boost/asio/basic_io_object.hpp index 784fcc9bed..568ec6a726 100644 --- a/3party/boost/boost/asio/basic_io_object.hpp +++ b/3party/boost/boost/asio/basic_io_object.hpp @@ -2,7 +2,7 @@ // basic_io_object.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_raw_socket.hpp b/3party/boost/boost/asio/basic_raw_socket.hpp index 4f3c7c24c5..1f12827367 100644 --- a/3party/boost/boost/asio/basic_raw_socket.hpp +++ b/3party/boost/boost/asio/basic_raw_socket.hpp @@ -2,7 +2,7 @@ // basic_raw_socket.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_seq_packet_socket.hpp b/3party/boost/boost/asio/basic_seq_packet_socket.hpp index 630296c38e..5a7d920e11 100644 --- a/3party/boost/boost/asio/basic_seq_packet_socket.hpp +++ b/3party/boost/boost/asio/basic_seq_packet_socket.hpp @@ -2,7 +2,7 @@ // basic_seq_packet_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_serial_port.hpp b/3party/boost/boost/asio/basic_serial_port.hpp index dda2c88ca1..e0f83b0a5b 100644 --- a/3party/boost/boost/asio/basic_serial_port.hpp +++ b/3party/boost/boost/asio/basic_serial_port.hpp @@ -2,7 +2,7 @@ // basic_serial_port.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/basic_signal_set.hpp b/3party/boost/boost/asio/basic_signal_set.hpp index d7f60fa8ff..48e28caa16 100644 --- a/3party/boost/boost/asio/basic_signal_set.hpp +++ b/3party/boost/boost/asio/basic_signal_set.hpp @@ -2,7 +2,7 @@ // basic_signal_set.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_socket.hpp b/3party/boost/boost/asio/basic_socket.hpp index a28f365e58..7b6ac08560 100644 --- a/3party/boost/boost/asio/basic_socket.hpp +++ b/3party/boost/boost/asio/basic_socket.hpp @@ -2,7 +2,7 @@ // basic_socket.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_socket_acceptor.hpp b/3party/boost/boost/asio/basic_socket_acceptor.hpp index ed019a0d97..a1a1f8a350 100644 --- a/3party/boost/boost/asio/basic_socket_acceptor.hpp +++ b/3party/boost/boost/asio/basic_socket_acceptor.hpp @@ -2,7 +2,7 @@ // basic_socket_acceptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_socket_iostream.hpp b/3party/boost/boost/asio/basic_socket_iostream.hpp index 221de7fcf7..a0031cbf39 100644 --- a/3party/boost/boost/asio/basic_socket_iostream.hpp +++ b/3party/boost/boost/asio/basic_socket_iostream.hpp @@ -2,7 +2,7 @@ // basic_socket_iostream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_socket_streambuf.hpp b/3party/boost/boost/asio/basic_socket_streambuf.hpp index d5e056d1ed..5595e99cf7 100644 --- a/3party/boost/boost/asio/basic_socket_streambuf.hpp +++ b/3party/boost/boost/asio/basic_socket_streambuf.hpp @@ -2,7 +2,7 @@ // basic_socket_streambuf.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_stream_socket.hpp b/3party/boost/boost/asio/basic_stream_socket.hpp index 1a73c862df..44ce016ca1 100644 --- a/3party/boost/boost/asio/basic_stream_socket.hpp +++ b/3party/boost/boost/asio/basic_stream_socket.hpp @@ -2,7 +2,7 @@ // basic_stream_socket.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_streambuf.hpp b/3party/boost/boost/asio/basic_streambuf.hpp index 7884ebe8a8..d8cb477be8 100644 --- a/3party/boost/boost/asio/basic_streambuf.hpp +++ b/3party/boost/boost/asio/basic_streambuf.hpp @@ -2,7 +2,7 @@ // basic_streambuf.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_streambuf_fwd.hpp b/3party/boost/boost/asio/basic_streambuf_fwd.hpp index 87909ed6e6..5026aba851 100644 --- a/3party/boost/boost/asio/basic_streambuf_fwd.hpp +++ b/3party/boost/boost/asio/basic_streambuf_fwd.hpp @@ -2,7 +2,7 @@ // basic_streambuf_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/basic_waitable_timer.hpp b/3party/boost/boost/asio/basic_waitable_timer.hpp index 664c1bc2a8..3f63c78008 100644 --- a/3party/boost/boost/asio/basic_waitable_timer.hpp +++ b/3party/boost/boost/asio/basic_waitable_timer.hpp @@ -2,7 +2,7 @@ // basic_waitable_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/buffer.hpp b/3party/boost/boost/asio/buffer.hpp index 450face65e..729a31b906 100644 --- a/3party/boost/boost/asio/buffer.hpp +++ b/3party/boost/boost/asio/buffer.hpp @@ -2,7 +2,7 @@ // buffer.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/buffered_read_stream.hpp b/3party/boost/boost/asio/buffered_read_stream.hpp index 91493e3577..dea896d999 100644 --- a/3party/boost/boost/asio/buffered_read_stream.hpp +++ b/3party/boost/boost/asio/buffered_read_stream.hpp @@ -2,7 +2,7 @@ // buffered_read_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/buffered_read_stream_fwd.hpp b/3party/boost/boost/asio/buffered_read_stream_fwd.hpp index 0f8a59e0b8..9c2a742c21 100644 --- a/3party/boost/boost/asio/buffered_read_stream_fwd.hpp +++ b/3party/boost/boost/asio/buffered_read_stream_fwd.hpp @@ -2,7 +2,7 @@ // buffered_read_stream_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/buffered_stream.hpp b/3party/boost/boost/asio/buffered_stream.hpp index b9ca771002..d28620f3ad 100644 --- a/3party/boost/boost/asio/buffered_stream.hpp +++ b/3party/boost/boost/asio/buffered_stream.hpp @@ -2,7 +2,7 @@ // buffered_stream.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/buffered_stream_fwd.hpp b/3party/boost/boost/asio/buffered_stream_fwd.hpp index d51b3d1ac6..d3754db588 100644 --- a/3party/boost/boost/asio/buffered_stream_fwd.hpp +++ b/3party/boost/boost/asio/buffered_stream_fwd.hpp @@ -2,7 +2,7 @@ // buffered_stream_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/buffered_write_stream.hpp b/3party/boost/boost/asio/buffered_write_stream.hpp index d7bf68c4a7..4b6c620292 100644 --- a/3party/boost/boost/asio/buffered_write_stream.hpp +++ b/3party/boost/boost/asio/buffered_write_stream.hpp @@ -2,7 +2,7 @@ // buffered_write_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/buffered_write_stream_fwd.hpp b/3party/boost/boost/asio/buffered_write_stream_fwd.hpp index 3b83cdffb1..7f57107880 100644 --- a/3party/boost/boost/asio/buffered_write_stream_fwd.hpp +++ b/3party/boost/boost/asio/buffered_write_stream_fwd.hpp @@ -2,7 +2,7 @@ // buffered_write_stream_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/buffers_iterator.hpp b/3party/boost/boost/asio/buffers_iterator.hpp index 877f9f11cf..bdf835e3c5 100644 --- a/3party/boost/boost/asio/buffers_iterator.hpp +++ b/3party/boost/boost/asio/buffers_iterator.hpp @@ -2,7 +2,7 @@ // buffers_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/completion_condition.hpp b/3party/boost/boost/asio/completion_condition.hpp index ed4f4fb852..58c7d95bec 100644 --- a/3party/boost/boost/asio/completion_condition.hpp +++ b/3party/boost/boost/asio/completion_condition.hpp @@ -2,7 +2,7 @@ // completion_condition.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/connect.hpp b/3party/boost/boost/asio/connect.hpp index 03c9fe798b..8557cc0884 100644 --- a/3party/boost/boost/asio/connect.hpp +++ b/3party/boost/boost/asio/connect.hpp @@ -2,7 +2,7 @@ // connect.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/coroutine.hpp b/3party/boost/boost/asio/coroutine.hpp index c01f66b115..cc760ad5f7 100644 --- a/3party/boost/boost/asio/coroutine.hpp +++ b/3party/boost/boost/asio/coroutine.hpp @@ -2,7 +2,7 @@ // coroutine.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/datagram_socket_service.hpp b/3party/boost/boost/asio/datagram_socket_service.hpp index 91c8aa1d5d..3c7bb08bc8 100644 --- a/3party/boost/boost/asio/datagram_socket_service.hpp +++ b/3party/boost/boost/asio/datagram_socket_service.hpp @@ -2,7 +2,7 @@ // datagram_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/deadline_timer.hpp b/3party/boost/boost/asio/deadline_timer.hpp index b78d3ced20..91bc2fb4aa 100644 --- a/3party/boost/boost/asio/deadline_timer.hpp +++ b/3party/boost/boost/asio/deadline_timer.hpp @@ -2,7 +2,7 @@ // deadline_timer.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -23,9 +23,7 @@ #include // Must come before posix_time. #include -#include #include -#include namespace boost { namespace asio { diff --git a/3party/boost/boost/asio/deadline_timer_service.hpp b/3party/boost/boost/asio/deadline_timer_service.hpp index ba7f00a66c..142d625145 100644 --- a/3party/boost/boost/asio/deadline_timer_service.hpp +++ b/3party/boost/boost/asio/deadline_timer_service.hpp @@ -2,7 +2,7 @@ // deadline_timer_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/addressof.hpp b/3party/boost/boost/asio/detail/addressof.hpp index 7b473319cb..2791c56f74 100644 --- a/3party/boost/boost/asio/detail/addressof.hpp +++ b/3party/boost/boost/asio/detail/addressof.hpp @@ -2,7 +2,7 @@ // detail/addressof.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/array.hpp b/3party/boost/boost/asio/detail/array.hpp index 8909e24808..5a58413de8 100644 --- a/3party/boost/boost/asio/detail/array.hpp +++ b/3party/boost/boost/asio/detail/array.hpp @@ -2,7 +2,7 @@ // detail/array.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/array_fwd.hpp b/3party/boost/boost/asio/detail/array_fwd.hpp index 219f45c2bc..7f6c6128c6 100644 --- a/3party/boost/boost/asio/detail/array_fwd.hpp +++ b/3party/boost/boost/asio/detail/array_fwd.hpp @@ -2,7 +2,7 @@ // detail/array_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/assert.hpp b/3party/boost/boost/asio/detail/assert.hpp index b4498d1b01..8847ea1ac9 100644 --- a/3party/boost/boost/asio/detail/assert.hpp +++ b/3party/boost/boost/asio/detail/assert.hpp @@ -2,7 +2,7 @@ // detail/assert.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/atomic_count.hpp b/3party/boost/boost/asio/detail/atomic_count.hpp index c39e926a0d..ce0ef73e36 100644 --- a/3party/boost/boost/asio/detail/atomic_count.hpp +++ b/3party/boost/boost/asio/detail/atomic_count.hpp @@ -2,7 +2,7 @@ // detail/atomic_count.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/base_from_completion_cond.hpp b/3party/boost/boost/asio/detail/base_from_completion_cond.hpp index 07e24f094e..3570899022 100644 --- a/3party/boost/boost/asio/detail/base_from_completion_cond.hpp +++ b/3party/boost/boost/asio/detail/base_from_completion_cond.hpp @@ -2,7 +2,7 @@ // detail/base_from_completion_cond.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/bind_handler.hpp b/3party/boost/boost/asio/detail/bind_handler.hpp index e8f488d003..9219910edb 100644 --- a/3party/boost/boost/asio/detail/bind_handler.hpp +++ b/3party/boost/boost/asio/detail/bind_handler.hpp @@ -2,7 +2,7 @@ // detail/bind_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/buffer_resize_guard.hpp b/3party/boost/boost/asio/detail/buffer_resize_guard.hpp index 56304e5b27..8bb0e73952 100644 --- a/3party/boost/boost/asio/detail/buffer_resize_guard.hpp +++ b/3party/boost/boost/asio/detail/buffer_resize_guard.hpp @@ -2,7 +2,7 @@ // detail/buffer_resize_guard.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/buffer_sequence_adapter.hpp b/3party/boost/boost/asio/detail/buffer_sequence_adapter.hpp index da81cbee7b..8cf8980455 100644 --- a/3party/boost/boost/asio/detail/buffer_sequence_adapter.hpp +++ b/3party/boost/boost/asio/detail/buffer_sequence_adapter.hpp @@ -2,7 +2,7 @@ // detail/buffer_sequence_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/buffered_stream_storage.hpp b/3party/boost/boost/asio/detail/buffered_stream_storage.hpp index 6f138d2e6a..f4fc5ccc74 100644 --- a/3party/boost/boost/asio/detail/buffered_stream_storage.hpp +++ b/3party/boost/boost/asio/detail/buffered_stream_storage.hpp @@ -2,7 +2,7 @@ // detail/buffered_stream_storage.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/call_stack.hpp b/3party/boost/boost/asio/detail/call_stack.hpp index 62aeb40a6a..65f71221b9 100644 --- a/3party/boost/boost/asio/detail/call_stack.hpp +++ b/3party/boost/boost/asio/detail/call_stack.hpp @@ -2,7 +2,7 @@ // detail/call_stack.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/chrono_time_traits.hpp b/3party/boost/boost/asio/detail/chrono_time_traits.hpp index 6b81e5d794..c0e073b00e 100644 --- a/3party/boost/boost/asio/detail/chrono_time_traits.hpp +++ b/3party/boost/boost/asio/detail/chrono_time_traits.hpp @@ -2,7 +2,7 @@ // detail/chrono_time_traits.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/completion_handler.hpp b/3party/boost/boost/asio/detail/completion_handler.hpp index 833f5a35be..3ad0ae8041 100644 --- a/3party/boost/boost/asio/detail/completion_handler.hpp +++ b/3party/boost/boost/asio/detail/completion_handler.hpp @@ -2,7 +2,7 @@ // detail/completion_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/config.hpp b/3party/boost/boost/asio/detail/config.hpp index 453f04d7a6..0f9e52d593 100644 --- a/3party/boost/boost/asio/detail/config.hpp +++ b/3party/boost/boost/asio/detail/config.hpp @@ -2,7 +2,7 @@ // detail/config.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -184,9 +184,15 @@ // Standard library support for system errors. # if !defined(BOOST_ASIO_DISABLE_STD_SYSTEM_ERROR) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_SYSTEM_ERROR 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_SYSTEM_ERROR 1 +# elif (__cplusplus >= 201103) +# if __has_include() +# define BOOST_ASIO_HAS_STD_SYSTEM_ERROR 1 +# endif // __has_include() +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -216,6 +222,11 @@ # endif // defined(__GXX_EXPERIMENTAL_CXX0X__) # endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # endif // defined(__GNUC__) +# if defined(BOOST_ASIO_MSVC) +# if (_MSC_VER >= 1900) +# define BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT noexcept(true) +# endif // (_MSC_VER >= 1900) +# endif // defined(BOOST_ASIO_MSVC) # if !defined(BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT) # define BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT # endif // !defined(BOOST_ASIO_ERROR_CATEGORY_NOEXCEPT) @@ -224,9 +235,15 @@ // Standard library support for arrays. #if !defined(BOOST_ASIO_HAS_STD_ARRAY) # if !defined(BOOST_ASIO_DISABLE_STD_ARRAY) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_ARRAY 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_ARRAY 1 +# elif (__cplusplus >= 201103) +# if __has_include() +# define BOOST_ASIO_HAS_STD_ARRAY 1 +# endif // __has_include() +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -245,9 +262,13 @@ // Standard library support for shared_ptr and weak_ptr. #if !defined(BOOST_ASIO_HAS_STD_SHARED_PTR) # if !defined(BOOST_ASIO_DISABLE_STD_SHARED_PTR) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_SHARED_PTR 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_SHARED_PTR 1 +# elif (__cplusplus >= 201103) +# define BOOST_ASIO_HAS_STD_SHARED_PTR 1 +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -266,9 +287,15 @@ // Standard library support for atomic operations. #if !defined(BOOST_ASIO_HAS_STD_ATOMIC) # if !defined(BOOST_ASIO_DISABLE_STD_ATOMIC) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_ATOMIC 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_ATOMIC 1 +# elif (__cplusplus >= 201103) +# if __has_include() +# define BOOST_ASIO_HAS_STD_ATOMIC 1 +# endif // __has_include() +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -289,9 +316,15 @@ // drafts, rather than the eventually standardised name of steady_clock. #if !defined(BOOST_ASIO_HAS_STD_CHRONO) # if !defined(BOOST_ASIO_DISABLE_STD_CHRONO) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_CHRONO 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_CHRONO 1 +# elif (__cplusplus >= 201103) +# if __has_include() +# define BOOST_ASIO_HAS_STD_CHRONO 1 +# endif // __has_include() +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -329,15 +362,19 @@ // Standard library support for addressof. #if !defined(BOOST_ASIO_HAS_STD_ADDRESSOF) # if !defined(BOOST_ASIO_DISABLE_STD_ADDRESSOF) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_ADDRESSOF 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_ADDRESSOF 1 +# elif (__cplusplus >= 201103) +# define BOOST_ASIO_HAS_STD_ADDRESSOF 1 +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) -# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +# if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) # define BOOST_ASIO_HAS_STD_ADDRESSOF 1 # endif // defined(__GXX_EXPERIMENTAL_CXX0X__) -# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) +# endif // ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 6)) || (__GNUC__ > 4) # endif // defined(__GNUC__) # if defined(BOOST_ASIO_MSVC) # if (_MSC_VER >= 1700) @@ -350,9 +387,13 @@ // Standard library support for the function class. #if !defined(BOOST_ASIO_HAS_STD_FUNCTION) # if !defined(BOOST_ASIO_DISABLE_STD_FUNCTION) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_FUNCTION 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_FUNCTION 1 +# elif (__cplusplus >= 201103) +# define BOOST_ASIO_HAS_STD_FUNCTION 1 +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -371,9 +412,15 @@ // Standard library support for type traits. #if !defined(BOOST_ASIO_HAS_STD_TYPE_TRAITS) # if !defined(BOOST_ASIO_DISABLE_STD_TYPE_TRAITS) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_TYPE_TRAITS 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_TYPE_TRAITS 1 +# elif (__cplusplus >= 201103) +# if __has_include() +# define BOOST_ASIO_HAS_STD_TYPE_TRAITS 1 +# endif // __has_include() +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -392,9 +439,13 @@ // Standard library support for the cstdint header. #if !defined(BOOST_ASIO_HAS_CSTDINT) # if !defined(BOOST_ASIO_DISABLE_CSTDINT) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_CSTDINT 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_CSTDINT 1 +# elif (__cplusplus >= 201103) +# define BOOST_ASIO_HAS_CSTDINT 1 +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 5)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -413,9 +464,15 @@ // Standard library support for the thread class. #if !defined(BOOST_ASIO_HAS_STD_THREAD) # if !defined(BOOST_ASIO_DISABLE_STD_THREAD) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_THREAD 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_THREAD 1 +# elif (__cplusplus >= 201103) +# if __has_include() +# define BOOST_ASIO_HAS_STD_THREAD 1 +# endif // __has_include() +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -434,9 +491,15 @@ // Standard library support for the mutex and condition variable classes. #if !defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR) # if !defined(BOOST_ASIO_DISABLE_STD_MUTEX_AND_CONDVAR) -# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) -# define BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR 1 -# endif // defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# if defined(__clang__) +# if defined(BOOST_ASIO_HAS_CLANG_LIBCXX) +# define BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR 1 +# elif (__cplusplus >= 201103) +# if __has_include() +# define BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR 1 +# endif // __has_include() +# endif // (__cplusplus >= 201103) +# endif // defined(__clang__) # if defined(__GNUC__) # if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)) || (__GNUC__ > 4) # if defined(__GXX_EXPERIMENTAL_CXX0X__) @@ -456,9 +519,11 @@ #if !defined(BOOST_ASIO_WINDOWS_RUNTIME) # if defined(__cplusplus_winrt) # include -# if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP) +# if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) \ + && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) # define BOOST_ASIO_WINDOWS_RUNTIME 1 -# endif // WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP) +# endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) + // && !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) # endif // defined(__cplusplus_winrt) #endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME) @@ -545,6 +610,28 @@ # endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) #endif // !defined(BOOST_ASIO_HAS_IOCP) +// On POSIX (and POSIX-like) platforms we need to include unistd.h in order to +// get access to the various platform feature macros, e.g. to be able to test +// for threads support. +#if !defined(BOOST_ASIO_HAS_UNISTD_H) +# if !defined(BOOST_ASIO_HAS_BOOST_CONFIG) +# if defined(unix) \ + || defined(__unix) \ + || defined(_XOPEN_SOURCE) \ + || defined(_POSIX_SOURCE) \ + || (defined(__MACH__) && defined(__APPLE__)) \ + || defined(__FreeBSD__) \ + || defined(__NetBSD__) \ + || defined(__OpenBSD__) \ + || defined(__linux__) +# define BOOST_ASIO_HAS_UNISTD_H 1 +# endif +# endif // !defined(BOOST_ASIO_HAS_BOOST_CONFIG) +#endif // !defined(BOOST_ASIO_HAS_UNISTD_H) +#if defined(BOOST_ASIO_HAS_UNISTD_H) +# include +#endif // defined(BOOST_ASIO_HAS_UNISTD_H) + // Linux: epoll, eventfd and timerfd. #if defined(__linux__) # include @@ -732,28 +819,6 @@ # endif // !defined(BOOST_NO_TYPEID) #endif // !defined(BOOST_ASIO_NO_TYPEID) -// On POSIX (and POSIX-like) platforms we need to include unistd.h in order to -// get access to the various platform feature macros, e.g. to be able to test -// for threads support. -#if !defined(BOOST_ASIO_HAS_UNISTD_H) -# if !defined(BOOST_ASIO_HAS_BOOST_CONFIG) -# if defined(unix) \ - || defined(__unix) \ - || defined(_XOPEN_SOURCE) \ - || defined(_POSIX_SOURCE) \ - || (defined(__MACH__) && defined(__APPLE__)) \ - || defined(__FreeBSD__) \ - || defined(__NetBSD__) \ - || defined(__OpenBSD__) \ - || defined(__linux__) -# define BOOST_ASIO_HAS_UNISTD_H 1 -# endif -# endif // !defined(BOOST_ASIO_HAS_BOOST_CONFIG) -#endif // !defined(BOOST_ASIO_HAS_UNISTD_H) -#if defined(BOOST_ASIO_HAS_UNISTD_H) -# include -#endif // defined(BOOST_ASIO_HAS_UNISTD_H) - // Threads. #if !defined(BOOST_ASIO_HAS_THREADS) # if !defined(BOOST_ASIO_DISABLE_THREADS) diff --git a/3party/boost/boost/asio/detail/consuming_buffers.hpp b/3party/boost/boost/asio/detail/consuming_buffers.hpp index 8bd36e4128..7a022713ae 100644 --- a/3party/boost/boost/asio/detail/consuming_buffers.hpp +++ b/3party/boost/boost/asio/detail/consuming_buffers.hpp @@ -2,7 +2,7 @@ // detail/consuming_buffers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/cstdint.hpp b/3party/boost/boost/asio/detail/cstdint.hpp index ad611e982a..1dfa6e0181 100644 --- a/3party/boost/boost/asio/detail/cstdint.hpp +++ b/3party/boost/boost/asio/detail/cstdint.hpp @@ -2,7 +2,7 @@ // detail/cstdint.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/date_time_fwd.hpp b/3party/boost/boost/asio/detail/date_time_fwd.hpp index 1c0bcaf27f..9c8a515dbc 100644 --- a/3party/boost/boost/asio/detail/date_time_fwd.hpp +++ b/3party/boost/boost/asio/detail/date_time_fwd.hpp @@ -2,7 +2,7 @@ // detail/date_time_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/deadline_timer_service.hpp b/3party/boost/boost/asio/detail/deadline_timer_service.hpp index 52e26397eb..74a322655f 100644 --- a/3party/boost/boost/asio/detail/deadline_timer_service.hpp +++ b/3party/boost/boost/asio/detail/deadline_timer_service.hpp @@ -2,7 +2,7 @@ // detail/deadline_timer_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/dependent_type.hpp b/3party/boost/boost/asio/detail/dependent_type.hpp index a9e7feddcc..fb697d2b71 100644 --- a/3party/boost/boost/asio/detail/dependent_type.hpp +++ b/3party/boost/boost/asio/detail/dependent_type.hpp @@ -2,7 +2,7 @@ // detail/dependent_type.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/descriptor_ops.hpp b/3party/boost/boost/asio/detail/descriptor_ops.hpp index b9fbadc7fe..7ea2f07168 100644 --- a/3party/boost/boost/asio/detail/descriptor_ops.hpp +++ b/3party/boost/boost/asio/detail/descriptor_ops.hpp @@ -2,7 +2,7 @@ // detail/descriptor_ops.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/descriptor_read_op.hpp b/3party/boost/boost/asio/detail/descriptor_read_op.hpp index 6993bd6cdd..eaff8a2536 100644 --- a/3party/boost/boost/asio/detail/descriptor_read_op.hpp +++ b/3party/boost/boost/asio/detail/descriptor_read_op.hpp @@ -2,7 +2,7 @@ // detail/descriptor_read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/descriptor_write_op.hpp b/3party/boost/boost/asio/detail/descriptor_write_op.hpp index ec83eef18e..5e6a776494 100644 --- a/3party/boost/boost/asio/detail/descriptor_write_op.hpp +++ b/3party/boost/boost/asio/detail/descriptor_write_op.hpp @@ -2,7 +2,7 @@ // detail/descriptor_write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/dev_poll_reactor.hpp b/3party/boost/boost/asio/detail/dev_poll_reactor.hpp index 379e390d46..1b4d071986 100644 --- a/3party/boost/boost/asio/detail/dev_poll_reactor.hpp +++ b/3party/boost/boost/asio/detail/dev_poll_reactor.hpp @@ -2,7 +2,7 @@ // detail/dev_poll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -161,10 +161,6 @@ private: BOOST_ASIO_DECL void cancel_ops_unlocked(socket_type descriptor, const boost::system::error_code& ec); - // Helper class used to reregister descriptors after a fork. - class fork_helper; - friend class fork_helper; - // Add a pending event entry for the given descriptor. BOOST_ASIO_DECL ::pollfd& add_pending_event_change(int descriptor); diff --git a/3party/boost/boost/asio/detail/epoll_reactor.hpp b/3party/boost/boost/asio/detail/epoll_reactor.hpp index 976da8a9ef..5b80cd9f62 100644 --- a/3party/boost/boost/asio/detail/epoll_reactor.hpp +++ b/3party/boost/boost/asio/detail/epoll_reactor.hpp @@ -2,7 +2,7 @@ // detail/epoll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/event.hpp b/3party/boost/boost/asio/detail/event.hpp index a18affe371..e6cf2c3543 100644 --- a/3party/boost/boost/asio/detail/event.hpp +++ b/3party/boost/boost/asio/detail/event.hpp @@ -2,7 +2,7 @@ // detail/event.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/eventfd_select_interrupter.hpp b/3party/boost/boost/asio/detail/eventfd_select_interrupter.hpp index 70123728fc..d0d38b620c 100644 --- a/3party/boost/boost/asio/detail/eventfd_select_interrupter.hpp +++ b/3party/boost/boost/asio/detail/eventfd_select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/eventfd_select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/fd_set_adapter.hpp b/3party/boost/boost/asio/detail/fd_set_adapter.hpp index 7aebdefe34..0a28dc42a0 100644 --- a/3party/boost/boost/asio/detail/fd_set_adapter.hpp +++ b/3party/boost/boost/asio/detail/fd_set_adapter.hpp @@ -2,7 +2,7 @@ // detail/fd_set_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/fenced_block.hpp b/3party/boost/boost/asio/detail/fenced_block.hpp index 1ee26cf0ff..ea30c65e5f 100644 --- a/3party/boost/boost/asio/detail/fenced_block.hpp +++ b/3party/boost/boost/asio/detail/fenced_block.hpp @@ -2,7 +2,7 @@ // detail/fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/function.hpp b/3party/boost/boost/asio/detail/function.hpp index 1edcb1bf46..191615b59a 100644 --- a/3party/boost/boost/asio/detail/function.hpp +++ b/3party/boost/boost/asio/detail/function.hpp @@ -2,7 +2,7 @@ // detail/function.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/gcc_arm_fenced_block.hpp b/3party/boost/boost/asio/detail/gcc_arm_fenced_block.hpp index 5d5fc5c9c4..c1b3348b8a 100644 --- a/3party/boost/boost/asio/detail/gcc_arm_fenced_block.hpp +++ b/3party/boost/boost/asio/detail/gcc_arm_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_arm_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/gcc_hppa_fenced_block.hpp b/3party/boost/boost/asio/detail/gcc_hppa_fenced_block.hpp index 61ad4382d5..9f3a0bbc30 100644 --- a/3party/boost/boost/asio/detail/gcc_hppa_fenced_block.hpp +++ b/3party/boost/boost/asio/detail/gcc_hppa_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_hppa_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/gcc_sync_fenced_block.hpp b/3party/boost/boost/asio/detail/gcc_sync_fenced_block.hpp index 226cfa70e6..570f7eaa65 100644 --- a/3party/boost/boost/asio/detail/gcc_sync_fenced_block.hpp +++ b/3party/boost/boost/asio/detail/gcc_sync_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_sync_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/gcc_x86_fenced_block.hpp b/3party/boost/boost/asio/detail/gcc_x86_fenced_block.hpp index d39c693e52..81d517909c 100644 --- a/3party/boost/boost/asio/detail/gcc_x86_fenced_block.hpp +++ b/3party/boost/boost/asio/detail/gcc_x86_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/gcc_x86_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/handler_alloc_helpers.hpp b/3party/boost/boost/asio/detail/handler_alloc_helpers.hpp index dac3737c62..a602d8e315 100644 --- a/3party/boost/boost/asio/detail/handler_alloc_helpers.hpp +++ b/3party/boost/boost/asio/detail/handler_alloc_helpers.hpp @@ -2,7 +2,7 @@ // detail/handler_alloc_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/handler_cont_helpers.hpp b/3party/boost/boost/asio/detail/handler_cont_helpers.hpp index e318a6ed98..ec3abb78b5 100644 --- a/3party/boost/boost/asio/detail/handler_cont_helpers.hpp +++ b/3party/boost/boost/asio/detail/handler_cont_helpers.hpp @@ -2,7 +2,7 @@ // detail/handler_cont_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/handler_invoke_helpers.hpp b/3party/boost/boost/asio/detail/handler_invoke_helpers.hpp index ed276e5248..fed4c4eef6 100644 --- a/3party/boost/boost/asio/detail/handler_invoke_helpers.hpp +++ b/3party/boost/boost/asio/detail/handler_invoke_helpers.hpp @@ -2,7 +2,7 @@ // detail/handler_invoke_helpers.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/handler_tracking.hpp b/3party/boost/boost/asio/detail/handler_tracking.hpp index 9f31ddc923..f1a89fe91f 100644 --- a/3party/boost/boost/asio/detail/handler_tracking.hpp +++ b/3party/boost/boost/asio/detail/handler_tracking.hpp @@ -2,7 +2,7 @@ // detail/handler_tracking.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/handler_type_requirements.hpp b/3party/boost/boost/asio/detail/handler_type_requirements.hpp index da111f1de6..a2d3fd1f20 100644 --- a/3party/boost/boost/asio/detail/handler_type_requirements.hpp +++ b/3party/boost/boost/asio/detail/handler_type_requirements.hpp @@ -2,7 +2,7 @@ // detail/handler_type_requirements.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/hash_map.hpp b/3party/boost/boost/asio/detail/hash_map.hpp index 6724a242de..20b3332602 100644 --- a/3party/boost/boost/asio/detail/hash_map.hpp +++ b/3party/boost/boost/asio/detail/hash_map.hpp @@ -2,7 +2,7 @@ // detail/hash_map.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/buffer_sequence_adapter.ipp b/3party/boost/boost/asio/detail/impl/buffer_sequence_adapter.ipp index a538134b9e..c5a1f3d67d 100644 --- a/3party/boost/boost/asio/detail/impl/buffer_sequence_adapter.ipp +++ b/3party/boost/boost/asio/detail/impl/buffer_sequence_adapter.ipp @@ -2,7 +2,7 @@ // detail/impl/buffer_sequence_adapter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/descriptor_ops.ipp b/3party/boost/boost/asio/detail/impl/descriptor_ops.ipp index 54b8537d6a..d700b22b8b 100644 --- a/3party/boost/boost/asio/detail/impl/descriptor_ops.ipp +++ b/3party/boost/boost/asio/detail/impl/descriptor_ops.ipp @@ -2,7 +2,7 @@ // detail/impl/descriptor_ops.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/dev_poll_reactor.hpp b/3party/boost/boost/asio/detail/impl/dev_poll_reactor.hpp index 1c02ea4ffb..5ca682244e 100644 --- a/3party/boost/boost/asio/detail/impl/dev_poll_reactor.hpp +++ b/3party/boost/boost/asio/detail/impl/dev_poll_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/dev_poll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/dev_poll_reactor.ipp b/3party/boost/boost/asio/detail/impl/dev_poll_reactor.ipp index cc5b4016a8..aa276d3daf 100644 --- a/3party/boost/boost/asio/detail/impl/dev_poll_reactor.ipp +++ b/3party/boost/boost/asio/detail/impl/dev_poll_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/dev_poll_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -68,27 +68,6 @@ void dev_poll_reactor::shutdown_service() io_service_.abandon_operations(ops); } -// Helper class to re-register all descriptors with /dev/poll. -class dev_poll_reactor::fork_helper -{ -public: - fork_helper(dev_poll_reactor* reactor, short events) - : reactor_(reactor), events_(events) - { - } - - bool set(int descriptor) - { - ::pollfd& ev = reactor_->add_pending_event_change(descriptor); - ev.events = events_; - return true; - } - -private: - dev_poll_reactor* reactor_; - short events_; -}; - void dev_poll_reactor::fork_service(boost::asio::io_service::fork_event fork_ev) { if (fork_ev == boost::asio::io_service::fork_child) @@ -111,18 +90,24 @@ void dev_poll_reactor::fork_service(boost::asio::io_service::fork_event fork_ev) // Re-register all descriptors with /dev/poll. The changes will be written // to the /dev/poll descriptor the next time the reactor is run. - op_queue ops; - fork_helper read_op_helper(this, POLLERR | POLLHUP | POLLIN); - op_queue_[read_op].get_descriptors(read_op_helper, ops); - fork_helper write_op_helper(this, POLLERR | POLLHUP | POLLOUT); - op_queue_[write_op].get_descriptors(write_op_helper, ops); - fork_helper except_op_helper(this, POLLERR | POLLHUP | POLLPRI); - op_queue_[except_op].get_descriptors(except_op_helper, ops); + for (int i = 0; i < max_ops; ++i) + { + reactor_op_queue::iterator iter = op_queue_[i].begin(); + reactor_op_queue::iterator end = op_queue_[i].end(); + for (; iter != end; ++iter) + { + ::pollfd& pending_ev = add_pending_event_change(iter->first); + pending_ev.events |= POLLERR | POLLHUP; + switch (i) + { + case read_op: pending_ev.events |= POLLIN; break; + case write_op: pending_ev.events |= POLLOUT; break; + case except_op: pending_ev.events |= POLLPRI; break; + default: break; + } + } + } interrupter_.interrupt(); - - // The ops op_queue will always be empty because the fork_helper's set() - // member function never returns false. - BOOST_ASIO_ASSERT(ops.empty()); } } diff --git a/3party/boost/boost/asio/detail/impl/epoll_reactor.hpp b/3party/boost/boost/asio/detail/impl/epoll_reactor.hpp index 3a08f8eb7b..dea5225b3e 100644 --- a/3party/boost/boost/asio/detail/impl/epoll_reactor.hpp +++ b/3party/boost/boost/asio/detail/impl/epoll_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/epoll_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/epoll_reactor.ipp b/3party/boost/boost/asio/detail/impl/epoll_reactor.ipp index 27408e4e02..accb0dac27 100644 --- a/3party/boost/boost/asio/detail/impl/epoll_reactor.ipp +++ b/3party/boost/boost/asio/detail/impl/epoll_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/epoll_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/eventfd_select_interrupter.ipp b/3party/boost/boost/asio/detail/impl/eventfd_select_interrupter.ipp index c5a673a878..cde54b9a02 100644 --- a/3party/boost/boost/asio/detail/impl/eventfd_select_interrupter.ipp +++ b/3party/boost/boost/asio/detail/impl/eventfd_select_interrupter.ipp @@ -2,7 +2,7 @@ // detail/impl/eventfd_select_interrupter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Roelof Naude (roelof.naude at gmail dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/impl/handler_tracking.ipp b/3party/boost/boost/asio/detail/impl/handler_tracking.ipp index 2c84e5a364..4a07911c82 100644 --- a/3party/boost/boost/asio/detail/impl/handler_tracking.ipp +++ b/3party/boost/boost/asio/detail/impl/handler_tracking.ipp @@ -2,7 +2,7 @@ // detail/impl/handler_tracking.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/kqueue_reactor.hpp b/3party/boost/boost/asio/detail/impl/kqueue_reactor.hpp index 889ae26049..807c121f70 100644 --- a/3party/boost/boost/asio/detail/impl/kqueue_reactor.hpp +++ b/3party/boost/boost/asio/detail/impl/kqueue_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/kqueue_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/impl/kqueue_reactor.ipp b/3party/boost/boost/asio/detail/impl/kqueue_reactor.ipp index 7a026a9345..70aeb38b88 100644 --- a/3party/boost/boost/asio/detail/impl/kqueue_reactor.ipp +++ b/3party/boost/boost/asio/detail/impl/kqueue_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/kqueue_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -47,10 +47,10 @@ kqueue_reactor::kqueue_reactor(boost::asio::io_service& io_service) interrupter_(), shutdown_(false) { - struct kevent event; - BOOST_ASIO_KQUEUE_EV_SET(&event, interrupter_.read_descriptor(), + struct kevent events[1]; + BOOST_ASIO_KQUEUE_EV_SET(&events[0], interrupter_.read_descriptor(), EVFILT_READ, EV_ADD, 0, 0, &interrupter_); - if (::kevent(kqueue_fd_, &event, 1, 0, 0, 0) == -1) + if (::kevent(kqueue_fd_, events, 1, 0, 0, 0) == -1) { boost::system::error_code error(errno, boost::asio::error::get_system_category()); @@ -94,14 +94,14 @@ void kqueue_reactor::fork_service(boost::asio::io_service::fork_event fork_ev) interrupter_.recreate(); - struct kevent event; - BOOST_ASIO_KQUEUE_EV_SET(&event, interrupter_.read_descriptor(), + struct kevent events[2]; + BOOST_ASIO_KQUEUE_EV_SET(&events[0], interrupter_.read_descriptor(), EVFILT_READ, EV_ADD, 0, 0, &interrupter_); - if (::kevent(kqueue_fd_, &event, 1, 0, 0, 0) == -1) + if (::kevent(kqueue_fd_, events, 1, 0, 0, 0) == -1) { - boost::system::error_code error(errno, + boost::system::error_code ec(errno, boost::asio::error::get_system_category()); - boost::asio::detail::throw_error(error); + boost::asio::detail::throw_error(ec, "kqueue interrupter registration"); } // Re-register all descriptors with kqueue. @@ -109,16 +109,18 @@ void kqueue_reactor::fork_service(boost::asio::io_service::fork_event fork_ev) for (descriptor_state* state = registered_descriptors_.first(); state != 0; state = state->next_) { - struct kevent events[2]; - BOOST_ASIO_KQUEUE_EV_SET(&events[0], state->descriptor_, - EVFILT_READ, EV_ADD | EV_CLEAR, 0, 0, state); - BOOST_ASIO_KQUEUE_EV_SET(&events[1], state->descriptor_, - EVFILT_WRITE, EV_ADD | EV_CLEAR, 0, 0, state); - if (::kevent(kqueue_fd_, events, 2, 0, 0, 0) == -1) + if (state->num_kevents_ > 0) { - boost::system::error_code error(errno, - boost::asio::error::get_system_category()); - boost::asio::detail::throw_error(error); + BOOST_ASIO_KQUEUE_EV_SET(&events[0], state->descriptor_, + EVFILT_READ, EV_ADD | EV_CLEAR, 0, 0, state); + BOOST_ASIO_KQUEUE_EV_SET(&events[1], state->descriptor_, + EVFILT_WRITE, EV_ADD | EV_CLEAR, 0, 0, state); + if (::kevent(kqueue_fd_, events, state->num_kevents_, 0, 0, 0) == -1) + { + boost::system::error_code ec(errno, + boost::asio::error::get_system_category()); + boost::asio::detail::throw_error(ec, "kqueue re-registration"); + } } } } @@ -137,16 +139,9 @@ int kqueue_reactor::register_descriptor(socket_type descriptor, mutex::scoped_lock lock(descriptor_data->mutex_); descriptor_data->descriptor_ = descriptor; + descriptor_data->num_kevents_ = 0; descriptor_data->shutdown_ = false; - struct kevent events[2]; - BOOST_ASIO_KQUEUE_EV_SET(&events[0], descriptor, EVFILT_READ, - EV_ADD | EV_CLEAR, 0, 0, descriptor_data); - BOOST_ASIO_KQUEUE_EV_SET(&events[1], descriptor, EVFILT_WRITE, - EV_ADD | EV_CLEAR, 0, 0, descriptor_data); - if (::kevent(kqueue_fd_, events, 2, 0, 0, 0) == -1) - return errno; - return 0; } @@ -159,15 +154,14 @@ int kqueue_reactor::register_internal_descriptor( mutex::scoped_lock lock(descriptor_data->mutex_); descriptor_data->descriptor_ = descriptor; + descriptor_data->num_kevents_ = 1; descriptor_data->shutdown_ = false; descriptor_data->op_queue_[op_type].push(op); - struct kevent events[2]; + struct kevent events[1]; BOOST_ASIO_KQUEUE_EV_SET(&events[0], descriptor, EVFILT_READ, EV_ADD | EV_CLEAR, 0, 0, descriptor_data); - BOOST_ASIO_KQUEUE_EV_SET(&events[1], descriptor, EVFILT_WRITE, - EV_ADD | EV_CLEAR, 0, 0, descriptor_data); - if (::kevent(kqueue_fd_, events, 2, 0, 0, 0) == -1) + if (::kevent(kqueue_fd_, events, 1, 0, 0, 0) == -1) return errno; return 0; @@ -200,9 +194,10 @@ void kqueue_reactor::start_op(int op_type, socket_type descriptor, return; } - bool first = descriptor_data->op_queue_[op_type].empty(); - if (first) + if (descriptor_data->op_queue_[op_type].empty()) { + static const int num_kevents[max_ops] = { 1, 2, 1 }; + if (allow_speculative && (op_type != read_op || descriptor_data->op_queue_[except_op].empty())) @@ -213,15 +208,38 @@ void kqueue_reactor::start_op(int op_type, socket_type descriptor, io_service_.post_immediate_completion(op, is_continuation); return; } + + if (descriptor_data->num_kevents_ < num_kevents[op_type]) + { + struct kevent events[2]; + BOOST_ASIO_KQUEUE_EV_SET(&events[0], descriptor, EVFILT_READ, + EV_ADD | EV_CLEAR, 0, 0, descriptor_data); + BOOST_ASIO_KQUEUE_EV_SET(&events[1], descriptor, EVFILT_WRITE, + EV_ADD | EV_CLEAR, 0, 0, descriptor_data); + if (::kevent(kqueue_fd_, events, num_kevents[op_type], 0, 0, 0) != -1) + { + descriptor_data->num_kevents_ = num_kevents[op_type]; + } + else + { + op->ec_ = boost::system::error_code(errno, + boost::asio::error::get_system_category()); + io_service_.post_immediate_completion(op, is_continuation); + return; + } + } } else { + if (descriptor_data->num_kevents_ < num_kevents[op_type]) + descriptor_data->num_kevents_ = num_kevents[op_type]; + struct kevent events[2]; BOOST_ASIO_KQUEUE_EV_SET(&events[0], descriptor, EVFILT_READ, EV_ADD | EV_CLEAR, 0, 0, descriptor_data); BOOST_ASIO_KQUEUE_EV_SET(&events[1], descriptor, EVFILT_WRITE, EV_ADD | EV_CLEAR, 0, 0, descriptor_data); - ::kevent(kqueue_fd_, events, 2, 0, 0, 0); + ::kevent(kqueue_fd_, events, descriptor_data->num_kevents_, 0, 0, 0); } } @@ -275,7 +293,7 @@ void kqueue_reactor::deregister_descriptor(socket_type descriptor, EVFILT_READ, EV_DELETE, 0, 0, 0); BOOST_ASIO_KQUEUE_EV_SET(&events[1], descriptor, EVFILT_WRITE, EV_DELETE, 0, 0, 0); - ::kevent(kqueue_fd_, events, 2, 0, 0, 0); + ::kevent(kqueue_fd_, events, descriptor_data->num_kevents_, 0, 0, 0); } op_queue ops; @@ -316,7 +334,7 @@ void kqueue_reactor::deregister_internal_descriptor(socket_type descriptor, EVFILT_READ, EV_DELETE, 0, 0, 0); BOOST_ASIO_KQUEUE_EV_SET(&events[1], descriptor, EVFILT_WRITE, EV_DELETE, 0, 0, 0); - ::kevent(kqueue_fd_, events, 2, 0, 0, 0); + ::kevent(kqueue_fd_, events, descriptor_data->num_kevents_, 0, 0, 0); op_queue ops; for (int i = 0; i < max_ops; ++i) @@ -359,6 +377,21 @@ void kqueue_reactor::run(bool block, op_queue& ops) descriptor_state* descriptor_data = static_cast(ptr); mutex::scoped_lock descriptor_lock(descriptor_data->mutex_); + if (events[i].filter == EVFILT_WRITE + && descriptor_data->num_kevents_ == 2 + && descriptor_data->op_queue_[write_op].empty()) + { + // Some descriptor types, like serial ports, don't seem to support + // EV_CLEAR with EVFILT_WRITE. Since we have no pending write + // operations we'll remove the EVFILT_WRITE registration here so that + // we don't end up in a tight spin. + struct kevent delete_events[1]; + BOOST_ASIO_KQUEUE_EV_SET(&delete_events[0], + descriptor_data->descriptor_, EVFILT_WRITE, EV_DELETE, 0, 0, 0); + ::kevent(kqueue_fd_, delete_events, 1, 0, 0, 0); + descriptor_data->num_kevents_ = 1; + } + // Exception operations must be processed first to ensure that any // out-of-band data is read before normal data. #if defined(__NetBSD__) diff --git a/3party/boost/boost/asio/detail/impl/pipe_select_interrupter.ipp b/3party/boost/boost/asio/detail/impl/pipe_select_interrupter.ipp index 556c5a2712..c48e61d7ec 100644 --- a/3party/boost/boost/asio/detail/impl/pipe_select_interrupter.ipp +++ b/3party/boost/boost/asio/detail/impl/pipe_select_interrupter.ipp @@ -2,7 +2,7 @@ // detail/impl/pipe_select_interrupter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/posix_event.ipp b/3party/boost/boost/asio/detail/impl/posix_event.ipp index acb0f57895..9514972c5a 100644 --- a/3party/boost/boost/asio/detail/impl/posix_event.ipp +++ b/3party/boost/boost/asio/detail/impl/posix_event.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_event.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/posix_mutex.ipp b/3party/boost/boost/asio/detail/impl/posix_mutex.ipp index d815512e51..e470cfa89c 100644 --- a/3party/boost/boost/asio/detail/impl/posix_mutex.ipp +++ b/3party/boost/boost/asio/detail/impl/posix_mutex.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_mutex.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/posix_thread.ipp b/3party/boost/boost/asio/detail/impl/posix_thread.ipp index 4b487d93eb..5253cd965d 100644 --- a/3party/boost/boost/asio/detail/impl/posix_thread.ipp +++ b/3party/boost/boost/asio/detail/impl/posix_thread.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_thread.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/posix_tss_ptr.ipp b/3party/boost/boost/asio/detail/impl/posix_tss_ptr.ipp index 65f90773dd..042b014cb6 100644 --- a/3party/boost/boost/asio/detail/impl/posix_tss_ptr.ipp +++ b/3party/boost/boost/asio/detail/impl/posix_tss_ptr.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_tss_ptr.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/reactive_descriptor_service.ipp b/3party/boost/boost/asio/detail/impl/reactive_descriptor_service.ipp index abf4c6f384..cf6547fddd 100644 --- a/3party/boost/boost/asio/detail/impl/reactive_descriptor_service.ipp +++ b/3party/boost/boost/asio/detail/impl/reactive_descriptor_service.ipp @@ -2,7 +2,7 @@ // detail/impl/reactive_descriptor_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/reactive_serial_port_service.ipp b/3party/boost/boost/asio/detail/impl/reactive_serial_port_service.ipp index b8c2f4a4ce..d4f615714a 100644 --- a/3party/boost/boost/asio/detail/impl/reactive_serial_port_service.ipp +++ b/3party/boost/boost/asio/detail/impl/reactive_serial_port_service.ipp @@ -2,7 +2,7 @@ // detail/impl/reactive_serial_port_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/impl/reactive_socket_service_base.ipp b/3party/boost/boost/asio/detail/impl/reactive_socket_service_base.ipp index c72871d816..2ef23a17be 100644 --- a/3party/boost/boost/asio/detail/impl/reactive_socket_service_base.ipp +++ b/3party/boost/boost/asio/detail/impl/reactive_socket_service_base.ipp @@ -2,7 +2,7 @@ // detail/reactive_socket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/resolver_service_base.ipp b/3party/boost/boost/asio/detail/impl/resolver_service_base.ipp index 77b6c27792..484aeadf61 100644 --- a/3party/boost/boost/asio/detail/impl/resolver_service_base.ipp +++ b/3party/boost/boost/asio/detail/impl/resolver_service_base.ipp @@ -2,7 +2,7 @@ // detail/impl/resolver_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/select_reactor.hpp b/3party/boost/boost/asio/detail/impl/select_reactor.hpp index f2b79f7360..4461681f7a 100644 --- a/3party/boost/boost/asio/detail/impl/select_reactor.hpp +++ b/3party/boost/boost/asio/detail/impl/select_reactor.hpp @@ -2,7 +2,7 @@ // detail/impl/select_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/select_reactor.ipp b/3party/boost/boost/asio/detail/impl/select_reactor.ipp index c8e04a26d4..9269f94568 100644 --- a/3party/boost/boost/asio/detail/impl/select_reactor.ipp +++ b/3party/boost/boost/asio/detail/impl/select_reactor.ipp @@ -2,7 +2,7 @@ // detail/impl/select_reactor.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/service_registry.hpp b/3party/boost/boost/asio/detail/impl/service_registry.hpp index 1f71f082a2..9e0a8b484f 100644 --- a/3party/boost/boost/asio/detail/impl/service_registry.hpp +++ b/3party/boost/boost/asio/detail/impl/service_registry.hpp @@ -2,7 +2,7 @@ // detail/impl/service_registry.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/service_registry.ipp b/3party/boost/boost/asio/detail/impl/service_registry.ipp index adfcaa0ff6..00deec9dc2 100644 --- a/3party/boost/boost/asio/detail/impl/service_registry.ipp +++ b/3party/boost/boost/asio/detail/impl/service_registry.ipp @@ -2,7 +2,7 @@ // detail/impl/service_registry.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/signal_set_service.ipp b/3party/boost/boost/asio/detail/impl/signal_set_service.ipp index 21be62f561..8fde0a8637 100644 --- a/3party/boost/boost/asio/detail/impl/signal_set_service.ipp +++ b/3party/boost/boost/asio/detail/impl/signal_set_service.ipp @@ -2,7 +2,7 @@ // detail/impl/signal_set_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/socket_ops.ipp b/3party/boost/boost/asio/detail/impl/socket_ops.ipp index f2c9a119fe..dc068e0e03 100644 --- a/3party/boost/boost/asio/detail/impl/socket_ops.ipp +++ b/3party/boost/boost/asio/detail/impl/socket_ops.ipp @@ -2,7 +2,7 @@ // detail/impl/socket_ops.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -525,6 +525,25 @@ void sync_connect(socket_type s, const socket_addr_type* addr, void complete_iocp_connect(socket_type s, boost::system::error_code& ec) { + // Map non-portable errors to their portable counterparts. + switch (ec.value()) + { + case ERROR_CONNECTION_REFUSED: + ec = boost::asio::error::connection_refused; + break; + case ERROR_NETWORK_UNREACHABLE: + ec = boost::asio::error::network_unreachable; + break; + case ERROR_HOST_UNREACHABLE: + ec = boost::asio::error::host_unreachable; + break; + case ERROR_SEM_TIMEOUT: + ec = boost::asio::error::timed_out; + break; + default: + break; + } + if (!ec) { // Need to set the SO_UPDATE_CONNECT_CONTEXT option so that getsockname @@ -1359,7 +1378,7 @@ socket_type socket(int af, int type, int protocol, { clear_last_error(); #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) - socket_type s = error_wrapper(::WSASocket(af, type, protocol, 0, 0, + socket_type s = error_wrapper(::WSASocketW(af, type, protocol, 0, 0, WSA_FLAG_OVERLAPPED), ec); if (s == invalid_socket) return s; @@ -1965,7 +1984,8 @@ const char* inet_ntop(int af, const void* src, char* dest, size_t length, LPWSTR string_buffer = (LPWSTR)_alloca(length * sizeof(WCHAR)); int result = error_wrapper(::WSAAddressToStringW(&address.base, address_length, 0, string_buffer, &string_length), ec); - ::WideCharToMultiByte(CP_ACP, 0, string_buffer, -1, dest, length, 0, 0); + ::WideCharToMultiByte(CP_ACP, 0, string_buffer, -1, + dest, static_cast(length), 0, 0); #else int result = error_wrapper(::WSAAddressToStringA( &address.base, address_length, 0, dest, &string_length), ec); @@ -2169,7 +2189,7 @@ int inet_pton(int af, const char* src, void* dest, } address; int address_length = sizeof(sockaddr_storage_type); #if defined(BOOST_NO_ANSI_APIS) || (defined(_MSC_VER) && (_MSC_VER >= 1800)) - int num_wide_chars = strlen(src) + 1; + int num_wide_chars = static_cast(strlen(src)) + 1; LPWSTR wide_buffer = (LPWSTR)_alloca(num_wide_chars * sizeof(WCHAR)); ::MultiByteToWideChar(CP_ACP, 0, src, -1, wide_buffer, num_wide_chars); int result = error_wrapper(::WSAStringToAddressW( @@ -2212,14 +2232,34 @@ int inet_pton(int af, const char* src, void* dest, return result == socket_error_retval ? -1 : 1; #else // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) - int result = error_wrapper(::inet_pton(af, src, dest), ec); + using namespace std; // For strchr, memcpy and atoi. + + // On some platforms, inet_pton fails if an address string contains a scope + // id. Detect and remove the scope id before passing the string to inet_pton. + const bool is_v6 = (af == BOOST_ASIO_OS_DEF(AF_INET6)); + const char* if_name = is_v6 ? strchr(src, '%') : 0; + char src_buf[max_addr_v6_str_len + 1]; + const char* src_ptr = src; + if (if_name != 0) + { + if (if_name - src > max_addr_v6_str_len) + { + ec = boost::asio::error::invalid_argument; + return 0; + } + memcpy(src_buf, src, if_name - src); + src_buf[if_name - src] = 0; + src_ptr = src_buf; + } + + int result = error_wrapper(::inet_pton(af, src_ptr, dest), ec); if (result <= 0 && !ec) ec = boost::asio::error::invalid_argument; - if (result > 0 && af == BOOST_ASIO_OS_DEF(AF_INET6) && scope_id) + if (result > 0 && is_v6 && scope_id) { using namespace std; // For strchr and atoi. *scope_id = 0; - if (const char* if_name = strchr(src, '%')) + if (if_name != 0) { in6_addr_type* ipv6_address = static_cast(dest); bool is_link_local = ((ipv6_address->s6_addr[0] == 0xfe) @@ -3364,8 +3404,8 @@ u_short_type network_to_host_short(u_short_type value) { #if defined(BOOST_ASIO_WINDOWS_RUNTIME) unsigned char* value_p = reinterpret_cast(&value); - u_short_type result = (static_cast(value_p[0]) << 8) - | static_cast(value_p[1]); + u_short_type result = (static_cast(value_p[0]) << 8) + | static_cast(value_p[1]); return result; #else // defined(BOOST_ASIO_WINDOWS_RUNTIME) return ntohs(value); @@ -3375,7 +3415,7 @@ u_short_type network_to_host_short(u_short_type value) u_short_type host_to_network_short(u_short_type value) { #if defined(BOOST_ASIO_WINDOWS_RUNTIME) - u_long_type result; + u_short_type result; unsigned char* result_p = reinterpret_cast(&result); result_p[0] = static_cast((value >> 8) & 0xFF); result_p[1] = static_cast(value & 0xFF); diff --git a/3party/boost/boost/asio/detail/impl/socket_select_interrupter.ipp b/3party/boost/boost/asio/detail/impl/socket_select_interrupter.ipp index e2dedc7c2f..83c2208dab 100644 --- a/3party/boost/boost/asio/detail/impl/socket_select_interrupter.ipp +++ b/3party/boost/boost/asio/detail/impl/socket_select_interrupter.ipp @@ -2,7 +2,7 @@ // detail/impl/socket_select_interrupter.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/strand_service.hpp b/3party/boost/boost/asio/detail/impl/strand_service.hpp index 17227f9ed6..824e296b13 100644 --- a/3party/boost/boost/asio/detail/impl/strand_service.hpp +++ b/3party/boost/boost/asio/detail/impl/strand_service.hpp @@ -2,7 +2,7 @@ // detail/impl/strand_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/strand_service.ipp b/3party/boost/boost/asio/detail/impl/strand_service.ipp index 9af01287af..9281714433 100644 --- a/3party/boost/boost/asio/detail/impl/strand_service.ipp +++ b/3party/boost/boost/asio/detail/impl/strand_service.ipp @@ -2,7 +2,7 @@ // detail/impl/strand_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/task_io_service.hpp b/3party/boost/boost/asio/detail/impl/task_io_service.hpp index 4312de72f6..cecdb6d441 100644 --- a/3party/boost/boost/asio/detail/impl/task_io_service.hpp +++ b/3party/boost/boost/asio/detail/impl/task_io_service.hpp @@ -2,7 +2,7 @@ // detail/impl/task_io_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/task_io_service.ipp b/3party/boost/boost/asio/detail/impl/task_io_service.ipp index e58e11e5e3..129dd64d34 100644 --- a/3party/boost/boost/asio/detail/impl/task_io_service.ipp +++ b/3party/boost/boost/asio/detail/impl/task_io_service.ipp @@ -2,7 +2,7 @@ // detail/impl/task_io_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/throw_error.ipp b/3party/boost/boost/asio/detail/impl/throw_error.ipp index 5f6ed39ac7..fa3b4e2e68 100644 --- a/3party/boost/boost/asio/detail/impl/throw_error.ipp +++ b/3party/boost/boost/asio/detail/impl/throw_error.ipp @@ -2,7 +2,7 @@ // detail/impl/throw_error.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/timer_queue_ptime.ipp b/3party/boost/boost/asio/detail/impl/timer_queue_ptime.ipp index 3b16defc6e..a2c52786b2 100644 --- a/3party/boost/boost/asio/detail/impl/timer_queue_ptime.ipp +++ b/3party/boost/boost/asio/detail/impl/timer_queue_ptime.ipp @@ -2,7 +2,7 @@ // detail/impl/timer_queue_ptime.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/timer_queue_set.ipp b/3party/boost/boost/asio/detail/impl/timer_queue_set.ipp index 19b770b37c..5a84926e91 100644 --- a/3party/boost/boost/asio/detail/impl/timer_queue_set.ipp +++ b/3party/boost/boost/asio/detail/impl/timer_queue_set.ipp @@ -2,7 +2,7 @@ // detail/impl/timer_queue_set.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/win_event.ipp b/3party/boost/boost/asio/detail/impl/win_event.ipp index a004c09689..0fffbce9cd 100644 --- a/3party/boost/boost/asio/detail/impl/win_event.ipp +++ b/3party/boost/boost/asio/detail/impl/win_event.ipp @@ -2,7 +2,7 @@ // detail/win_event.ipp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/win_iocp_handle_service.ipp b/3party/boost/boost/asio/detail/impl/win_iocp_handle_service.ipp index 04a6791c0d..b0c784e556 100644 --- a/3party/boost/boost/asio/detail/impl/win_iocp_handle_service.ipp +++ b/3party/boost/boost/asio/detail/impl/win_iocp_handle_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_handle_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/impl/win_iocp_io_service.hpp b/3party/boost/boost/asio/detail/impl/win_iocp_io_service.hpp index 201a17e67d..ac53cbed89 100644 --- a/3party/boost/boost/asio/detail/impl/win_iocp_io_service.hpp +++ b/3party/boost/boost/asio/detail/impl/win_iocp_io_service.hpp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_io_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/win_iocp_io_service.ipp b/3party/boost/boost/asio/detail/impl/win_iocp_io_service.ipp index fbc1cd0376..ca7848b75c 100644 --- a/3party/boost/boost/asio/detail/impl/win_iocp_io_service.ipp +++ b/3party/boost/boost/asio/detail/impl/win_iocp_io_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_io_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/win_iocp_serial_port_service.ipp b/3party/boost/boost/asio/detail/impl/win_iocp_serial_port_service.ipp index e3081afaae..cb8a64ebc2 100644 --- a/3party/boost/boost/asio/detail/impl/win_iocp_serial_port_service.ipp +++ b/3party/boost/boost/asio/detail/impl/win_iocp_serial_port_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_serial_port_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/impl/win_iocp_socket_service_base.ipp b/3party/boost/boost/asio/detail/impl/win_iocp_socket_service_base.ipp index 40231b971d..a9361cc1d3 100644 --- a/3party/boost/boost/asio/detail/impl/win_iocp_socket_service_base.ipp +++ b/3party/boost/boost/asio/detail/impl/win_iocp_socket_service_base.ipp @@ -2,7 +2,7 @@ // detail/impl/win_iocp_socket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -671,6 +671,11 @@ win_iocp_socket_service_base::connect_ex_fn win_iocp_socket_service_base::get_connect_ex( win_iocp_socket_service_base::base_implementation_type& impl, int type) { +#if defined(BOOST_ASIO_DISABLE_CONNECTEX) + (void)impl; + (void)type; + return 0; +#else // defined(BOOST_ASIO_DISABLE_CONNECTEX) if (type != BOOST_ASIO_OS_DEF(SOCK_STREAM) && type != BOOST_ASIO_OS_DEF(SOCK_SEQPACKET)) return 0; @@ -694,6 +699,7 @@ win_iocp_socket_service_base::get_connect_ex( } return reinterpret_cast(ptr == this ? 0 : ptr); +#endif // defined(BOOST_ASIO_DISABLE_CONNECTEX) } void* win_iocp_socket_service_base::interlocked_compare_exchange_pointer( diff --git a/3party/boost/boost/asio/detail/impl/win_mutex.ipp b/3party/boost/boost/asio/detail/impl/win_mutex.ipp index f86012ba46..60ce9dd598 100644 --- a/3party/boost/boost/asio/detail/impl/win_mutex.ipp +++ b/3party/boost/boost/asio/detail/impl/win_mutex.ipp @@ -2,7 +2,7 @@ // detail/impl/win_mutex.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/win_object_handle_service.ipp b/3party/boost/boost/asio/detail/impl/win_object_handle_service.ipp index 081d5eb4b7..58eefe5fe7 100644 --- a/3party/boost/boost/asio/detail/impl/win_object_handle_service.ipp +++ b/3party/boost/boost/asio/detail/impl/win_object_handle_service.ipp @@ -2,7 +2,7 @@ // detail/impl/win_object_handle_service.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -430,8 +430,9 @@ void win_object_handle_service::wait_callback(PVOID param, BOOLEAN) } } + io_service_impl& ios = impl->owner_->io_service_; lock.unlock(); - impl->owner_->io_service_.post_deferred_completions(completed_ops); + ios.post_deferred_completions(completed_ops); } } diff --git a/3party/boost/boost/asio/detail/impl/win_static_mutex.ipp b/3party/boost/boost/asio/detail/impl/win_static_mutex.ipp index 84bd45473c..02b44b5d37 100644 --- a/3party/boost/boost/asio/detail/impl/win_static_mutex.ipp +++ b/3party/boost/boost/asio/detail/impl/win_static_mutex.ipp @@ -2,7 +2,7 @@ // detail/impl/win_static_mutex.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/win_thread.ipp b/3party/boost/boost/asio/detail/impl/win_thread.ipp index 4bf09c514b..727c122e95 100644 --- a/3party/boost/boost/asio/detail/impl/win_thread.ipp +++ b/3party/boost/boost/asio/detail/impl/win_thread.ipp @@ -2,7 +2,7 @@ // detail/impl/win_thread.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/win_tss_ptr.ipp b/3party/boost/boost/asio/detail/impl/win_tss_ptr.ipp index abaad277af..bd4dc23771 100644 --- a/3party/boost/boost/asio/detail/impl/win_tss_ptr.ipp +++ b/3party/boost/boost/asio/detail/impl/win_tss_ptr.ipp @@ -2,7 +2,7 @@ // detail/impl/win_tss_ptr.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/winrt_ssocket_service_base.ipp b/3party/boost/boost/asio/detail/impl/winrt_ssocket_service_base.ipp index fdd0465dda..b578f90e39 100644 --- a/3party/boost/boost/asio/detail/impl/winrt_ssocket_service_base.ipp +++ b/3party/boost/boost/asio/detail/impl/winrt_ssocket_service_base.ipp @@ -2,7 +2,7 @@ // detail/impl/winrt_ssocket_service_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/winrt_timer_scheduler.hpp b/3party/boost/boost/asio/detail/impl/winrt_timer_scheduler.hpp index ff1ee038f7..2de1566988 100644 --- a/3party/boost/boost/asio/detail/impl/winrt_timer_scheduler.hpp +++ b/3party/boost/boost/asio/detail/impl/winrt_timer_scheduler.hpp @@ -2,7 +2,7 @@ // detail/impl/winrt_timer_scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/winrt_timer_scheduler.ipp b/3party/boost/boost/asio/detail/impl/winrt_timer_scheduler.ipp index ef480eaa17..dc65bdcd2e 100644 --- a/3party/boost/boost/asio/detail/impl/winrt_timer_scheduler.ipp +++ b/3party/boost/boost/asio/detail/impl/winrt_timer_scheduler.ipp @@ -2,7 +2,7 @@ // detail/impl/winrt_timer_scheduler.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/impl/winsock_init.ipp b/3party/boost/boost/asio/detail/impl/winsock_init.ipp index 08f32800f5..af6294041a 100644 --- a/3party/boost/boost/asio/detail/impl/winsock_init.ipp +++ b/3party/boost/boost/asio/detail/impl/winsock_init.ipp @@ -2,7 +2,7 @@ // detail/impl/winsock_init.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/io_control.hpp b/3party/boost/boost/asio/detail/io_control.hpp index 31d2f0ea20..e7b70dd3f3 100644 --- a/3party/boost/boost/asio/detail/io_control.hpp +++ b/3party/boost/boost/asio/detail/io_control.hpp @@ -2,7 +2,7 @@ // detail/io_control.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/keyword_tss_ptr.hpp b/3party/boost/boost/asio/detail/keyword_tss_ptr.hpp index cd32b50772..dd36d31ac1 100644 --- a/3party/boost/boost/asio/detail/keyword_tss_ptr.hpp +++ b/3party/boost/boost/asio/detail/keyword_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/keyword_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/kqueue_reactor.hpp b/3party/boost/boost/asio/detail/kqueue_reactor.hpp index 37c70b2455..7addc4ae46 100644 --- a/3party/boost/boost/asio/detail/kqueue_reactor.hpp +++ b/3party/boost/boost/asio/detail/kqueue_reactor.hpp @@ -2,7 +2,7 @@ // detail/kqueue_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2005 Stefan Arentz (stefan at soze dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying @@ -66,6 +66,7 @@ public: mutex mutex_; int descriptor_; + int num_kevents_; // 1 == read only, 2 == read and write op_queue op_queue_[max_ops]; bool shutdown_; }; diff --git a/3party/boost/boost/asio/detail/local_free_on_block_exit.hpp b/3party/boost/boost/asio/detail/local_free_on_block_exit.hpp index 6a676c3244..47b5dafc46 100644 --- a/3party/boost/boost/asio/detail/local_free_on_block_exit.hpp +++ b/3party/boost/boost/asio/detail/local_free_on_block_exit.hpp @@ -2,7 +2,7 @@ // detail/local_free_on_block_exit.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/macos_fenced_block.hpp b/3party/boost/boost/asio/detail/macos_fenced_block.hpp index aee4bfba77..69849b5e08 100644 --- a/3party/boost/boost/asio/detail/macos_fenced_block.hpp +++ b/3party/boost/boost/asio/detail/macos_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/macos_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/mutex.hpp b/3party/boost/boost/asio/detail/mutex.hpp index 8212ec3ea8..e8ce002629 100644 --- a/3party/boost/boost/asio/detail/mutex.hpp +++ b/3party/boost/boost/asio/detail/mutex.hpp @@ -2,7 +2,7 @@ // detail/mutex.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/noncopyable.hpp b/3party/boost/boost/asio/detail/noncopyable.hpp index 6aae476637..0214bffa6d 100644 --- a/3party/boost/boost/asio/detail/noncopyable.hpp +++ b/3party/boost/boost/asio/detail/noncopyable.hpp @@ -2,7 +2,7 @@ // detail/noncopyable.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/null_event.hpp b/3party/boost/boost/asio/detail/null_event.hpp index 2e87844336..310cd52f24 100644 --- a/3party/boost/boost/asio/detail/null_event.hpp +++ b/3party/boost/boost/asio/detail/null_event.hpp @@ -2,7 +2,7 @@ // detail/null_event.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/null_fenced_block.hpp b/3party/boost/boost/asio/detail/null_fenced_block.hpp index cf5da6e3f4..a975b86c82 100644 --- a/3party/boost/boost/asio/detail/null_fenced_block.hpp +++ b/3party/boost/boost/asio/detail/null_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/null_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/null_mutex.hpp b/3party/boost/boost/asio/detail/null_mutex.hpp index c282303b28..f00bd66b5a 100644 --- a/3party/boost/boost/asio/detail/null_mutex.hpp +++ b/3party/boost/boost/asio/detail/null_mutex.hpp @@ -2,7 +2,7 @@ // detail/null_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/null_reactor.hpp b/3party/boost/boost/asio/detail/null_reactor.hpp index a8e93e19e1..59a48de0ab 100644 --- a/3party/boost/boost/asio/detail/null_reactor.hpp +++ b/3party/boost/boost/asio/detail/null_reactor.hpp @@ -2,7 +2,7 @@ // detail/null_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/null_signal_blocker.hpp b/3party/boost/boost/asio/detail/null_signal_blocker.hpp index 89008fc26e..f3af24d8d8 100644 --- a/3party/boost/boost/asio/detail/null_signal_blocker.hpp +++ b/3party/boost/boost/asio/detail/null_signal_blocker.hpp @@ -2,7 +2,7 @@ // detail/null_signal_blocker.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/null_socket_service.hpp b/3party/boost/boost/asio/detail/null_socket_service.hpp index aafa1b7e07..942eb82821 100644 --- a/3party/boost/boost/asio/detail/null_socket_service.hpp +++ b/3party/boost/boost/asio/detail/null_socket_service.hpp @@ -2,7 +2,7 @@ // detail/null_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/null_static_mutex.hpp b/3party/boost/boost/asio/detail/null_static_mutex.hpp index 201eefe770..c13f9bcf85 100644 --- a/3party/boost/boost/asio/detail/null_static_mutex.hpp +++ b/3party/boost/boost/asio/detail/null_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/null_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/null_thread.hpp b/3party/boost/boost/asio/detail/null_thread.hpp index 209ac239b0..e87917a0e8 100644 --- a/3party/boost/boost/asio/detail/null_thread.hpp +++ b/3party/boost/boost/asio/detail/null_thread.hpp @@ -2,7 +2,7 @@ // detail/null_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/null_tss_ptr.hpp b/3party/boost/boost/asio/detail/null_tss_ptr.hpp index a8f4773c50..016c17d450 100644 --- a/3party/boost/boost/asio/detail/null_tss_ptr.hpp +++ b/3party/boost/boost/asio/detail/null_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/null_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/object_pool.hpp b/3party/boost/boost/asio/detail/object_pool.hpp index c2021a4d75..188a81477f 100644 --- a/3party/boost/boost/asio/detail/object_pool.hpp +++ b/3party/boost/boost/asio/detail/object_pool.hpp @@ -2,7 +2,7 @@ // detail/object_pool.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/old_win_sdk_compat.hpp b/3party/boost/boost/asio/detail/old_win_sdk_compat.hpp index df9f2ef6b6..216cd891af 100644 --- a/3party/boost/boost/asio/detail/old_win_sdk_compat.hpp +++ b/3party/boost/boost/asio/detail/old_win_sdk_compat.hpp @@ -2,7 +2,7 @@ // detail/old_win_sdk_compat.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/op_queue.hpp b/3party/boost/boost/asio/detail/op_queue.hpp index 2b586dd1a7..be54b9a2f2 100644 --- a/3party/boost/boost/asio/detail/op_queue.hpp +++ b/3party/boost/boost/asio/detail/op_queue.hpp @@ -2,7 +2,7 @@ // detail/op_queue.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/operation.hpp b/3party/boost/boost/asio/detail/operation.hpp index d67dfa0145..dac89f9907 100644 --- a/3party/boost/boost/asio/detail/operation.hpp +++ b/3party/boost/boost/asio/detail/operation.hpp @@ -2,7 +2,7 @@ // detail/operation.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/pipe_select_interrupter.hpp b/3party/boost/boost/asio/detail/pipe_select_interrupter.hpp index 02a70ae407..b5efdfc286 100644 --- a/3party/boost/boost/asio/detail/pipe_select_interrupter.hpp +++ b/3party/boost/boost/asio/detail/pipe_select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/pipe_select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/pop_options.hpp b/3party/boost/boost/asio/detail/pop_options.hpp index 0dd9a455ad..4f56152904 100644 --- a/3party/boost/boost/asio/detail/pop_options.hpp +++ b/3party/boost/boost/asio/detail/pop_options.hpp @@ -2,7 +2,7 @@ // detail/pop_options.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -23,6 +23,28 @@ // Intel C++ +# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +# pragma GCC visibility pop +# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) + +#elif defined(__clang__) + +// Clang + +# if defined(__OBJC__) +# if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1) +# if defined(BOOST_ASIO_OBJC_WORKAROUND) +# undef Protocol +# undef id +# undef BOOST_ASIO_OBJC_WORKAROUND +# endif +# endif +# endif + +# if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) +# pragma GCC visibility pop +# endif // !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) + #elif defined(__GNUC__) // GNU C++ @@ -41,6 +63,10 @@ # endif # endif +# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +# pragma GCC visibility pop +# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) + #elif defined(__KCC) // Kai C++ diff --git a/3party/boost/boost/asio/detail/posix_event.hpp b/3party/boost/boost/asio/detail/posix_event.hpp index 9b633af79d..3b905ba5ad 100644 --- a/3party/boost/boost/asio/detail/posix_event.hpp +++ b/3party/boost/boost/asio/detail/posix_event.hpp @@ -2,7 +2,7 @@ // detail/posix_event.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/posix_fd_set_adapter.hpp b/3party/boost/boost/asio/detail/posix_fd_set_adapter.hpp index 267c983d6a..cf580da666 100644 --- a/3party/boost/boost/asio/detail/posix_fd_set_adapter.hpp +++ b/3party/boost/boost/asio/detail/posix_fd_set_adapter.hpp @@ -2,7 +2,7 @@ // detail/posix_fd_set_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/posix_mutex.hpp b/3party/boost/boost/asio/detail/posix_mutex.hpp index 7db2231e84..7ce1cc2755 100644 --- a/3party/boost/boost/asio/detail/posix_mutex.hpp +++ b/3party/boost/boost/asio/detail/posix_mutex.hpp @@ -2,7 +2,7 @@ // detail/posix_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/posix_signal_blocker.hpp b/3party/boost/boost/asio/detail/posix_signal_blocker.hpp index e069897940..b27dd1c621 100644 --- a/3party/boost/boost/asio/detail/posix_signal_blocker.hpp +++ b/3party/boost/boost/asio/detail/posix_signal_blocker.hpp @@ -2,7 +2,7 @@ // detail/posix_signal_blocker.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/posix_static_mutex.hpp b/3party/boost/boost/asio/detail/posix_static_mutex.hpp index a9c278cc46..7077bf31cf 100644 --- a/3party/boost/boost/asio/detail/posix_static_mutex.hpp +++ b/3party/boost/boost/asio/detail/posix_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/posix_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/posix_thread.hpp b/3party/boost/boost/asio/detail/posix_thread.hpp index cf40c9dcf5..f862162355 100644 --- a/3party/boost/boost/asio/detail/posix_thread.hpp +++ b/3party/boost/boost/asio/detail/posix_thread.hpp @@ -2,7 +2,7 @@ // detail/posix_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/posix_tss_ptr.hpp b/3party/boost/boost/asio/detail/posix_tss_ptr.hpp index 10abe82e04..95d56f0697 100644 --- a/3party/boost/boost/asio/detail/posix_tss_ptr.hpp +++ b/3party/boost/boost/asio/detail/posix_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/posix_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/push_options.hpp b/3party/boost/boost/asio/detail/push_options.hpp index ad72bfbcb4..f8e9f32345 100644 --- a/3party/boost/boost/asio/detail/push_options.hpp +++ b/3party/boost/boost/asio/detail/push_options.hpp @@ -2,7 +2,7 @@ // detail/push_options.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -23,6 +23,30 @@ // Intel C++ +# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +# pragma GCC visibility push (default) +# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) + +#elif defined(__clang__) + +// Clang + +# if defined(__OBJC__) +# if !defined(__APPLE_CC__) || (__APPLE_CC__ <= 1) +# if !defined(BOOST_ASIO_DISABLE_OBJC_WORKAROUND) +# if !defined(Protocol) && !defined(id) +# define Protocol cpp_Protocol +# define id cpp_id +# define BOOST_ASIO_OBJC_WORKAROUND +# endif +# endif +# endif +# endif + +# if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) +# pragma GCC visibility push (default) +# endif // !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) + #elif defined(__GNUC__) // GNU C++ @@ -43,6 +67,10 @@ # endif # endif +# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) +# pragma GCC visibility push (default) +# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) + #elif defined(__KCC) // Kai C++ diff --git a/3party/boost/boost/asio/detail/reactive_descriptor_service.hpp b/3party/boost/boost/asio/detail/reactive_descriptor_service.hpp index 10b2f3f2a8..6bf4af7039 100644 --- a/3party/boost/boost/asio/detail/reactive_descriptor_service.hpp +++ b/3party/boost/boost/asio/detail/reactive_descriptor_service.hpp @@ -2,7 +2,7 @@ // detail/reactive_descriptor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_null_buffers_op.hpp b/3party/boost/boost/asio/detail/reactive_null_buffers_op.hpp index 39aaa602d8..7e6f7b180c 100644 --- a/3party/boost/boost/asio/detail/reactive_null_buffers_op.hpp +++ b/3party/boost/boost/asio/detail/reactive_null_buffers_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_null_buffers_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_serial_port_service.hpp b/3party/boost/boost/asio/detail/reactive_serial_port_service.hpp index 86d8300b6b..d8ca699505 100644 --- a/3party/boost/boost/asio/detail/reactive_serial_port_service.hpp +++ b/3party/boost/boost/asio/detail/reactive_serial_port_service.hpp @@ -2,7 +2,7 @@ // detail/reactive_serial_port_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/reactive_socket_accept_op.hpp b/3party/boost/boost/asio/detail/reactive_socket_accept_op.hpp index 93ece02dd3..b6165c4c5c 100644 --- a/3party/boost/boost/asio/detail/reactive_socket_accept_op.hpp +++ b/3party/boost/boost/asio/detail/reactive_socket_accept_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_accept_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_socket_connect_op.hpp b/3party/boost/boost/asio/detail/reactive_socket_connect_op.hpp index 254c9f4427..ff7422fe81 100644 --- a/3party/boost/boost/asio/detail/reactive_socket_connect_op.hpp +++ b/3party/boost/boost/asio/detail/reactive_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_socket_recv_op.hpp b/3party/boost/boost/asio/detail/reactive_socket_recv_op.hpp index d6a124d4b2..32e783706a 100644 --- a/3party/boost/boost/asio/detail/reactive_socket_recv_op.hpp +++ b/3party/boost/boost/asio/detail/reactive_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_socket_recvfrom_op.hpp b/3party/boost/boost/asio/detail/reactive_socket_recvfrom_op.hpp index ef806bcf9f..1c2234017b 100644 --- a/3party/boost/boost/asio/detail/reactive_socket_recvfrom_op.hpp +++ b/3party/boost/boost/asio/detail/reactive_socket_recvfrom_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_recvfrom_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_socket_recvmsg_op.hpp b/3party/boost/boost/asio/detail/reactive_socket_recvmsg_op.hpp index b6e0e3a96f..abd70a7f47 100644 --- a/3party/boost/boost/asio/detail/reactive_socket_recvmsg_op.hpp +++ b/3party/boost/boost/asio/detail/reactive_socket_recvmsg_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_recvmsg_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_socket_send_op.hpp b/3party/boost/boost/asio/detail/reactive_socket_send_op.hpp index a3a44244a1..7f811277d0 100644 --- a/3party/boost/boost/asio/detail/reactive_socket_send_op.hpp +++ b/3party/boost/boost/asio/detail/reactive_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_socket_sendto_op.hpp b/3party/boost/boost/asio/detail/reactive_socket_sendto_op.hpp index ffa1e6858f..1abded437e 100644 --- a/3party/boost/boost/asio/detail/reactive_socket_sendto_op.hpp +++ b/3party/boost/boost/asio/detail/reactive_socket_sendto_op.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_sendto_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_socket_service.hpp b/3party/boost/boost/asio/detail/reactive_socket_service.hpp index 35678ae93e..1e53c0a9f5 100644 --- a/3party/boost/boost/asio/detail/reactive_socket_service.hpp +++ b/3party/boost/boost/asio/detail/reactive_socket_service.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactive_socket_service_base.hpp b/3party/boost/boost/asio/detail/reactive_socket_service_base.hpp index aeaf4f4053..58b178d3e1 100644 --- a/3party/boost/boost/asio/detail/reactive_socket_service_base.hpp +++ b/3party/boost/boost/asio/detail/reactive_socket_service_base.hpp @@ -2,7 +2,7 @@ // detail/reactive_socket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactor.hpp b/3party/boost/boost/asio/detail/reactor.hpp index e183793d1c..057933a6d1 100644 --- a/3party/boost/boost/asio/detail/reactor.hpp +++ b/3party/boost/boost/asio/detail/reactor.hpp @@ -2,7 +2,7 @@ // detail/reactor.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactor_fwd.hpp b/3party/boost/boost/asio/detail/reactor_fwd.hpp index 80f40322b0..82be114202 100644 --- a/3party/boost/boost/asio/detail/reactor_fwd.hpp +++ b/3party/boost/boost/asio/detail/reactor_fwd.hpp @@ -2,7 +2,7 @@ // detail/reactor_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactor_op.hpp b/3party/boost/boost/asio/detail/reactor_op.hpp index 959badd20a..240a06a862 100644 --- a/3party/boost/boost/asio/detail/reactor_op.hpp +++ b/3party/boost/boost/asio/detail/reactor_op.hpp @@ -2,7 +2,7 @@ // detail/reactor_op.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/reactor_op_queue.hpp b/3party/boost/boost/asio/detail/reactor_op_queue.hpp index effe771730..11887a844b 100644 --- a/3party/boost/boost/asio/detail/reactor_op_queue.hpp +++ b/3party/boost/boost/asio/detail/reactor_op_queue.hpp @@ -2,7 +2,7 @@ // detail/reactor_op_queue.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/regex_fwd.hpp b/3party/boost/boost/asio/detail/regex_fwd.hpp index 2b23b59d93..9eed6e042f 100644 --- a/3party/boost/boost/asio/detail/regex_fwd.hpp +++ b/3party/boost/boost/asio/detail/regex_fwd.hpp @@ -2,7 +2,7 @@ // detail/regex_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/resolve_endpoint_op.hpp b/3party/boost/boost/asio/detail/resolve_endpoint_op.hpp index 28119bbef5..989017bff0 100644 --- a/3party/boost/boost/asio/detail/resolve_endpoint_op.hpp +++ b/3party/boost/boost/asio/detail/resolve_endpoint_op.hpp @@ -2,7 +2,7 @@ // detail/resolve_endpoint_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/resolve_op.hpp b/3party/boost/boost/asio/detail/resolve_op.hpp index bed1c3c60f..5e77a57f66 100644 --- a/3party/boost/boost/asio/detail/resolve_op.hpp +++ b/3party/boost/boost/asio/detail/resolve_op.hpp @@ -2,7 +2,7 @@ // detail/resolve_op.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/resolver_service.hpp b/3party/boost/boost/asio/detail/resolver_service.hpp index 4ba295d155..cd0d6a7c94 100644 --- a/3party/boost/boost/asio/detail/resolver_service.hpp +++ b/3party/boost/boost/asio/detail/resolver_service.hpp @@ -2,7 +2,7 @@ // detail/resolver_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/resolver_service_base.hpp b/3party/boost/boost/asio/detail/resolver_service_base.hpp index 0c00896097..6031315275 100644 --- a/3party/boost/boost/asio/detail/resolver_service_base.hpp +++ b/3party/boost/boost/asio/detail/resolver_service_base.hpp @@ -2,7 +2,7 @@ // detail/resolver_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/scoped_lock.hpp b/3party/boost/boost/asio/detail/scoped_lock.hpp index 848864e97f..574cbf0aac 100644 --- a/3party/boost/boost/asio/detail/scoped_lock.hpp +++ b/3party/boost/boost/asio/detail/scoped_lock.hpp @@ -2,7 +2,7 @@ // detail/scoped_lock.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/scoped_ptr.hpp b/3party/boost/boost/asio/detail/scoped_ptr.hpp index 5df78f7415..b24320eb98 100644 --- a/3party/boost/boost/asio/detail/scoped_ptr.hpp +++ b/3party/boost/boost/asio/detail/scoped_ptr.hpp @@ -2,7 +2,7 @@ // detail/scoped_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/select_interrupter.hpp b/3party/boost/boost/asio/detail/select_interrupter.hpp index 4f802d1cbe..5abe1a0c87 100644 --- a/3party/boost/boost/asio/detail/select_interrupter.hpp +++ b/3party/boost/boost/asio/detail/select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/select_reactor.hpp b/3party/boost/boost/asio/detail/select_reactor.hpp index 6d3b2432c6..6a260fc53e 100644 --- a/3party/boost/boost/asio/detail/select_reactor.hpp +++ b/3party/boost/boost/asio/detail/select_reactor.hpp @@ -2,7 +2,7 @@ // detail/select_reactor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/service_registry.hpp b/3party/boost/boost/asio/detail/service_registry.hpp index bfd80fc8da..06ec28c5a3 100644 --- a/3party/boost/boost/asio/detail/service_registry.hpp +++ b/3party/boost/boost/asio/detail/service_registry.hpp @@ -2,7 +2,7 @@ // detail/service_registry.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -27,21 +27,9 @@ namespace boost { namespace asio { namespace detail { -#if defined(__GNUC__) -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) -# pragma GCC visibility push (default) -# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) -#endif // defined(__GNUC__) - template class typeid_wrapper {}; -#if defined(__GNUC__) -# if (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) -# pragma GCC visibility pop -# endif // (__GNUC__ == 4 && __GNUC_MINOR__ >= 1) || (__GNUC__ > 4) -#endif // defined(__GNUC__) - class service_registry : private noncopyable { diff --git a/3party/boost/boost/asio/detail/shared_ptr.hpp b/3party/boost/boost/asio/detail/shared_ptr.hpp index 3c79f61236..fc1facf0ef 100644 --- a/3party/boost/boost/asio/detail/shared_ptr.hpp +++ b/3party/boost/boost/asio/detail/shared_ptr.hpp @@ -2,7 +2,7 @@ // detail/shared_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/signal_blocker.hpp b/3party/boost/boost/asio/detail/signal_blocker.hpp index ad6babaf3c..dfc19f8d79 100644 --- a/3party/boost/boost/asio/detail/signal_blocker.hpp +++ b/3party/boost/boost/asio/detail/signal_blocker.hpp @@ -2,7 +2,7 @@ // detail/signal_blocker.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/signal_handler.hpp b/3party/boost/boost/asio/detail/signal_handler.hpp index 32ce844b8d..66518051ce 100644 --- a/3party/boost/boost/asio/detail/signal_handler.hpp +++ b/3party/boost/boost/asio/detail/signal_handler.hpp @@ -2,7 +2,7 @@ // detail/signal_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/signal_init.hpp b/3party/boost/boost/asio/detail/signal_init.hpp index 0dc65586f4..8950ee2b17 100644 --- a/3party/boost/boost/asio/detail/signal_init.hpp +++ b/3party/boost/boost/asio/detail/signal_init.hpp @@ -2,7 +2,7 @@ // detail/signal_init.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/signal_op.hpp b/3party/boost/boost/asio/detail/signal_op.hpp index e75d4126d7..f894805523 100644 --- a/3party/boost/boost/asio/detail/signal_op.hpp +++ b/3party/boost/boost/asio/detail/signal_op.hpp @@ -2,7 +2,7 @@ // detail/signal_op.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/signal_set_service.hpp b/3party/boost/boost/asio/detail/signal_set_service.hpp index 9949f04436..34137f5c98 100644 --- a/3party/boost/boost/asio/detail/signal_set_service.hpp +++ b/3party/boost/boost/asio/detail/signal_set_service.hpp @@ -2,7 +2,7 @@ // detail/signal_set_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/socket_holder.hpp b/3party/boost/boost/asio/detail/socket_holder.hpp index 81f4142727..87af6b0044 100644 --- a/3party/boost/boost/asio/detail/socket_holder.hpp +++ b/3party/boost/boost/asio/detail/socket_holder.hpp @@ -2,7 +2,7 @@ // detail/socket_holder.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/socket_ops.hpp b/3party/boost/boost/asio/detail/socket_ops.hpp index 04a28ef9e1..60b64cd8b6 100644 --- a/3party/boost/boost/asio/detail/socket_ops.hpp +++ b/3party/boost/boost/asio/detail/socket_ops.hpp @@ -2,7 +2,7 @@ // detail/socket_ops.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/socket_option.hpp b/3party/boost/boost/asio/detail/socket_option.hpp index 2fe5ee4d15..0cbf00fb5b 100644 --- a/3party/boost/boost/asio/detail/socket_option.hpp +++ b/3party/boost/boost/asio/detail/socket_option.hpp @@ -2,7 +2,7 @@ // detail/socket_option.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/socket_select_interrupter.hpp b/3party/boost/boost/asio/detail/socket_select_interrupter.hpp index 38f140ddfa..de8b7930b0 100644 --- a/3party/boost/boost/asio/detail/socket_select_interrupter.hpp +++ b/3party/boost/boost/asio/detail/socket_select_interrupter.hpp @@ -2,7 +2,7 @@ // detail/socket_select_interrupter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/socket_types.hpp b/3party/boost/boost/asio/detail/socket_types.hpp index 29e4739a96..f4be937703 100644 --- a/3party/boost/boost/asio/detail/socket_types.hpp +++ b/3party/boost/boost/asio/detail/socket_types.hpp @@ -2,7 +2,7 @@ // detail/socket_types.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/solaris_fenced_block.hpp b/3party/boost/boost/asio/detail/solaris_fenced_block.hpp index 9063bfc31a..31ccf5013f 100644 --- a/3party/boost/boost/asio/detail/solaris_fenced_block.hpp +++ b/3party/boost/boost/asio/detail/solaris_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/solaris_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/static_mutex.hpp b/3party/boost/boost/asio/detail/static_mutex.hpp index cc005cbd47..ea671c9b11 100644 --- a/3party/boost/boost/asio/detail/static_mutex.hpp +++ b/3party/boost/boost/asio/detail/static_mutex.hpp @@ -2,7 +2,7 @@ // detail/static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/std_event.hpp b/3party/boost/boost/asio/detail/std_event.hpp index 53390b8c66..2bc609493b 100644 --- a/3party/boost/boost/asio/detail/std_event.hpp +++ b/3party/boost/boost/asio/detail/std_event.hpp @@ -2,7 +2,7 @@ // detail/std_event.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/std_mutex.hpp b/3party/boost/boost/asio/detail/std_mutex.hpp index 58cdc070f1..e9cc4bda69 100644 --- a/3party/boost/boost/asio/detail/std_mutex.hpp +++ b/3party/boost/boost/asio/detail/std_mutex.hpp @@ -2,7 +2,7 @@ // detail/std_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/std_static_mutex.hpp b/3party/boost/boost/asio/detail/std_static_mutex.hpp index 68980ab4e4..2c4063e9de 100644 --- a/3party/boost/boost/asio/detail/std_static_mutex.hpp +++ b/3party/boost/boost/asio/detail/std_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/std_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/std_thread.hpp b/3party/boost/boost/asio/detail/std_thread.hpp index 7dcb2fd66e..a1934ffa21 100644 --- a/3party/boost/boost/asio/detail/std_thread.hpp +++ b/3party/boost/boost/asio/detail/std_thread.hpp @@ -2,7 +2,7 @@ // detail/std_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/strand_service.hpp b/3party/boost/boost/asio/detail/strand_service.hpp index 0e1dea874d..51d3211c87 100644 --- a/3party/boost/boost/asio/detail/strand_service.hpp +++ b/3party/boost/boost/asio/detail/strand_service.hpp @@ -2,7 +2,7 @@ // detail/strand_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/task_io_service.hpp b/3party/boost/boost/asio/detail/task_io_service.hpp index a30ea043da..8c4617c497 100644 --- a/3party/boost/boost/asio/detail/task_io_service.hpp +++ b/3party/boost/boost/asio/detail/task_io_service.hpp @@ -2,7 +2,7 @@ // detail/task_io_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/task_io_service_operation.hpp b/3party/boost/boost/asio/detail/task_io_service_operation.hpp index ea1c85e0be..0822bccde5 100644 --- a/3party/boost/boost/asio/detail/task_io_service_operation.hpp +++ b/3party/boost/boost/asio/detail/task_io_service_operation.hpp @@ -2,7 +2,7 @@ // detail/task_io_service_operation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/task_io_service_thread_info.hpp b/3party/boost/boost/asio/detail/task_io_service_thread_info.hpp index 7165552eb7..c17e1010cb 100644 --- a/3party/boost/boost/asio/detail/task_io_service_thread_info.hpp +++ b/3party/boost/boost/asio/detail/task_io_service_thread_info.hpp @@ -2,7 +2,7 @@ // detail/task_io_service_thread_info.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/thread.hpp b/3party/boost/boost/asio/detail/thread.hpp index 68755e439a..adc5a55708 100644 --- a/3party/boost/boost/asio/detail/thread.hpp +++ b/3party/boost/boost/asio/detail/thread.hpp @@ -2,7 +2,7 @@ // detail/thread.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/thread_info_base.hpp b/3party/boost/boost/asio/detail/thread_info_base.hpp index 9a12e254b3..b2b900bee2 100644 --- a/3party/boost/boost/asio/detail/thread_info_base.hpp +++ b/3party/boost/boost/asio/detail/thread_info_base.hpp @@ -2,7 +2,7 @@ // detail/thread_info_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/throw_error.hpp b/3party/boost/boost/asio/detail/throw_error.hpp index 3ca8b8a394..43e1a69f83 100644 --- a/3party/boost/boost/asio/detail/throw_error.hpp +++ b/3party/boost/boost/asio/detail/throw_error.hpp @@ -2,7 +2,7 @@ // detail/throw_error.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/throw_exception.hpp b/3party/boost/boost/asio/detail/throw_exception.hpp index 636e1a2283..f4cccaa23f 100644 --- a/3party/boost/boost/asio/detail/throw_exception.hpp +++ b/3party/boost/boost/asio/detail/throw_exception.hpp @@ -2,7 +2,7 @@ // detail/throw_exception.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/timer_queue.hpp b/3party/boost/boost/asio/detail/timer_queue.hpp index 1c94bcd987..3ad6a86919 100644 --- a/3party/boost/boost/asio/detail/timer_queue.hpp +++ b/3party/boost/boost/asio/detail/timer_queue.hpp @@ -2,7 +2,7 @@ // detail/timer_queue.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -193,13 +193,13 @@ private: // Move the item at the given index up the heap to its correct position. void up_heap(std::size_t index) { - std::size_t parent = (index - 1) / 2; - while (index > 0 - && Time_Traits::less_than(heap_[index].time_, heap_[parent].time_)) + while (index > 0) { + std::size_t parent = (index - 1) / 2; + if (!Time_Traits::less_than(heap_[index].time_, heap_[parent].time_)) + break; swap_heap(index, parent); index = parent; - parent = (index - 1) / 2; } } @@ -246,9 +246,8 @@ private: { swap_heap(index, heap_.size() - 1); heap_.pop_back(); - std::size_t parent = (index - 1) / 2; if (index > 0 && Time_Traits::less_than( - heap_[index].time_, heap_[parent].time_)) + heap_[index].time_, heap_[(index - 1) / 2].time_)) up_heap(index); else down_heap(index); diff --git a/3party/boost/boost/asio/detail/timer_queue_base.hpp b/3party/boost/boost/asio/detail/timer_queue_base.hpp index 44ac90fbd6..4d4898bcaa 100644 --- a/3party/boost/boost/asio/detail/timer_queue_base.hpp +++ b/3party/boost/boost/asio/detail/timer_queue_base.hpp @@ -2,7 +2,7 @@ // detail/timer_queue_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/timer_queue_ptime.hpp b/3party/boost/boost/asio/detail/timer_queue_ptime.hpp index 91640590e9..ecde27eb8a 100644 --- a/3party/boost/boost/asio/detail/timer_queue_ptime.hpp +++ b/3party/boost/boost/asio/detail/timer_queue_ptime.hpp @@ -2,7 +2,7 @@ // detail/timer_queue_ptime.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/timer_queue_set.hpp b/3party/boost/boost/asio/detail/timer_queue_set.hpp index e0086132d4..c0d8d1e59b 100644 --- a/3party/boost/boost/asio/detail/timer_queue_set.hpp +++ b/3party/boost/boost/asio/detail/timer_queue_set.hpp @@ -2,7 +2,7 @@ // detail/timer_queue_set.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/timer_scheduler.hpp b/3party/boost/boost/asio/detail/timer_scheduler.hpp index 8fdc36fe47..f723cef5c1 100644 --- a/3party/boost/boost/asio/detail/timer_scheduler.hpp +++ b/3party/boost/boost/asio/detail/timer_scheduler.hpp @@ -2,7 +2,7 @@ // detail/timer_scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/timer_scheduler_fwd.hpp b/3party/boost/boost/asio/detail/timer_scheduler_fwd.hpp index 5bcf249434..98d0781dc7 100644 --- a/3party/boost/boost/asio/detail/timer_scheduler_fwd.hpp +++ b/3party/boost/boost/asio/detail/timer_scheduler_fwd.hpp @@ -2,7 +2,7 @@ // detail/timer_scheduler_fwd.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/tss_ptr.hpp b/3party/boost/boost/asio/detail/tss_ptr.hpp index 4b4e7666c7..fa04a4902f 100644 --- a/3party/boost/boost/asio/detail/tss_ptr.hpp +++ b/3party/boost/boost/asio/detail/tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/type_traits.hpp b/3party/boost/boost/asio/detail/type_traits.hpp index 67e04041d6..8bed3d55cd 100644 --- a/3party/boost/boost/asio/detail/type_traits.hpp +++ b/3party/boost/boost/asio/detail/type_traits.hpp @@ -2,7 +2,7 @@ // detail/type_traits.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/variadic_templates.hpp b/3party/boost/boost/asio/detail/variadic_templates.hpp index b116fe8dcc..890f54c17a 100644 --- a/3party/boost/boost/asio/detail/variadic_templates.hpp +++ b/3party/boost/boost/asio/detail/variadic_templates.hpp @@ -2,7 +2,7 @@ // detail/variadic_templates.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/wait_handler.hpp b/3party/boost/boost/asio/detail/wait_handler.hpp index 6f2cbc53f9..ed0aeb68aa 100644 --- a/3party/boost/boost/asio/detail/wait_handler.hpp +++ b/3party/boost/boost/asio/detail/wait_handler.hpp @@ -2,7 +2,7 @@ // detail/wait_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/wait_op.hpp b/3party/boost/boost/asio/detail/wait_op.hpp index cb6c045248..8a5dd7fec5 100644 --- a/3party/boost/boost/asio/detail/wait_op.hpp +++ b/3party/boost/boost/asio/detail/wait_op.hpp @@ -2,7 +2,7 @@ // detail/wait_op.hpp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/weak_ptr.hpp b/3party/boost/boost/asio/detail/weak_ptr.hpp index 2604d10715..08bc1dd4b9 100644 --- a/3party/boost/boost/asio/detail/weak_ptr.hpp +++ b/3party/boost/boost/asio/detail/weak_ptr.hpp @@ -2,7 +2,7 @@ // detail/weak_ptr.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_event.hpp b/3party/boost/boost/asio/detail/win_event.hpp index 8ef90c5266..ff4df5be23 100644 --- a/3party/boost/boost/asio/detail/win_event.hpp +++ b/3party/boost/boost/asio/detail/win_event.hpp @@ -2,7 +2,7 @@ // detail/win_event.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_fd_set_adapter.hpp b/3party/boost/boost/asio/detail/win_fd_set_adapter.hpp index 89f5ffdbef..7687476b5a 100644 --- a/3party/boost/boost/asio/detail/win_fd_set_adapter.hpp +++ b/3party/boost/boost/asio/detail/win_fd_set_adapter.hpp @@ -2,7 +2,7 @@ // detail/win_fd_set_adapter.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_fenced_block.hpp b/3party/boost/boost/asio/detail/win_fenced_block.hpp index ebe580de1f..a1a82e519a 100644 --- a/3party/boost/boost/asio/detail/win_fenced_block.hpp +++ b/3party/boost/boost/asio/detail/win_fenced_block.hpp @@ -2,7 +2,7 @@ // detail/win_fenced_block.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_handle_read_op.hpp b/3party/boost/boost/asio/detail/win_iocp_handle_read_op.hpp index a69a291aef..5f8b8c2494 100644 --- a/3party/boost/boost/asio/detail/win_iocp_handle_read_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_handle_read_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_handle_read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/win_iocp_handle_service.hpp b/3party/boost/boost/asio/detail/win_iocp_handle_service.hpp index c7698846db..f6ca634dc2 100644 --- a/3party/boost/boost/asio/detail/win_iocp_handle_service.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_handle_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/win_iocp_handle_write_op.hpp b/3party/boost/boost/asio/detail/win_iocp_handle_write_op.hpp index 48af0b70b7..b03fb8bacb 100644 --- a/3party/boost/boost/asio/detail/win_iocp_handle_write_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_handle_write_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_handle_write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/win_iocp_io_service.hpp b/3party/boost/boost/asio/detail/win_iocp_io_service.hpp index 215b796c01..9e44c2d1e0 100644 --- a/3party/boost/boost/asio/detail/win_iocp_io_service.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_io_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_io_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_null_buffers_op.hpp b/3party/boost/boost/asio/detail/win_iocp_null_buffers_op.hpp index ae49f3f679..91118fb72b 100644 --- a/3party/boost/boost/asio/detail/win_iocp_null_buffers_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_null_buffers_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_null_buffers_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_operation.hpp b/3party/boost/boost/asio/detail/win_iocp_operation.hpp index 41a58c64cd..b3b4ae77f5 100644 --- a/3party/boost/boost/asio/detail/win_iocp_operation.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_operation.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_operation.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_overlapped_op.hpp b/3party/boost/boost/asio/detail/win_iocp_overlapped_op.hpp index 9a48433461..da292388db 100644 --- a/3party/boost/boost/asio/detail/win_iocp_overlapped_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_overlapped_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_overlapped_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_overlapped_ptr.hpp b/3party/boost/boost/asio/detail/win_iocp_overlapped_ptr.hpp index d461e0d747..9177e312bb 100644 --- a/3party/boost/boost/asio/detail/win_iocp_overlapped_ptr.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_overlapped_ptr.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_overlapped_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_serial_port_service.hpp b/3party/boost/boost/asio/detail/win_iocp_serial_port_service.hpp index a8191ee4dc..96dfa1070e 100644 --- a/3party/boost/boost/asio/detail/win_iocp_serial_port_service.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_serial_port_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_serial_port_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/win_iocp_socket_accept_op.hpp b/3party/boost/boost/asio/detail/win_iocp_socket_accept_op.hpp index 86684d5234..4011c02fc3 100644 --- a/3party/boost/boost/asio/detail/win_iocp_socket_accept_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_socket_accept_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_accept_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_socket_connect_op.hpp b/3party/boost/boost/asio/detail/win_iocp_socket_connect_op.hpp index f940e0a464..c9c5d2ac5b 100644 --- a/3party/boost/boost/asio/detail/win_iocp_socket_connect_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_socket_recv_op.hpp b/3party/boost/boost/asio/detail/win_iocp_socket_recv_op.hpp index f7fdcee057..a5a6a51160 100644 --- a/3party/boost/boost/asio/detail/win_iocp_socket_recv_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp b/3party/boost/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp index 5e1ade67ff..ee0503a9f8 100644 --- a/3party/boost/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_socket_recvfrom_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_recvfrom_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp b/3party/boost/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp index a09feab9e7..e56c87497a 100644 --- a/3party/boost/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_socket_recvmsg_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_recvmsg_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_socket_send_op.hpp b/3party/boost/boost/asio/detail/win_iocp_socket_send_op.hpp index ef25b88b50..362b5fd0c5 100644 --- a/3party/boost/boost/asio/detail/win_iocp_socket_send_op.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_socket_service.hpp b/3party/boost/boost/asio/detail/win_iocp_socket_service.hpp index d82e40e787..90ae4ab5ba 100644 --- a/3party/boost/boost/asio/detail/win_iocp_socket_service.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_socket_service.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_socket_service_base.hpp b/3party/boost/boost/asio/detail/win_iocp_socket_service_base.hpp index f5f0223386..a5335b1001 100644 --- a/3party/boost/boost/asio/detail/win_iocp_socket_service_base.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_socket_service_base.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_socket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_iocp_thread_info.hpp b/3party/boost/boost/asio/detail/win_iocp_thread_info.hpp index c036d393b9..8c9b11a1d2 100644 --- a/3party/boost/boost/asio/detail/win_iocp_thread_info.hpp +++ b/3party/boost/boost/asio/detail/win_iocp_thread_info.hpp @@ -2,7 +2,7 @@ // detail/win_iocp_thread_info.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_mutex.hpp b/3party/boost/boost/asio/detail/win_mutex.hpp index 2f927b3b55..c2b150b254 100644 --- a/3party/boost/boost/asio/detail/win_mutex.hpp +++ b/3party/boost/boost/asio/detail/win_mutex.hpp @@ -2,7 +2,7 @@ // detail/win_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_object_handle_service.hpp b/3party/boost/boost/asio/detail/win_object_handle_service.hpp index a9169ca9d6..823a24fe0f 100644 --- a/3party/boost/boost/asio/detail/win_object_handle_service.hpp +++ b/3party/boost/boost/asio/detail/win_object_handle_service.hpp @@ -2,7 +2,7 @@ // detail/win_object_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/detail/win_static_mutex.hpp b/3party/boost/boost/asio/detail/win_static_mutex.hpp index a6a7e111cd..306fbf6b52 100644 --- a/3party/boost/boost/asio/detail/win_static_mutex.hpp +++ b/3party/boost/boost/asio/detail/win_static_mutex.hpp @@ -2,7 +2,7 @@ // detail/win_static_mutex.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_thread.hpp b/3party/boost/boost/asio/detail/win_thread.hpp index 889eca690c..e465430031 100644 --- a/3party/boost/boost/asio/detail/win_thread.hpp +++ b/3party/boost/boost/asio/detail/win_thread.hpp @@ -2,7 +2,7 @@ // detail/win_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/win_tss_ptr.hpp b/3party/boost/boost/asio/detail/win_tss_ptr.hpp index ca32feaccb..c4ec696f8a 100644 --- a/3party/boost/boost/asio/detail/win_tss_ptr.hpp +++ b/3party/boost/boost/asio/detail/win_tss_ptr.hpp @@ -2,7 +2,7 @@ // detail/win_tss_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/wince_thread.hpp b/3party/boost/boost/asio/detail/wince_thread.hpp index 6b9104af0c..59a9341463 100644 --- a/3party/boost/boost/asio/detail/wince_thread.hpp +++ b/3party/boost/boost/asio/detail/wince_thread.hpp @@ -2,7 +2,7 @@ // detail/wince_thread.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_async_manager.hpp b/3party/boost/boost/asio/detail/winrt_async_manager.hpp index 1c389a0ad7..6ae9253f27 100644 --- a/3party/boost/boost/asio/detail/winrt_async_manager.hpp +++ b/3party/boost/boost/asio/detail/winrt_async_manager.hpp @@ -2,7 +2,7 @@ // detail/winrt_async_manager.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_async_op.hpp b/3party/boost/boost/asio/detail/winrt_async_op.hpp index cded1311fa..95e47a38df 100644 --- a/3party/boost/boost/asio/detail/winrt_async_op.hpp +++ b/3party/boost/boost/asio/detail/winrt_async_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_async_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_resolve_op.hpp b/3party/boost/boost/asio/detail/winrt_resolve_op.hpp index fa12889141..d563e04d31 100644 --- a/3party/boost/boost/asio/detail/winrt_resolve_op.hpp +++ b/3party/boost/boost/asio/detail/winrt_resolve_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_resolve_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_resolver_service.hpp b/3party/boost/boost/asio/detail/winrt_resolver_service.hpp index 624305fdb3..e6ce7dd357 100644 --- a/3party/boost/boost/asio/detail/winrt_resolver_service.hpp +++ b/3party/boost/boost/asio/detail/winrt_resolver_service.hpp @@ -2,7 +2,7 @@ // detail/winrt_resolver_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_socket_connect_op.hpp b/3party/boost/boost/asio/detail/winrt_socket_connect_op.hpp index 0e3f230076..6c9dc993d0 100644 --- a/3party/boost/boost/asio/detail/winrt_socket_connect_op.hpp +++ b/3party/boost/boost/asio/detail/winrt_socket_connect_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_socket_connect_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_socket_recv_op.hpp b/3party/boost/boost/asio/detail/winrt_socket_recv_op.hpp index 56545687fe..57e80b8bf5 100644 --- a/3party/boost/boost/asio/detail/winrt_socket_recv_op.hpp +++ b/3party/boost/boost/asio/detail/winrt_socket_recv_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_socket_recv_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_socket_send_op.hpp b/3party/boost/boost/asio/detail/winrt_socket_send_op.hpp index ef3676663a..cadfcc4271 100644 --- a/3party/boost/boost/asio/detail/winrt_socket_send_op.hpp +++ b/3party/boost/boost/asio/detail/winrt_socket_send_op.hpp @@ -2,7 +2,7 @@ // detail/winrt_socket_send_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_ssocket_service.hpp b/3party/boost/boost/asio/detail/winrt_ssocket_service.hpp index a701efae00..9897cacd98 100644 --- a/3party/boost/boost/asio/detail/winrt_ssocket_service.hpp +++ b/3party/boost/boost/asio/detail/winrt_ssocket_service.hpp @@ -2,7 +2,7 @@ // detail/winrt_ssocket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_ssocket_service_base.hpp b/3party/boost/boost/asio/detail/winrt_ssocket_service_base.hpp index 02469ef2e9..54a435562b 100644 --- a/3party/boost/boost/asio/detail/winrt_ssocket_service_base.hpp +++ b/3party/boost/boost/asio/detail/winrt_ssocket_service_base.hpp @@ -2,7 +2,7 @@ // detail/winrt_ssocket_service_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_timer_scheduler.hpp b/3party/boost/boost/asio/detail/winrt_timer_scheduler.hpp index 9cadecaae2..07b41fa01a 100644 --- a/3party/boost/boost/asio/detail/winrt_timer_scheduler.hpp +++ b/3party/boost/boost/asio/detail/winrt_timer_scheduler.hpp @@ -2,7 +2,7 @@ // detail/winrt_timer_scheduler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winrt_utils.hpp b/3party/boost/boost/asio/detail/winrt_utils.hpp index 3b10b07bd6..d06e7c66aa 100644 --- a/3party/boost/boost/asio/detail/winrt_utils.hpp +++ b/3party/boost/boost/asio/detail/winrt_utils.hpp @@ -2,7 +2,7 @@ // detail/winrt_utils.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/winsock_init.hpp b/3party/boost/boost/asio/detail/winsock_init.hpp index aef74f0b5a..46fcd3d79f 100644 --- a/3party/boost/boost/asio/detail/winsock_init.hpp +++ b/3party/boost/boost/asio/detail/winsock_init.hpp @@ -2,7 +2,7 @@ // detail/winsock_init.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/detail/wrapped_handler.hpp b/3party/boost/boost/asio/detail/wrapped_handler.hpp index 0ff28eddb1..6489d6dcec 100644 --- a/3party/boost/boost/asio/detail/wrapped_handler.hpp +++ b/3party/boost/boost/asio/detail/wrapped_handler.hpp @@ -2,7 +2,7 @@ // detail/wrapped_handler.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/error.hpp b/3party/boost/boost/asio/error.hpp index 7bcc00f9be..4252c15b9c 100644 --- a/3party/boost/boost/asio/error.hpp +++ b/3party/boost/boost/asio/error.hpp @@ -2,7 +2,7 @@ // error.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -148,6 +148,11 @@ enum basic_errors /// Protocol not available. no_protocol_option = BOOST_ASIO_SOCKET_ERROR(ENOPROTOOPT), + /// No such device. + no_such_device = BOOST_ASIO_WIN_OR_POSIX( + BOOST_ASIO_NATIVE_ERROR(ERROR_BAD_UNIT), + BOOST_ASIO_NATIVE_ERROR(ENODEV)), + /// Transport endpoint is not connected. not_connected = BOOST_ASIO_SOCKET_ERROR(ENOTCONN), diff --git a/3party/boost/boost/asio/generic/basic_endpoint.hpp b/3party/boost/boost/asio/generic/basic_endpoint.hpp index bb6344d9f3..9b1702ea1b 100644 --- a/3party/boost/boost/asio/generic/basic_endpoint.hpp +++ b/3party/boost/boost/asio/generic/basic_endpoint.hpp @@ -2,7 +2,7 @@ // generic/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/generic/datagram_protocol.hpp b/3party/boost/boost/asio/generic/datagram_protocol.hpp index 48fa36d89c..daafb6c39d 100644 --- a/3party/boost/boost/asio/generic/datagram_protocol.hpp +++ b/3party/boost/boost/asio/generic/datagram_protocol.hpp @@ -2,7 +2,7 @@ // generic/datagram_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/generic/detail/endpoint.hpp b/3party/boost/boost/asio/generic/detail/endpoint.hpp index 3f5437db82..69080a01c5 100644 --- a/3party/boost/boost/asio/generic/detail/endpoint.hpp +++ b/3party/boost/boost/asio/generic/detail/endpoint.hpp @@ -2,7 +2,7 @@ // generic/detail/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/generic/detail/impl/endpoint.ipp b/3party/boost/boost/asio/generic/detail/impl/endpoint.ipp index af049ca793..af1950c284 100644 --- a/3party/boost/boost/asio/generic/detail/impl/endpoint.ipp +++ b/3party/boost/boost/asio/generic/detail/impl/endpoint.ipp @@ -2,7 +2,7 @@ // generic/detail/impl/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/generic/raw_protocol.hpp b/3party/boost/boost/asio/generic/raw_protocol.hpp index bb1b1a4af6..62f930b588 100644 --- a/3party/boost/boost/asio/generic/raw_protocol.hpp +++ b/3party/boost/boost/asio/generic/raw_protocol.hpp @@ -2,7 +2,7 @@ // generic/raw_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/generic/seq_packet_protocol.hpp b/3party/boost/boost/asio/generic/seq_packet_protocol.hpp index 2a17b80667..13090fedc0 100644 --- a/3party/boost/boost/asio/generic/seq_packet_protocol.hpp +++ b/3party/boost/boost/asio/generic/seq_packet_protocol.hpp @@ -2,7 +2,7 @@ // generic/seq_packet_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/generic/stream_protocol.hpp b/3party/boost/boost/asio/generic/stream_protocol.hpp index 1ec89b9dff..5113040c14 100644 --- a/3party/boost/boost/asio/generic/stream_protocol.hpp +++ b/3party/boost/boost/asio/generic/stream_protocol.hpp @@ -2,7 +2,7 @@ // generic/stream_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/handler_alloc_hook.hpp b/3party/boost/boost/asio/handler_alloc_hook.hpp index ed8956d1b6..8658683d6f 100644 --- a/3party/boost/boost/asio/handler_alloc_hook.hpp +++ b/3party/boost/boost/asio/handler_alloc_hook.hpp @@ -2,7 +2,7 @@ // handler_alloc_hook.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/handler_continuation_hook.hpp b/3party/boost/boost/asio/handler_continuation_hook.hpp index 929b855895..dd3d782278 100644 --- a/3party/boost/boost/asio/handler_continuation_hook.hpp +++ b/3party/boost/boost/asio/handler_continuation_hook.hpp @@ -2,7 +2,7 @@ // handler_continuation_hook.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/handler_invoke_hook.hpp b/3party/boost/boost/asio/handler_invoke_hook.hpp index e81b51a421..b97a79ce8c 100644 --- a/3party/boost/boost/asio/handler_invoke_hook.hpp +++ b/3party/boost/boost/asio/handler_invoke_hook.hpp @@ -2,7 +2,7 @@ // handler_invoke_hook.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/handler_type.hpp b/3party/boost/boost/asio/handler_type.hpp index a933f6b64c..14b449f67d 100644 --- a/3party/boost/boost/asio/handler_type.hpp +++ b/3party/boost/boost/asio/handler_type.hpp @@ -2,7 +2,7 @@ // handler_type.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/high_resolution_timer.hpp b/3party/boost/boost/asio/high_resolution_timer.hpp index abb589975d..3474c45219 100644 --- a/3party/boost/boost/asio/high_resolution_timer.hpp +++ b/3party/boost/boost/asio/high_resolution_timer.hpp @@ -2,7 +2,7 @@ // high_resolution_timer.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/buffered_read_stream.hpp b/3party/boost/boost/asio/impl/buffered_read_stream.hpp index 00bc2041dc..f45230870d 100644 --- a/3party/boost/boost/asio/impl/buffered_read_stream.hpp +++ b/3party/boost/boost/asio/impl/buffered_read_stream.hpp @@ -2,7 +2,7 @@ // impl/buffered_read_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/buffered_write_stream.hpp b/3party/boost/boost/asio/impl/buffered_write_stream.hpp index 65012088e5..d49c9d9680 100644 --- a/3party/boost/boost/asio/impl/buffered_write_stream.hpp +++ b/3party/boost/boost/asio/impl/buffered_write_stream.hpp @@ -2,7 +2,7 @@ // impl/buffered_write_stream.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/connect.hpp b/3party/boost/boost/asio/impl/connect.hpp index 68a903eed8..b434f7f5d3 100644 --- a/3party/boost/boost/asio/impl/connect.hpp +++ b/3party/boost/boost/asio/impl/connect.hpp @@ -2,7 +2,7 @@ // impl/connect.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/error.ipp b/3party/boost/boost/asio/impl/error.ipp index ae43418988..635734fcd5 100644 --- a/3party/boost/boost/asio/impl/error.ipp +++ b/3party/boost/boost/asio/impl/error.ipp @@ -2,7 +2,7 @@ // impl/error.ipp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/handler_alloc_hook.ipp b/3party/boost/boost/asio/impl/handler_alloc_hook.ipp index 2561f3b066..68b7912a78 100644 --- a/3party/boost/boost/asio/impl/handler_alloc_hook.ipp +++ b/3party/boost/boost/asio/impl/handler_alloc_hook.ipp @@ -2,7 +2,7 @@ // impl/handler_alloc_hook.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/io_service.hpp b/3party/boost/boost/asio/impl/io_service.hpp index 4c6f2e1396..120d76caa9 100644 --- a/3party/boost/boost/asio/impl/io_service.hpp +++ b/3party/boost/boost/asio/impl/io_service.hpp @@ -2,7 +2,7 @@ // impl/io_service.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/io_service.ipp b/3party/boost/boost/asio/impl/io_service.ipp index 0bb5bbf8d4..b6daa0f588 100644 --- a/3party/boost/boost/asio/impl/io_service.ipp +++ b/3party/boost/boost/asio/impl/io_service.ipp @@ -2,7 +2,7 @@ // impl/io_service.ipp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/read.hpp b/3party/boost/boost/asio/impl/read.hpp index 86f8776292..d5021a27c8 100644 --- a/3party/boost/boost/asio/impl/read.hpp +++ b/3party/boost/boost/asio/impl/read.hpp @@ -2,7 +2,7 @@ // impl/read.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/read_at.hpp b/3party/boost/boost/asio/impl/read_at.hpp index 877a7c7bb7..c2dbb3b070 100644 --- a/3party/boost/boost/asio/impl/read_at.hpp +++ b/3party/boost/boost/asio/impl/read_at.hpp @@ -2,7 +2,7 @@ // impl/read_at.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/read_until.hpp b/3party/boost/boost/asio/impl/read_until.hpp index 349c447c70..e516c1f0d6 100644 --- a/3party/boost/boost/asio/impl/read_until.hpp +++ b/3party/boost/boost/asio/impl/read_until.hpp @@ -2,7 +2,7 @@ // impl/read_until.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/serial_port_base.hpp b/3party/boost/boost/asio/impl/serial_port_base.hpp index 92be00d3a3..247de48bc3 100644 --- a/3party/boost/boost/asio/impl/serial_port_base.hpp +++ b/3party/boost/boost/asio/impl/serial_port_base.hpp @@ -2,7 +2,7 @@ // impl/serial_port_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/impl/serial_port_base.ipp b/3party/boost/boost/asio/impl/serial_port_base.ipp index 51f66c161a..0c4fdbacd9 100644 --- a/3party/boost/boost/asio/impl/serial_port_base.ipp +++ b/3party/boost/boost/asio/impl/serial_port_base.ipp @@ -2,7 +2,7 @@ // impl/serial_port_base.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/impl/spawn.hpp b/3party/boost/boost/asio/impl/spawn.hpp index 9f2f480f7d..7c6b2c240b 100644 --- a/3party/boost/boost/asio/impl/spawn.hpp +++ b/3party/boost/boost/asio/impl/spawn.hpp @@ -2,7 +2,7 @@ // impl/spawn.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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 #include @@ -38,6 +39,7 @@ namespace detail { : coro_(ctx.coro_.lock()), ca_(ctx.ca_), handler_(ctx.handler_), + ready_(0), ec_(ctx.ec_), value_(0) { @@ -46,21 +48,24 @@ namespace detail { void operator()(T value) { *ec_ = boost::system::error_code(); - *value_ = value; - (*coro_)(); + *value_ = BOOST_ASIO_MOVE_CAST(T)(value); + if (--*ready_ == 0) + (*coro_)(); } void operator()(boost::system::error_code ec, T value) { *ec_ = ec; - *value_ = value; - (*coro_)(); + *value_ = BOOST_ASIO_MOVE_CAST(T)(value); + if (--*ready_ == 0) + (*coro_)(); } //private: shared_ptr::callee_type> coro_; typename basic_yield_context::caller_type& ca_; Handler& handler_; + atomic_count* ready_; boost::system::error_code* ec_; T* value_; }; @@ -73,6 +78,7 @@ namespace detail { : coro_(ctx.coro_.lock()), ca_(ctx.ca_), handler_(ctx.handler_), + ready_(0), ec_(ctx.ec_) { } @@ -80,19 +86,22 @@ namespace detail { void operator()() { *ec_ = boost::system::error_code(); - (*coro_)(); + if (--*ready_ == 0) + (*coro_)(); } void operator()(boost::system::error_code ec) { *ec_ = ec; - (*coro_)(); + if (--*ready_ == 0) + (*coro_)(); } //private: shared_ptr::callee_type> coro_; typename basic_yield_context::caller_type& ca_; Handler& handler_; + atomic_count* ready_; boost::system::error_code* ec_; }; @@ -172,8 +181,10 @@ public: explicit async_result(detail::coro_handler& h) : handler_(h), - ca_(h.ca_) + ca_(h.ca_), + ready_(2) { + h.ready_ = &ready_; out_ec_ = h.ec_; if (!out_ec_) h.ec_ = &ec_; h.value_ = &value_; @@ -182,14 +193,16 @@ public: type get() { handler_.coro_.reset(); // Must not hold shared_ptr to coro while suspended. - ca_(); + if (--ready_ != 0) + ca_(); if (!out_ec_ && ec_) throw boost::system::system_error(ec_); - return value_; + return BOOST_ASIO_MOVE_CAST(type)(value_); } private: detail::coro_handler& handler_; typename basic_yield_context::caller_type& ca_; + detail::atomic_count ready_; boost::system::error_code* out_ec_; boost::system::error_code ec_; type value_; @@ -203,8 +216,10 @@ public: explicit async_result(detail::coro_handler& h) : handler_(h), - ca_(h.ca_) + ca_(h.ca_), + ready_(2) { + h.ready_ = &ready_; out_ec_ = h.ec_; if (!out_ec_) h.ec_ = &ec_; } @@ -212,13 +227,15 @@ public: void get() { handler_.coro_.reset(); // Must not hold shared_ptr to coro while suspended. - ca_(); + if (--ready_ != 0) + ca_(); if (!out_ec_ && ec_) throw boost::system::system_error(ec_); } private: detail::coro_handler& handler_; typename basic_yield_context::caller_type& ca_; + detail::atomic_count ready_; boost::system::error_code* out_ec_; boost::system::error_code ec_; }; diff --git a/3party/boost/boost/asio/impl/src.cpp b/3party/boost/boost/asio/impl/src.cpp index e8d239472c..15c071456c 100644 --- a/3party/boost/boost/asio/impl/src.cpp +++ b/3party/boost/boost/asio/impl/src.cpp @@ -2,7 +2,7 @@ // impl/src.cpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/src.hpp b/3party/boost/boost/asio/impl/src.hpp index 03536b9ac2..d638e3622f 100644 --- a/3party/boost/boost/asio/impl/src.hpp +++ b/3party/boost/boost/asio/impl/src.hpp @@ -2,7 +2,7 @@ // impl/src.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/use_future.hpp b/3party/boost/boost/asio/impl/use_future.hpp index 11194bd5db..5acc127bfa 100644 --- a/3party/boost/boost/asio/impl/use_future.hpp +++ b/3party/boost/boost/asio/impl/use_future.hpp @@ -2,7 +2,7 @@ // impl/use_future.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/write.hpp b/3party/boost/boost/asio/impl/write.hpp index ef0c092024..af3b279abe 100644 --- a/3party/boost/boost/asio/impl/write.hpp +++ b/3party/boost/boost/asio/impl/write.hpp @@ -2,7 +2,7 @@ // impl/write.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/impl/write_at.hpp b/3party/boost/boost/asio/impl/write_at.hpp index 0d0dc4bd47..85a7610c15 100644 --- a/3party/boost/boost/asio/impl/write_at.hpp +++ b/3party/boost/boost/asio/impl/write_at.hpp @@ -2,7 +2,7 @@ // impl/write_at.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/io_service.hpp b/3party/boost/boost/asio/io_service.hpp index 16b0bbf206..ffbd9ce2ab 100644 --- a/3party/boost/boost/asio/io_service.hpp +++ b/3party/boost/boost/asio/io_service.hpp @@ -2,7 +2,7 @@ // io_service.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/address.hpp b/3party/boost/boost/asio/ip/address.hpp index e412313fa9..01485e9206 100644 --- a/3party/boost/boost/asio/ip/address.hpp +++ b/3party/boost/boost/asio/ip/address.hpp @@ -2,7 +2,7 @@ // ip/address.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/address_v4.hpp b/3party/boost/boost/asio/ip/address_v4.hpp index 3b2fe0f43b..a03dac9f20 100644 --- a/3party/boost/boost/asio/ip/address_v4.hpp +++ b/3party/boost/boost/asio/ip/address_v4.hpp @@ -2,7 +2,7 @@ // ip/address_v4.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/address_v6.hpp b/3party/boost/boost/asio/ip/address_v6.hpp index 0ec28185a9..11dad23e44 100644 --- a/3party/boost/boost/asio/ip/address_v6.hpp +++ b/3party/boost/boost/asio/ip/address_v6.hpp @@ -2,7 +2,7 @@ // ip/address_v6.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/basic_endpoint.hpp b/3party/boost/boost/asio/ip/basic_endpoint.hpp index d4a80f3a32..347aede689 100644 --- a/3party/boost/boost/asio/ip/basic_endpoint.hpp +++ b/3party/boost/boost/asio/ip/basic_endpoint.hpp @@ -2,7 +2,7 @@ // ip/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/basic_resolver.hpp b/3party/boost/boost/asio/ip/basic_resolver.hpp index a4593af164..743f9d1348 100644 --- a/3party/boost/boost/asio/ip/basic_resolver.hpp +++ b/3party/boost/boost/asio/ip/basic_resolver.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/basic_resolver_entry.hpp b/3party/boost/boost/asio/ip/basic_resolver_entry.hpp index 6fef220ef7..bb4111715d 100644 --- a/3party/boost/boost/asio/ip/basic_resolver_entry.hpp +++ b/3party/boost/boost/asio/ip/basic_resolver_entry.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_entry.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/basic_resolver_iterator.hpp b/3party/boost/boost/asio/ip/basic_resolver_iterator.hpp index c32d7023a6..9b0f678e10 100644 --- a/3party/boost/boost/asio/ip/basic_resolver_iterator.hpp +++ b/3party/boost/boost/asio/ip/basic_resolver_iterator.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_iterator.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/basic_resolver_query.hpp b/3party/boost/boost/asio/ip/basic_resolver_query.hpp index f8dcd2fe6e..15f5f2b6ce 100644 --- a/3party/boost/boost/asio/ip/basic_resolver_query.hpp +++ b/3party/boost/boost/asio/ip/basic_resolver_query.hpp @@ -2,7 +2,7 @@ // ip/basic_resolver_query.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/detail/endpoint.hpp b/3party/boost/boost/asio/ip/detail/endpoint.hpp index f171d58f9b..c0e7e1de82 100644 --- a/3party/boost/boost/asio/ip/detail/endpoint.hpp +++ b/3party/boost/boost/asio/ip/detail/endpoint.hpp @@ -2,7 +2,7 @@ // ip/detail/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/detail/impl/endpoint.ipp b/3party/boost/boost/asio/ip/detail/impl/endpoint.ipp index 4ad504612b..4cd0c2bee2 100644 --- a/3party/boost/boost/asio/ip/detail/impl/endpoint.ipp +++ b/3party/boost/boost/asio/ip/detail/impl/endpoint.ipp @@ -2,7 +2,7 @@ // ip/detail/impl/endpoint.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/detail/socket_option.hpp b/3party/boost/boost/asio/ip/detail/socket_option.hpp index 3b053f18e3..125a219c95 100644 --- a/3party/boost/boost/asio/ip/detail/socket_option.hpp +++ b/3party/boost/boost/asio/ip/detail/socket_option.hpp @@ -2,7 +2,7 @@ // detail/socket_option.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/host_name.hpp b/3party/boost/boost/asio/ip/host_name.hpp index f38c1eb5e4..f43ad3631d 100644 --- a/3party/boost/boost/asio/ip/host_name.hpp +++ b/3party/boost/boost/asio/ip/host_name.hpp @@ -2,7 +2,7 @@ // ip/host_name.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/icmp.hpp b/3party/boost/boost/asio/ip/icmp.hpp index 9849c88e86..a0f3493e30 100644 --- a/3party/boost/boost/asio/ip/icmp.hpp +++ b/3party/boost/boost/asio/ip/icmp.hpp @@ -2,7 +2,7 @@ // ip/icmp.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/impl/address.hpp b/3party/boost/boost/asio/ip/impl/address.hpp index 247e7d71cd..f55fbfcf39 100644 --- a/3party/boost/boost/asio/ip/impl/address.hpp +++ b/3party/boost/boost/asio/ip/impl/address.hpp @@ -2,7 +2,7 @@ // ip/impl/address.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/impl/address.ipp b/3party/boost/boost/asio/ip/impl/address.ipp index de57587591..e2c9c8d3eb 100644 --- a/3party/boost/boost/asio/ip/impl/address.ipp +++ b/3party/boost/boost/asio/ip/impl/address.ipp @@ -2,7 +2,7 @@ // ip/impl/address.ipp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/impl/address_v4.hpp b/3party/boost/boost/asio/ip/impl/address_v4.hpp index 857b546e5a..33ca80c39c 100644 --- a/3party/boost/boost/asio/ip/impl/address_v4.hpp +++ b/3party/boost/boost/asio/ip/impl/address_v4.hpp @@ -2,7 +2,7 @@ // ip/impl/address_v4.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/impl/address_v4.ipp b/3party/boost/boost/asio/ip/impl/address_v4.ipp index a2029016b3..b9bdf4deb8 100644 --- a/3party/boost/boost/asio/ip/impl/address_v4.ipp +++ b/3party/boost/boost/asio/ip/impl/address_v4.ipp @@ -2,7 +2,7 @@ // ip/impl/address_v4.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/impl/address_v6.hpp b/3party/boost/boost/asio/ip/impl/address_v6.hpp index 758d6466f9..dee6a1e915 100644 --- a/3party/boost/boost/asio/ip/impl/address_v6.hpp +++ b/3party/boost/boost/asio/ip/impl/address_v6.hpp @@ -2,7 +2,7 @@ // ip/impl/address_v6.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/impl/address_v6.ipp b/3party/boost/boost/asio/ip/impl/address_v6.ipp index 33db76b70d..1080c99d7d 100644 --- a/3party/boost/boost/asio/ip/impl/address_v6.ipp +++ b/3party/boost/boost/asio/ip/impl/address_v6.ipp @@ -2,7 +2,7 @@ // ip/impl/address_v6.ipp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/impl/basic_endpoint.hpp b/3party/boost/boost/asio/ip/impl/basic_endpoint.hpp index ec9b1fa04d..a92d92a28a 100644 --- a/3party/boost/boost/asio/ip/impl/basic_endpoint.hpp +++ b/3party/boost/boost/asio/ip/impl/basic_endpoint.hpp @@ -2,7 +2,7 @@ // ip/impl/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/impl/host_name.ipp b/3party/boost/boost/asio/ip/impl/host_name.ipp index 092124269c..4ee5639472 100644 --- a/3party/boost/boost/asio/ip/impl/host_name.ipp +++ b/3party/boost/boost/asio/ip/impl/host_name.ipp @@ -2,7 +2,7 @@ // ip/impl/host_name.ipp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/multicast.hpp b/3party/boost/boost/asio/ip/multicast.hpp index c162aa0cd2..677eac28b3 100644 --- a/3party/boost/boost/asio/ip/multicast.hpp +++ b/3party/boost/boost/asio/ip/multicast.hpp @@ -2,7 +2,7 @@ // ip/multicast.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/resolver_query_base.hpp b/3party/boost/boost/asio/ip/resolver_query_base.hpp index d53cd5bb05..e220ce4b6b 100644 --- a/3party/boost/boost/asio/ip/resolver_query_base.hpp +++ b/3party/boost/boost/asio/ip/resolver_query_base.hpp @@ -2,7 +2,7 @@ // ip/resolver_query_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/resolver_service.hpp b/3party/boost/boost/asio/ip/resolver_service.hpp index ec12007511..2695c5d91b 100644 --- a/3party/boost/boost/asio/ip/resolver_service.hpp +++ b/3party/boost/boost/asio/ip/resolver_service.hpp @@ -2,7 +2,7 @@ // ip/resolver_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/tcp.hpp b/3party/boost/boost/asio/ip/tcp.hpp index efa5bf698c..b00433d053 100644 --- a/3party/boost/boost/asio/ip/tcp.hpp +++ b/3party/boost/boost/asio/ip/tcp.hpp @@ -2,7 +2,7 @@ // ip/tcp.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/udp.hpp b/3party/boost/boost/asio/ip/udp.hpp index 9eef4354c5..81ec3cc244 100644 --- a/3party/boost/boost/asio/ip/udp.hpp +++ b/3party/boost/boost/asio/ip/udp.hpp @@ -2,7 +2,7 @@ // ip/udp.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/unicast.hpp b/3party/boost/boost/asio/ip/unicast.hpp index 59a03e2d3d..2286469815 100644 --- a/3party/boost/boost/asio/ip/unicast.hpp +++ b/3party/boost/boost/asio/ip/unicast.hpp @@ -2,7 +2,7 @@ // ip/unicast.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ip/v6_only.hpp b/3party/boost/boost/asio/ip/v6_only.hpp index 6386e1965a..a759d5576b 100644 --- a/3party/boost/boost/asio/ip/v6_only.hpp +++ b/3party/boost/boost/asio/ip/v6_only.hpp @@ -2,7 +2,7 @@ // ip/v6_only.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/is_read_buffered.hpp b/3party/boost/boost/asio/is_read_buffered.hpp index 65c3aa9c56..7cb3643d2c 100644 --- a/3party/boost/boost/asio/is_read_buffered.hpp +++ b/3party/boost/boost/asio/is_read_buffered.hpp @@ -2,7 +2,7 @@ // is_read_buffered.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/is_write_buffered.hpp b/3party/boost/boost/asio/is_write_buffered.hpp index 964c299e58..02ce6c25e0 100644 --- a/3party/boost/boost/asio/is_write_buffered.hpp +++ b/3party/boost/boost/asio/is_write_buffered.hpp @@ -2,7 +2,7 @@ // is_write_buffered.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/local/basic_endpoint.hpp b/3party/boost/boost/asio/local/basic_endpoint.hpp index ec3d1f89fb..753b54ed98 100644 --- a/3party/boost/boost/asio/local/basic_endpoint.hpp +++ b/3party/boost/boost/asio/local/basic_endpoint.hpp @@ -2,7 +2,7 @@ // local/basic_endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Derived from a public domain implementation written by Daniel Casimiro. // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/local/connect_pair.hpp b/3party/boost/boost/asio/local/connect_pair.hpp index 4b169b563e..dcb9ccdb8b 100644 --- a/3party/boost/boost/asio/local/connect_pair.hpp +++ b/3party/boost/boost/asio/local/connect_pair.hpp @@ -2,7 +2,7 @@ // local/connect_pair.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/local/datagram_protocol.hpp b/3party/boost/boost/asio/local/datagram_protocol.hpp index ef6a7796c1..53d3809013 100644 --- a/3party/boost/boost/asio/local/datagram_protocol.hpp +++ b/3party/boost/boost/asio/local/datagram_protocol.hpp @@ -2,7 +2,7 @@ // local/datagram_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/local/detail/endpoint.hpp b/3party/boost/boost/asio/local/detail/endpoint.hpp index e6102045a8..91eb0f9654 100644 --- a/3party/boost/boost/asio/local/detail/endpoint.hpp +++ b/3party/boost/boost/asio/local/detail/endpoint.hpp @@ -2,7 +2,7 @@ // local/detail/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Derived from a public domain implementation written by Daniel Casimiro. // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/local/detail/impl/endpoint.ipp b/3party/boost/boost/asio/local/detail/impl/endpoint.ipp index c02ae674f4..6cf7640d4a 100644 --- a/3party/boost/boost/asio/local/detail/impl/endpoint.ipp +++ b/3party/boost/boost/asio/local/detail/impl/endpoint.ipp @@ -2,7 +2,7 @@ // local/detail/impl/endpoint.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Derived from a public domain implementation written by Daniel Casimiro. // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/local/stream_protocol.hpp b/3party/boost/boost/asio/local/stream_protocol.hpp index c60b63a987..c3f2472729 100644 --- a/3party/boost/boost/asio/local/stream_protocol.hpp +++ b/3party/boost/boost/asio/local/stream_protocol.hpp @@ -2,7 +2,7 @@ // local/stream_protocol.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/placeholders.hpp b/3party/boost/boost/asio/placeholders.hpp index 06a093ff67..c7650f174e 100644 --- a/3party/boost/boost/asio/placeholders.hpp +++ b/3party/boost/boost/asio/placeholders.hpp @@ -2,7 +2,7 @@ // placeholders.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/posix/basic_descriptor.hpp b/3party/boost/boost/asio/posix/basic_descriptor.hpp index 81a91c4426..7222722f8e 100644 --- a/3party/boost/boost/asio/posix/basic_descriptor.hpp +++ b/3party/boost/boost/asio/posix/basic_descriptor.hpp @@ -2,7 +2,7 @@ // posix/basic_descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/posix/basic_stream_descriptor.hpp b/3party/boost/boost/asio/posix/basic_stream_descriptor.hpp index 7a3a92112a..2a800d5002 100644 --- a/3party/boost/boost/asio/posix/basic_stream_descriptor.hpp +++ b/3party/boost/boost/asio/posix/basic_stream_descriptor.hpp @@ -2,7 +2,7 @@ // posix/basic_stream_descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/posix/descriptor_base.hpp b/3party/boost/boost/asio/posix/descriptor_base.hpp index 8cfc0e6730..6287517efa 100644 --- a/3party/boost/boost/asio/posix/descriptor_base.hpp +++ b/3party/boost/boost/asio/posix/descriptor_base.hpp @@ -2,7 +2,7 @@ // posix/descriptor_base.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/posix/stream_descriptor.hpp b/3party/boost/boost/asio/posix/stream_descriptor.hpp index 5a2e5fbb5b..231cd77ee7 100644 --- a/3party/boost/boost/asio/posix/stream_descriptor.hpp +++ b/3party/boost/boost/asio/posix/stream_descriptor.hpp @@ -2,7 +2,7 @@ // posix/stream_descriptor.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/posix/stream_descriptor_service.hpp b/3party/boost/boost/asio/posix/stream_descriptor_service.hpp index 50a27e983c..ab1e72e217 100644 --- a/3party/boost/boost/asio/posix/stream_descriptor_service.hpp +++ b/3party/boost/boost/asio/posix/stream_descriptor_service.hpp @@ -2,7 +2,7 @@ // posix/stream_descriptor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/raw_socket_service.hpp b/3party/boost/boost/asio/raw_socket_service.hpp index c412e0a5ec..4849bf41cb 100644 --- a/3party/boost/boost/asio/raw_socket_service.hpp +++ b/3party/boost/boost/asio/raw_socket_service.hpp @@ -2,7 +2,7 @@ // raw_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/read.hpp b/3party/boost/boost/asio/read.hpp index 20fea0b6c4..559bc43a57 100644 --- a/3party/boost/boost/asio/read.hpp +++ b/3party/boost/boost/asio/read.hpp @@ -2,7 +2,7 @@ // read.hpp // ~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/read_at.hpp b/3party/boost/boost/asio/read_at.hpp index 02acbeec97..fe85139fd5 100644 --- a/3party/boost/boost/asio/read_at.hpp +++ b/3party/boost/boost/asio/read_at.hpp @@ -2,7 +2,7 @@ // read_at.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/read_until.hpp b/3party/boost/boost/asio/read_until.hpp index a351604bb2..ece4ca8998 100644 --- a/3party/boost/boost/asio/read_until.hpp +++ b/3party/boost/boost/asio/read_until.hpp @@ -2,7 +2,7 @@ // read_until.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/seq_packet_socket_service.hpp b/3party/boost/boost/asio/seq_packet_socket_service.hpp index 10d2fbaf16..31d5165b1b 100644 --- a/3party/boost/boost/asio/seq_packet_socket_service.hpp +++ b/3party/boost/boost/asio/seq_packet_socket_service.hpp @@ -2,7 +2,7 @@ // seq_packet_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/serial_port.hpp b/3party/boost/boost/asio/serial_port.hpp index 824e1e20ca..64fad65089 100644 --- a/3party/boost/boost/asio/serial_port.hpp +++ b/3party/boost/boost/asio/serial_port.hpp @@ -2,7 +2,7 @@ // serial_port.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/serial_port_base.hpp b/3party/boost/boost/asio/serial_port_base.hpp index d6f6677cb4..8132262442 100644 --- a/3party/boost/boost/asio/serial_port_base.hpp +++ b/3party/boost/boost/asio/serial_port_base.hpp @@ -2,7 +2,7 @@ // serial_port_base.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2008 Rep Invariant Systems, Inc. (info@repinvariant.com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/serial_port_service.hpp b/3party/boost/boost/asio/serial_port_service.hpp index 5b1767130b..b648327749 100644 --- a/3party/boost/boost/asio/serial_port_service.hpp +++ b/3party/boost/boost/asio/serial_port_service.hpp @@ -2,7 +2,7 @@ // serial_port_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/signal_set.hpp b/3party/boost/boost/asio/signal_set.hpp index 94fcad8786..549f2b6613 100644 --- a/3party/boost/boost/asio/signal_set.hpp +++ b/3party/boost/boost/asio/signal_set.hpp @@ -2,7 +2,7 @@ // signal_set.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/signal_set_service.hpp b/3party/boost/boost/asio/signal_set_service.hpp index 029b9afc39..41c7fcec5a 100644 --- a/3party/boost/boost/asio/signal_set_service.hpp +++ b/3party/boost/boost/asio/signal_set_service.hpp @@ -2,7 +2,7 @@ // signal_set_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/socket_acceptor_service.hpp b/3party/boost/boost/asio/socket_acceptor_service.hpp index 9a1963cd5f..d3f8fe4b51 100644 --- a/3party/boost/boost/asio/socket_acceptor_service.hpp +++ b/3party/boost/boost/asio/socket_acceptor_service.hpp @@ -2,7 +2,7 @@ // socket_acceptor_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/socket_base.hpp b/3party/boost/boost/asio/socket_base.hpp index e034d679b2..88889a1c9e 100644 --- a/3party/boost/boost/asio/socket_base.hpp +++ b/3party/boost/boost/asio/socket_base.hpp @@ -2,7 +2,7 @@ // socket_base.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/spawn.hpp b/3party/boost/boost/asio/spawn.hpp index 498e7f7774..2854bfad89 100644 --- a/3party/boost/boost/asio/spawn.hpp +++ b/3party/boost/boost/asio/spawn.hpp @@ -2,7 +2,7 @@ // spawn.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl.hpp b/3party/boost/boost/asio/ssl.hpp index 483b23a988..ddd2f365de 100644 --- a/3party/boost/boost/asio/ssl.hpp +++ b/3party/boost/boost/asio/ssl.hpp @@ -2,7 +2,7 @@ // ssl.hpp // ~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/basic_context.hpp b/3party/boost/boost/asio/ssl/basic_context.hpp index e51d39bc85..6b6b1b353c 100644 --- a/3party/boost/boost/asio/ssl/basic_context.hpp +++ b/3party/boost/boost/asio/ssl/basic_context.hpp @@ -2,7 +2,7 @@ // ssl/basic_context.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/context.hpp b/3party/boost/boost/asio/ssl/context.hpp index e9d4db65d7..2e5b282724 100644 --- a/3party/boost/boost/asio/ssl/context.hpp +++ b/3party/boost/boost/asio/ssl/context.hpp @@ -2,7 +2,7 @@ // ssl/context.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/context_base.hpp b/3party/boost/boost/asio/ssl/context_base.hpp index 692372d4ba..8bf128db66 100644 --- a/3party/boost/boost/asio/ssl/context_base.hpp +++ b/3party/boost/boost/asio/ssl/context_base.hpp @@ -2,7 +2,7 @@ // ssl/context_base.hpp // ~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -106,6 +106,12 @@ public: /// Disable TLS v1. static const long no_tlsv1 = implementation_defined; + /// Disable TLS v1.1. + static const long no_tlsv1_1 = implementation_defined; + + /// Disable TLS v1.2. + static const long no_tlsv1_2 = implementation_defined; + /// Disable compression. Compression is disabled by default. static const long no_compression = implementation_defined; #else @@ -114,6 +120,16 @@ public: BOOST_ASIO_STATIC_CONSTANT(long, no_sslv2 = SSL_OP_NO_SSLv2); BOOST_ASIO_STATIC_CONSTANT(long, no_sslv3 = SSL_OP_NO_SSLv3); BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1 = SSL_OP_NO_TLSv1); +# if defined(SSL_OP_NO_TLSv1_1) + BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_1 = SSL_OP_NO_TLSv1_1); +# else // defined(SSL_OP_NO_TLSv1_1) + BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_1 = 0x10000000L); +# endif // defined(SSL_OP_NO_TLSv1_1) +# if defined(SSL_OP_NO_TLSv1_2) + BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_2 = SSL_OP_NO_TLSv1_2); +# else // defined(SSL_OP_NO_TLSv1_2) + BOOST_ASIO_STATIC_CONSTANT(long, no_tlsv1_2 = 0x08000000L); +# endif // defined(SSL_OP_NO_TLSv1_2) # if defined(SSL_OP_NO_COMPRESSION) BOOST_ASIO_STATIC_CONSTANT(long, no_compression = SSL_OP_NO_COMPRESSION); # else // defined(SSL_OP_NO_COMPRESSION) diff --git a/3party/boost/boost/asio/ssl/context_service.hpp b/3party/boost/boost/asio/ssl/context_service.hpp index 3222dc52c7..1a1b1797ed 100644 --- a/3party/boost/boost/asio/ssl/context_service.hpp +++ b/3party/boost/boost/asio/ssl/context_service.hpp @@ -2,7 +2,7 @@ // ssl/context_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/buffered_handshake_op.hpp b/3party/boost/boost/asio/ssl/detail/buffered_handshake_op.hpp index 10608b0eb9..74f12f41a8 100644 --- a/3party/boost/boost/asio/ssl/detail/buffered_handshake_op.hpp +++ b/3party/boost/boost/asio/ssl/detail/buffered_handshake_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/buffered_handshake_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/engine.hpp b/3party/boost/boost/asio/ssl/detail/engine.hpp index 8b24a96f01..b84c22c2fd 100644 --- a/3party/boost/boost/asio/ssl/detail/engine.hpp +++ b/3party/boost/boost/asio/ssl/detail/engine.hpp @@ -2,7 +2,7 @@ // ssl/detail/engine.hpp // ~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/handshake_op.hpp b/3party/boost/boost/asio/ssl/detail/handshake_op.hpp index b886bb52f6..d8be283a0d 100644 --- a/3party/boost/boost/asio/ssl/detail/handshake_op.hpp +++ b/3party/boost/boost/asio/ssl/detail/handshake_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/handshake_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/impl/engine.ipp b/3party/boost/boost/asio/ssl/detail/impl/engine.ipp index 5aa9b5a68a..3fcfd70d8e 100644 --- a/3party/boost/boost/asio/ssl/detail/impl/engine.ipp +++ b/3party/boost/boost/asio/ssl/detail/impl/engine.ipp @@ -2,7 +2,7 @@ // ssl/detail/impl/engine.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -211,7 +211,7 @@ const boost::system::error_code& engine::map_error_code( // SSL v2 doesn't provide a protocol-level shutdown, so an eof on the // underlying transport is passed through. - if (ssl_ && ssl_->version == SSL2_VERSION) + if (ssl_->version == SSL2_VERSION) return ec; // Otherwise, the peer should have negotiated a proper shutdown. @@ -236,6 +236,7 @@ engine::want engine::perform(int (engine::* op)(void*, std::size_t), std::size_t* bytes_transferred) { std::size_t pending_output_before = ::BIO_ctrl_pending(ext_bio_); + ::ERR_clear_error(); int result = (this->*op)(data, length); int ssl_error = ::SSL_get_error(ssl_, result); int sys_error = static_cast(::ERR_get_error()); diff --git a/3party/boost/boost/asio/ssl/detail/impl/openssl_init.ipp b/3party/boost/boost/asio/ssl/detail/impl/openssl_init.ipp index d732fef309..8326c84144 100644 --- a/3party/boost/boost/asio/ssl/detail/impl/openssl_init.ipp +++ b/3party/boost/boost/asio/ssl/detail/impl/openssl_init.ipp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2015 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) @@ -64,7 +64,11 @@ public: ::CRYPTO_set_id_callback(0); ::CRYPTO_set_locking_callback(0); ::ERR_free_strings(); +#if (OPENSSL_VERSION_NUMBER >= 0x10000000L) + ::ERR_remove_thread_state(NULL); +#else // (OPENSSL_VERSION_NUMBER >= 0x10000000L) ::ERR_remove_state(0); +#endif // (OPENSSL_VERSION_NUMBER >= 0x10000000L) ::EVP_cleanup(); ::CRYPTO_cleanup_all_ex_data(); ::CONF_modules_unload(1); diff --git a/3party/boost/boost/asio/ssl/detail/io.hpp b/3party/boost/boost/asio/ssl/detail/io.hpp index ef821000ba..2e889ec8b0 100644 --- a/3party/boost/boost/asio/ssl/detail/io.hpp +++ b/3party/boost/boost/asio/ssl/detail/io.hpp @@ -2,7 +2,7 @@ // ssl/detail/io.hpp // ~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -225,7 +225,9 @@ public: } default: - if (bytes_transferred != ~std::size_t(0) && !ec_) + if (bytes_transferred == ~std::size_t(0)) + bytes_transferred = 0; // Timer cancellation, no data transferred. + else if (!ec_) ec_ = ec; switch (want_) diff --git a/3party/boost/boost/asio/ssl/detail/openssl_init.hpp b/3party/boost/boost/asio/ssl/detail/openssl_init.hpp index 985c14d9c5..221709aa03 100644 --- a/3party/boost/boost/asio/ssl/detail/openssl_init.hpp +++ b/3party/boost/boost/asio/ssl/detail/openssl_init.hpp @@ -2,7 +2,7 @@ // ssl/detail/openssl_init.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/openssl_types.hpp b/3party/boost/boost/asio/ssl/detail/openssl_types.hpp index 58b4733db6..c83d110b2a 100644 --- a/3party/boost/boost/asio/ssl/detail/openssl_types.hpp +++ b/3party/boost/boost/asio/ssl/detail/openssl_types.hpp @@ -2,7 +2,7 @@ // ssl/detail/openssl_types.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/password_callback.hpp b/3party/boost/boost/asio/ssl/detail/password_callback.hpp index d64bf3a5be..1ba89900bd 100644 --- a/3party/boost/boost/asio/ssl/detail/password_callback.hpp +++ b/3party/boost/boost/asio/ssl/detail/password_callback.hpp @@ -2,7 +2,7 @@ // ssl/detail/password_callback.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/read_op.hpp b/3party/boost/boost/asio/ssl/detail/read_op.hpp index e0a0ad0ee8..df50540e63 100644 --- a/3party/boost/boost/asio/ssl/detail/read_op.hpp +++ b/3party/boost/boost/asio/ssl/detail/read_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/read_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/shutdown_op.hpp b/3party/boost/boost/asio/ssl/detail/shutdown_op.hpp index 6a716f7090..1a206c1643 100644 --- a/3party/boost/boost/asio/ssl/detail/shutdown_op.hpp +++ b/3party/boost/boost/asio/ssl/detail/shutdown_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/shutdown_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/stream_core.hpp b/3party/boost/boost/asio/ssl/detail/stream_core.hpp index 663e258c03..2ef4110fc7 100644 --- a/3party/boost/boost/asio/ssl/detail/stream_core.hpp +++ b/3party/boost/boost/asio/ssl/detail/stream_core.hpp @@ -2,7 +2,7 @@ // ssl/detail/stream_core.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/verify_callback.hpp b/3party/boost/boost/asio/ssl/detail/verify_callback.hpp index eb40f488f4..5ddc89a9e1 100644 --- a/3party/boost/boost/asio/ssl/detail/verify_callback.hpp +++ b/3party/boost/boost/asio/ssl/detail/verify_callback.hpp @@ -2,7 +2,7 @@ // ssl/detail/verify_callback.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/detail/write_op.hpp b/3party/boost/boost/asio/ssl/detail/write_op.hpp index 24020983df..d7b49c936b 100644 --- a/3party/boost/boost/asio/ssl/detail/write_op.hpp +++ b/3party/boost/boost/asio/ssl/detail/write_op.hpp @@ -2,7 +2,7 @@ // ssl/detail/write_op.hpp // ~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/error.hpp b/3party/boost/boost/asio/ssl/error.hpp index a308fd2626..eb95e8c140 100644 --- a/3party/boost/boost/asio/ssl/error.hpp +++ b/3party/boost/boost/asio/ssl/error.hpp @@ -2,7 +2,7 @@ // ssl/error.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/impl/context.hpp b/3party/boost/boost/asio/ssl/impl/context.hpp index 345bc5b2ca..c4a751e8ff 100644 --- a/3party/boost/boost/asio/ssl/impl/context.hpp +++ b/3party/boost/boost/asio/ssl/impl/context.hpp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/impl/context.ipp b/3party/boost/boost/asio/ssl/impl/context.ipp index 06c2743fdb..67191ade20 100644 --- a/3party/boost/boost/asio/ssl/impl/context.ipp +++ b/3party/boost/boost/asio/ssl/impl/context.ipp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2015 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) @@ -67,6 +67,8 @@ struct context::dh_cleanup context::context(context::method m) : handle_(0) { + ::ERR_clear_error(); + switch (m) { #if defined(OPENSSL_NO_SSL2) @@ -329,6 +331,8 @@ void context::load_verify_file(const std::string& filename) boost::system::error_code context::load_verify_file( const std::string& filename, boost::system::error_code& ec) { + ::ERR_clear_error(); + if (::SSL_CTX_load_verify_locations(handle_, filename.c_str(), 0) != 1) { ec = boost::system::error_code( @@ -386,6 +390,8 @@ void context::set_default_verify_paths() boost::system::error_code context::set_default_verify_paths( boost::system::error_code& ec) { + ::ERR_clear_error(); + if (::SSL_CTX_set_default_verify_paths(handle_) != 1) { ec = boost::system::error_code( @@ -408,6 +414,8 @@ void context::add_verify_path(const std::string& path) boost::system::error_code context::add_verify_path( const std::string& path, boost::system::error_code& ec) { + ::ERR_clear_error(); + if (::SSL_CTX_load_verify_locations(handle_, 0, path.c_str()) != 1) { ec = boost::system::error_code( @@ -500,6 +508,8 @@ boost::system::error_code context::use_certificate_file( } } + ::ERR_clear_error(); + if (::SSL_CTX_use_certificate_file(handle_, filename.c_str(), file_type) != 1) { ec = boost::system::error_code( @@ -592,6 +602,8 @@ void context::use_certificate_chain_file(const std::string& filename) boost::system::error_code context::use_certificate_chain_file( const std::string& filename, boost::system::error_code& ec) { + ::ERR_clear_error(); + if (::SSL_CTX_use_certificate_chain_file(handle_, filename.c_str()) != 1) { ec = boost::system::error_code( @@ -628,7 +640,9 @@ boost::system::error_code context::use_private_key( evp_private_key.p = ::d2i_PrivateKey_bio(bio.p, 0); break; case context_base::pem: - evp_private_key.p = ::PEM_read_bio_PrivateKey(bio.p, 0, 0, 0); + evp_private_key.p = ::PEM_read_bio_PrivateKey( + bio.p, 0, handle_->default_passwd_callback, + handle_->default_passwd_callback_userdata); break; default: { @@ -685,7 +699,9 @@ boost::system::error_code context::use_rsa_private_key( rsa_private_key.p = ::d2i_RSAPrivateKey_bio(bio.p, 0); break; case context_base::pem: - rsa_private_key.p = ::PEM_read_bio_RSAPrivateKey(bio.p, 0, 0, 0); + rsa_private_key.p = ::PEM_read_bio_RSAPrivateKey( + bio.p, 0, handle_->default_passwd_callback, + handle_->default_passwd_callback_userdata); break; default: { @@ -730,6 +746,8 @@ boost::system::error_code context::use_private_key_file( } } + ::ERR_clear_error(); + if (::SSL_CTX_use_PrivateKey_file(handle_, filename.c_str(), file_type) != 1) { ec = boost::system::error_code( @@ -770,6 +788,8 @@ boost::system::error_code context::use_rsa_private_key_file( } } + ::ERR_clear_error(); + if (::SSL_CTX_use_RSAPrivateKey_file( handle_, filename.c_str(), file_type) != 1) { @@ -793,6 +813,8 @@ void context::use_tmp_dh(const const_buffer& dh) boost::system::error_code context::use_tmp_dh( const const_buffer& dh, boost::system::error_code& ec) { + ::ERR_clear_error(); + bio_cleanup bio = { make_buffer_bio(dh) }; if (bio.p) { @@ -815,6 +837,8 @@ void context::use_tmp_dh_file(const std::string& filename) boost::system::error_code context::use_tmp_dh_file( const std::string& filename, boost::system::error_code& ec) { + ::ERR_clear_error(); + bio_cleanup bio = { ::BIO_new_file(filename.c_str(), "r") }; if (bio.p) { diff --git a/3party/boost/boost/asio/ssl/impl/error.ipp b/3party/boost/boost/asio/ssl/impl/error.ipp index bacfc7bbf1..503b7481ff 100644 --- a/3party/boost/boost/asio/ssl/impl/error.ipp +++ b/3party/boost/boost/asio/ssl/impl/error.ipp @@ -2,7 +2,7 @@ // ssl/impl/error.ipp // ~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/impl/rfc2818_verification.ipp b/3party/boost/boost/asio/ssl/impl/rfc2818_verification.ipp index e4f28ef946..b6784435be 100644 --- a/3party/boost/boost/asio/ssl/impl/rfc2818_verification.ipp +++ b/3party/boost/boost/asio/ssl/impl/rfc2818_verification.ipp @@ -2,7 +2,7 @@ // ssl/impl/rfc2818_verification.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/impl/src.hpp b/3party/boost/boost/asio/ssl/impl/src.hpp index bc15b4e238..172fb1a93b 100644 --- a/3party/boost/boost/asio/ssl/impl/src.hpp +++ b/3party/boost/boost/asio/ssl/impl/src.hpp @@ -2,7 +2,7 @@ // impl/ssl/src.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/old/basic_context.hpp b/3party/boost/boost/asio/ssl/old/basic_context.hpp index b0b4b135d9..6d2353933b 100644 --- a/3party/boost/boost/asio/ssl/old/basic_context.hpp +++ b/3party/boost/boost/asio/ssl/old/basic_context.hpp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/old/context_service.hpp b/3party/boost/boost/asio/ssl/old/context_service.hpp index 0912b55f2e..9c3e9c7e2c 100644 --- a/3party/boost/boost/asio/ssl/old/context_service.hpp +++ b/3party/boost/boost/asio/ssl/old/context_service.hpp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/old/detail/openssl_context_service.hpp b/3party/boost/boost/asio/ssl/old/detail/openssl_context_service.hpp index a6e25c9d96..9b45e3585f 100644 --- a/3party/boost/boost/asio/ssl/old/detail/openssl_context_service.hpp +++ b/3party/boost/boost/asio/ssl/old/detail/openssl_context_service.hpp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/old/detail/openssl_stream_service.hpp b/3party/boost/boost/asio/ssl/old/detail/openssl_stream_service.hpp index ab8f8cf439..2206ca010d 100644 --- a/3party/boost/boost/asio/ssl/old/detail/openssl_stream_service.hpp +++ b/3party/boost/boost/asio/ssl/old/detail/openssl_stream_service.hpp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/old/stream.hpp b/3party/boost/boost/asio/ssl/old/stream.hpp index 3bfe56df4a..ddf4d17468 100644 --- a/3party/boost/boost/asio/ssl/old/stream.hpp +++ b/3party/boost/boost/asio/ssl/old/stream.hpp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/old/stream_service.hpp b/3party/boost/boost/asio/ssl/old/stream_service.hpp index 3acecc5d5a..e046f7c43d 100644 --- a/3party/boost/boost/asio/ssl/old/stream_service.hpp +++ b/3party/boost/boost/asio/ssl/old/stream_service.hpp @@ -3,7 +3,7 @@ // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // // Copyright (c) 2005 Voipster / Indrek dot Juhani at voipster dot com -// Copyright (c) 2005-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2005-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/rfc2818_verification.hpp b/3party/boost/boost/asio/ssl/rfc2818_verification.hpp index f2687b9461..502a41ee68 100644 --- a/3party/boost/boost/asio/ssl/rfc2818_verification.hpp +++ b/3party/boost/boost/asio/ssl/rfc2818_verification.hpp @@ -2,7 +2,7 @@ // ssl/rfc2818_verification.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/stream.hpp b/3party/boost/boost/asio/ssl/stream.hpp index 3eafd16e9c..17f6e15bbb 100644 --- a/3party/boost/boost/asio/ssl/stream.hpp +++ b/3party/boost/boost/asio/ssl/stream.hpp @@ -2,7 +2,7 @@ // ssl/stream.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/stream_base.hpp b/3party/boost/boost/asio/ssl/stream_base.hpp index 06d7849530..264fba9bae 100644 --- a/3party/boost/boost/asio/ssl/stream_base.hpp +++ b/3party/boost/boost/asio/ssl/stream_base.hpp @@ -2,7 +2,7 @@ // ssl/stream_base.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/stream_service.hpp b/3party/boost/boost/asio/ssl/stream_service.hpp index 9fcb48e82c..4a295eb268 100644 --- a/3party/boost/boost/asio/ssl/stream_service.hpp +++ b/3party/boost/boost/asio/ssl/stream_service.hpp @@ -2,7 +2,7 @@ // ssl/stream_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/verify_context.hpp b/3party/boost/boost/asio/ssl/verify_context.hpp index ddd3fec5da..26b712cd50 100644 --- a/3party/boost/boost/asio/ssl/verify_context.hpp +++ b/3party/boost/boost/asio/ssl/verify_context.hpp @@ -2,7 +2,7 @@ // ssl/verify_context.hpp // ~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/ssl/verify_mode.hpp b/3party/boost/boost/asio/ssl/verify_mode.hpp index 4d4a1ed9bf..a99553b3bf 100644 --- a/3party/boost/boost/asio/ssl/verify_mode.hpp +++ b/3party/boost/boost/asio/ssl/verify_mode.hpp @@ -2,7 +2,7 @@ // ssl/verify_mode.hpp // ~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/steady_timer.hpp b/3party/boost/boost/asio/steady_timer.hpp index fd32529110..f16b07da43 100644 --- a/3party/boost/boost/asio/steady_timer.hpp +++ b/3party/boost/boost/asio/steady_timer.hpp @@ -2,7 +2,7 @@ // steady_timer.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/strand.hpp b/3party/boost/boost/asio/strand.hpp index f6b62fb6f3..8c6d94509b 100644 --- a/3party/boost/boost/asio/strand.hpp +++ b/3party/boost/boost/asio/strand.hpp @@ -2,7 +2,7 @@ // strand.hpp // ~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -242,7 +242,8 @@ private: boost::asio::detail::strand_service::implementation_type impl_; }; -/// Typedef for backwards compatibility. +/// (Deprecated: Use boost::asio::io_service::strand.) Typedef for backwards +/// compatibility. typedef boost::asio::io_service::strand strand; } // namespace asio diff --git a/3party/boost/boost/asio/stream_socket_service.hpp b/3party/boost/boost/asio/stream_socket_service.hpp index f484d7d0ac..2657fefb4a 100644 --- a/3party/boost/boost/asio/stream_socket_service.hpp +++ b/3party/boost/boost/asio/stream_socket_service.hpp @@ -2,7 +2,7 @@ // stream_socket_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/streambuf.hpp b/3party/boost/boost/asio/streambuf.hpp index 7dbbb49f5a..1e77750d2d 100644 --- a/3party/boost/boost/asio/streambuf.hpp +++ b/3party/boost/boost/asio/streambuf.hpp @@ -2,7 +2,7 @@ // streambuf.hpp // ~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/system_timer.hpp b/3party/boost/boost/asio/system_timer.hpp index c7ade7cb8f..53b9f7129c 100644 --- a/3party/boost/boost/asio/system_timer.hpp +++ b/3party/boost/boost/asio/system_timer.hpp @@ -2,7 +2,7 @@ // system_timer.hpp // ~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/time_traits.hpp b/3party/boost/boost/asio/time_traits.hpp index a5605c14d9..d27b80d592 100644 --- a/3party/boost/boost/asio/time_traits.hpp +++ b/3party/boost/boost/asio/time_traits.hpp @@ -2,7 +2,7 @@ // time_traits.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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,9 +20,7 @@ #if defined(BOOST_ASIO_HAS_BOOST_DATE_TIME) \ || defined(GENERATING_DOCUMENTATION) -#include #include -#include #include diff --git a/3party/boost/boost/asio/unyield.hpp b/3party/boost/boost/asio/unyield.hpp index 0be57acc9a..50ff8cf111 100644 --- a/3party/boost/boost/asio/unyield.hpp +++ b/3party/boost/boost/asio/unyield.hpp @@ -2,7 +2,7 @@ // unyield.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/use_future.hpp b/3party/boost/boost/asio/use_future.hpp index c643c8d462..66a9f6a9b8 100644 --- a/3party/boost/boost/asio/use_future.hpp +++ b/3party/boost/boost/asio/use_future.hpp @@ -2,7 +2,7 @@ // use_future.hpp // ~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/version.hpp b/3party/boost/boost/asio/version.hpp index deeab10891..e8eefafb17 100644 --- a/3party/boost/boost/asio/version.hpp +++ b/3party/boost/boost/asio/version.hpp @@ -2,7 +2,7 @@ // version.hpp // ~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 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) @@ -18,6 +18,6 @@ // BOOST_ASIO_VERSION % 100 is the sub-minor version // BOOST_ASIO_VERSION / 100 % 1000 is the minor version // BOOST_ASIO_VERSION / 100000 is the major version -#define BOOST_ASIO_VERSION 101004 // 1.10.4 +#define BOOST_ASIO_VERSION 101006 // 1.10.6 #endif // BOOST_ASIO_VERSION_HPP diff --git a/3party/boost/boost/asio/wait_traits.hpp b/3party/boost/boost/asio/wait_traits.hpp index e875e5c24a..dc7d3a33b2 100644 --- a/3party/boost/boost/asio/wait_traits.hpp +++ b/3party/boost/boost/asio/wait_traits.hpp @@ -2,7 +2,7 @@ // wait_traits.hpp // ~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/waitable_timer_service.hpp b/3party/boost/boost/asio/waitable_timer_service.hpp index 0832bf10c2..f1709051d6 100644 --- a/3party/boost/boost/asio/waitable_timer_service.hpp +++ b/3party/boost/boost/asio/waitable_timer_service.hpp @@ -2,7 +2,7 @@ // waitable_timer_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/windows/basic_handle.hpp b/3party/boost/boost/asio/windows/basic_handle.hpp index 924945c7db..3545f0f477 100644 --- a/3party/boost/boost/asio/windows/basic_handle.hpp +++ b/3party/boost/boost/asio/windows/basic_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/windows/basic_object_handle.hpp b/3party/boost/boost/asio/windows/basic_object_handle.hpp index effa74af4b..c7a5fcd80e 100644 --- a/3party/boost/boost/asio/windows/basic_object_handle.hpp +++ b/3party/boost/boost/asio/windows/basic_object_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_object_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/windows/basic_random_access_handle.hpp b/3party/boost/boost/asio/windows/basic_random_access_handle.hpp index 22e4390d49..9aebd24485 100644 --- a/3party/boost/boost/asio/windows/basic_random_access_handle.hpp +++ b/3party/boost/boost/asio/windows/basic_random_access_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_random_access_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/windows/basic_stream_handle.hpp b/3party/boost/boost/asio/windows/basic_stream_handle.hpp index 479707acdc..25916accac 100644 --- a/3party/boost/boost/asio/windows/basic_stream_handle.hpp +++ b/3party/boost/boost/asio/windows/basic_stream_handle.hpp @@ -2,7 +2,7 @@ // windows/basic_stream_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/windows/object_handle.hpp b/3party/boost/boost/asio/windows/object_handle.hpp index 307963e578..843b8bb98c 100644 --- a/3party/boost/boost/asio/windows/object_handle.hpp +++ b/3party/boost/boost/asio/windows/object_handle.hpp @@ -2,7 +2,7 @@ // windows/object_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/windows/object_handle_service.hpp b/3party/boost/boost/asio/windows/object_handle_service.hpp index dd33277eed..7087ea9fe5 100644 --- a/3party/boost/boost/asio/windows/object_handle_service.hpp +++ b/3party/boost/boost/asio/windows/object_handle_service.hpp @@ -2,7 +2,7 @@ // windows/object_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // Copyright (c) 2011 Boris Schaeling (boris@highscore.de) // // Distributed under the Boost Software License, Version 1.0. (See accompanying diff --git a/3party/boost/boost/asio/windows/overlapped_ptr.hpp b/3party/boost/boost/asio/windows/overlapped_ptr.hpp index 4c6d4abe58..f6f2d6d397 100644 --- a/3party/boost/boost/asio/windows/overlapped_ptr.hpp +++ b/3party/boost/boost/asio/windows/overlapped_ptr.hpp @@ -2,7 +2,7 @@ // windows/overlapped_ptr.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/windows/random_access_handle.hpp b/3party/boost/boost/asio/windows/random_access_handle.hpp index e7dbfacd1a..48e4cfe29e 100644 --- a/3party/boost/boost/asio/windows/random_access_handle.hpp +++ b/3party/boost/boost/asio/windows/random_access_handle.hpp @@ -2,7 +2,7 @@ // windows/random_access_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/windows/random_access_handle_service.hpp b/3party/boost/boost/asio/windows/random_access_handle_service.hpp index bc013d90c1..33fbf9f945 100644 --- a/3party/boost/boost/asio/windows/random_access_handle_service.hpp +++ b/3party/boost/boost/asio/windows/random_access_handle_service.hpp @@ -2,7 +2,7 @@ // windows/random_access_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/windows/stream_handle.hpp b/3party/boost/boost/asio/windows/stream_handle.hpp index dad6b74b32..ffe0e03d94 100644 --- a/3party/boost/boost/asio/windows/stream_handle.hpp +++ b/3party/boost/boost/asio/windows/stream_handle.hpp @@ -2,7 +2,7 @@ // windows/stream_handle.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/windows/stream_handle_service.hpp b/3party/boost/boost/asio/windows/stream_handle_service.hpp index 87c3a2091e..13dc476d59 100644 --- a/3party/boost/boost/asio/windows/stream_handle_service.hpp +++ b/3party/boost/boost/asio/windows/stream_handle_service.hpp @@ -2,7 +2,7 @@ // windows/stream_handle_service.hpp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/write.hpp b/3party/boost/boost/asio/write.hpp index fdde975fdb..b5d7051d82 100644 --- a/3party/boost/boost/asio/write.hpp +++ b/3party/boost/boost/asio/write.hpp @@ -2,7 +2,7 @@ // write.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/write_at.hpp b/3party/boost/boost/asio/write_at.hpp index 6df000ca03..b1a6ac79f3 100644 --- a/3party/boost/boost/asio/write_at.hpp +++ b/3party/boost/boost/asio/write_at.hpp @@ -2,7 +2,7 @@ // write_at.hpp // ~~~~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/asio/yield.hpp b/3party/boost/boost/asio/yield.hpp index beda983eb0..d4c3f2f032 100644 --- a/3party/boost/boost/asio/yield.hpp +++ b/3party/boost/boost/asio/yield.hpp @@ -2,7 +2,7 @@ // yield.hpp // ~~~~~~~~~ // -// Copyright (c) 2003-2014 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2015 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/3party/boost/boost/atomic/capabilities.hpp b/3party/boost/boost/atomic/capabilities.hpp index 658dd22546..05bbb0fd93 100644 --- a/3party/boost/boost/atomic/capabilities.hpp +++ b/3party/boost/boost/atomic/capabilities.hpp @@ -142,6 +142,7 @@ #define BOOST_ATOMIC_ADDRESS_LOCK_FREE BOOST_ATOMIC_POINTER_LOCK_FREE #ifndef BOOST_ATOMIC_BOOL_LOCK_FREE +// We store bools in 1-byte storage in all backends #define BOOST_ATOMIC_BOOL_LOCK_FREE BOOST_ATOMIC_INT8_LOCK_FREE #endif diff --git a/3party/boost/boost/atomic/detail/atomic_template.hpp b/3party/boost/boost/atomic/detail/atomic_template.hpp index 4fd6d79b7d..bc3922a711 100644 --- a/3party/boost/boost/atomic/detail/atomic_template.hpp +++ b/3party/boost/boost/atomic/detail/atomic_template.hpp @@ -234,7 +234,7 @@ class base_atomic< bool, int > { private: typedef bool value_type; - typedef atomics::detail::operations< storage_size_of< value_type >::value, false > operations; + typedef atomics::detail::operations< 1u, false > operations; protected: typedef value_type value_arg_type; diff --git a/3party/boost/boost/atomic/detail/caps_gcc_atomic.hpp b/3party/boost/boost/atomic/detail/caps_gcc_atomic.hpp index 8299ad0190..f4e7a7023e 100644 --- a/3party/boost/boost/atomic/detail/caps_gcc_atomic.hpp +++ b/3party/boost/boost/atomic/detail/caps_gcc_atomic.hpp @@ -29,66 +29,48 @@ #define BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B 1 #endif -#if __GCC_ATOMIC_BOOL_LOCK_FREE == 2 -#define BOOST_ATOMIC_FLAG_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_FLAG_LOCK_FREE 0 -#endif -#if __GCC_ATOMIC_CHAR_LOCK_FREE == 2 -#define BOOST_ATOMIC_CHAR_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_CHAR_LOCK_FREE 0 -#endif -#if __GCC_ATOMIC_CHAR16_T_LOCK_FREE == 2 -#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE 0 -#endif -#if __GCC_ATOMIC_CHAR32_T_LOCK_FREE == 2 -#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE 0 -#endif -#if __GCC_ATOMIC_WCHAR_T_LOCK_FREE == 2 -#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 0 -#endif -#if __GCC_ATOMIC_SHORT_LOCK_FREE == 2 -#define BOOST_ATOMIC_SHORT_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_SHORT_LOCK_FREE 0 -#endif -#if __GCC_ATOMIC_INT_LOCK_FREE == 2 -#define BOOST_ATOMIC_INT_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_INT_LOCK_FREE 0 -#endif -#if __GCC_ATOMIC_LONG_LOCK_FREE == 2 -#define BOOST_ATOMIC_LONG_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_LONG_LOCK_FREE 0 -#endif -#if __GCC_ATOMIC_LLONG_LOCK_FREE == 2 -#define BOOST_ATOMIC_LLONG_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_LLONG_LOCK_FREE 0 -#endif #if defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) && (defined(BOOST_HAS_INT128) || !defined(BOOST_NO_ALIGNMENT)) #define BOOST_ATOMIC_INT128_LOCK_FREE 2 #else #define BOOST_ATOMIC_INT128_LOCK_FREE 0 #endif + +#if __GCC_ATOMIC_LLONG_LOCK_FREE == 2 +#define BOOST_ATOMIC_LLONG_LOCK_FREE 2 +#else +#define BOOST_ATOMIC_LLONG_LOCK_FREE BOOST_ATOMIC_INT128_LOCK_FREE +#endif + +#if __GCC_ATOMIC_LONG_LOCK_FREE == 2 +#define BOOST_ATOMIC_LONG_LOCK_FREE 2 +#else +#define BOOST_ATOMIC_LONG_LOCK_FREE BOOST_ATOMIC_LLONG_LOCK_FREE +#endif + +#if __GCC_ATOMIC_INT_LOCK_FREE == 2 +#define BOOST_ATOMIC_INT_LOCK_FREE 2 +#else +#define BOOST_ATOMIC_INT_LOCK_FREE BOOST_ATOMIC_LONG_LOCK_FREE +#endif + +#if __GCC_ATOMIC_SHORT_LOCK_FREE == 2 +#define BOOST_ATOMIC_SHORT_LOCK_FREE 2 +#else +#define BOOST_ATOMIC_SHORT_LOCK_FREE BOOST_ATOMIC_INT_LOCK_FREE +#endif + +#if __GCC_ATOMIC_CHAR_LOCK_FREE == 2 +#define BOOST_ATOMIC_CHAR_LOCK_FREE 2 +#else +#define BOOST_ATOMIC_CHAR_LOCK_FREE BOOST_ATOMIC_SHORT_LOCK_FREE +#endif + #if __GCC_ATOMIC_POINTER_LOCK_FREE == 2 #define BOOST_ATOMIC_POINTER_LOCK_FREE 2 #else #define BOOST_ATOMIC_POINTER_LOCK_FREE 0 #endif -#if __GCC_ATOMIC_BOOL_LOCK_FREE == 2 -#define BOOST_ATOMIC_BOOL_LOCK_FREE 2 -#else -#define BOOST_ATOMIC_BOOL_LOCK_FREE 0 -#endif + #define BOOST_ATOMIC_INT8_LOCK_FREE BOOST_ATOMIC_CHAR_LOCK_FREE @@ -128,6 +110,24 @@ #define BOOST_ATOMIC_INT64_LOCK_FREE 0 #endif + +#if __GCC_ATOMIC_WCHAR_T_LOCK_FREE == 2 +#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 2 +#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8 +#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT64_LOCK_FREE +#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4 +#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT32_LOCK_FREE +#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2 +#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT16_LOCK_FREE +#elif BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1 +#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE BOOST_ATOMIC_INT8_LOCK_FREE +#else +#define BOOST_ATOMIC_WCHAR_T_LOCK_FREE 0 +#endif + +#define BOOST_ATOMIC_CHAR32_T_LOCK_FREE BOOST_ATOMIC_INT32_LOCK_FREE +#define BOOST_ATOMIC_CHAR16_T_LOCK_FREE BOOST_ATOMIC_INT16_LOCK_FREE + #define BOOST_ATOMIC_THREAD_FENCE 2 #define BOOST_ATOMIC_SIGNAL_FENCE 2 diff --git a/3party/boost/boost/atomic/detail/config.hpp b/3party/boost/boost/atomic/detail/config.hpp index d03ec6aec6..6b0e418693 100644 --- a/3party/boost/boost/atomic/detail/config.hpp +++ b/3party/boost/boost/atomic/detail/config.hpp @@ -21,4 +21,19 @@ #pragma once #endif +#if defined(__CUDACC__) +// nvcc does not support alternatives in asm statement constraints +#define BOOST_ATOMIC_DETAIL_NO_ASM_CONSTRAINT_ALTERNATIVES +// nvcc does not support condition code register ("cc") clobber in asm statements +#define BOOST_ATOMIC_DETAIL_NO_ASM_CLOBBER_CC +#endif + +#if !defined(BOOST_ATOMIC_DETAIL_NO_ASM_CLOBBER_CC) +#define BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC "cc" +#define BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "cc", +#else +#define BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC +#define BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA +#endif + #endif // BOOST_ATOMIC_DETAIL_CONFIG_HPP_INCLUDED_ diff --git a/3party/boost/boost/atomic/detail/interlocked.hpp b/3party/boost/boost/atomic/detail/interlocked.hpp index fa11befe6e..1c62396bf5 100644 --- a/3party/boost/boost/atomic/detail/interlocked.hpp +++ b/3party/boost/boost/atomic/detail/interlocked.hpp @@ -49,9 +49,11 @@ extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long ); extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedCompareExchange) #pragma intrinsic(_InterlockedExchangeAdd) #pragma intrinsic(_InterlockedExchange) +#endif #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare) _InterlockedCompareExchange((long*)(dest), exchange, compare) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, addend) _InterlockedExchangeAdd((long*)(dest), (long)(addend)) @@ -64,12 +66,14 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #include +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedCompareExchange) #pragma intrinsic(_InterlockedExchangeAdd) #pragma intrinsic(_InterlockedExchange) #pragma intrinsic(_InterlockedAnd) #pragma intrinsic(_InterlockedOr) #pragma intrinsic(_InterlockedXor) +#endif #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE(dest, exchange, compare) _InterlockedCompareExchange((long*)(dest), (long)(exchange), (long)(compare)) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD(dest, addend) _InterlockedExchangeAdd((long*)(dest), (long)(addend)) @@ -79,12 +83,16 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #define BOOST_ATOMIC_INTERLOCKED_XOR(dest, arg) _InterlockedXor((long*)(dest), (long)(arg)) #if (defined(_M_IX86) && _M_IX86 >= 500) || defined(_M_AMD64) || defined(_M_IA64) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedCompareExchange64) +#endif #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE64(dest, exchange, compare) _InterlockedCompareExchange64((__int64*)(dest), (__int64)(exchange), (__int64)(compare)) #endif #if _MSC_VER >= 1500 && defined(_M_AMD64) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedCompareExchange128) +#endif #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE128(dest, exchange, compare) _InterlockedCompareExchange128((__int64*)(dest), ((const __int64*)(&exchange))[1], ((const __int64*)(&exchange))[0], (__int64*)(compare)) #endif @@ -94,12 +102,14 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); // Note that for each bit count these macros must be either all defined or all not defined. // Otherwise atomic<> operations will be implemented inconsistently. +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedCompareExchange8) #pragma intrinsic(_InterlockedExchangeAdd8) #pragma intrinsic(_InterlockedExchange8) #pragma intrinsic(_InterlockedAnd8) #pragma intrinsic(_InterlockedOr8) #pragma intrinsic(_InterlockedXor8) +#endif #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE8(dest, exchange, compare) _InterlockedCompareExchange8((char*)(dest), (char)(exchange), (char)(compare)) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD8(dest, addend) _InterlockedExchangeAdd8((char*)(dest), (char)(addend)) @@ -108,12 +118,14 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #define BOOST_ATOMIC_INTERLOCKED_OR8(dest, arg) _InterlockedOr8((char*)(dest), (char)(arg)) #define BOOST_ATOMIC_INTERLOCKED_XOR8(dest, arg) _InterlockedXor8((char*)(dest), (char)(arg)) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedCompareExchange16) #pragma intrinsic(_InterlockedExchangeAdd16) #pragma intrinsic(_InterlockedExchange16) #pragma intrinsic(_InterlockedAnd16) #pragma intrinsic(_InterlockedOr16) #pragma intrinsic(_InterlockedXor16) +#endif #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE16(dest, exchange, compare) _InterlockedCompareExchange16((short*)(dest), (short)(exchange), (short)(compare)) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD16(dest, addend) _InterlockedExchangeAdd16((short*)(dest), (short)(addend)) @@ -126,11 +138,13 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #if defined(_M_AMD64) || defined(_M_IA64) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedExchangeAdd64) #pragma intrinsic(_InterlockedExchange64) #pragma intrinsic(_InterlockedAnd64) #pragma intrinsic(_InterlockedOr64) #pragma intrinsic(_InterlockedXor64) +#endif #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) _InterlockedExchangeAdd64((__int64*)(dest), (__int64)(addend)) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) _InterlockedExchange64((__int64*)(dest), (__int64)(newval)) @@ -138,8 +152,10 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #define BOOST_ATOMIC_INTERLOCKED_OR64(dest, arg) _InterlockedOr64((__int64*)(dest), (__int64)(arg)) #define BOOST_ATOMIC_INTERLOCKED_XOR64(dest, arg) _InterlockedXor64((__int64*)(dest), (__int64)(arg)) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedCompareExchangePointer) #pragma intrinsic(_InterlockedExchangePointer) +#endif #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER(dest, exchange, compare) _InterlockedCompareExchangePointer((void**)(dest), (void*)(exchange), (void*)(compare)) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) _InterlockedExchangePointer((void**)(dest), (void*)(newval)) @@ -155,11 +171,13 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #if _MSC_VER >= 1700 && defined(_M_ARM) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedExchangeAdd64) #pragma intrinsic(_InterlockedExchange64) #pragma intrinsic(_InterlockedAnd64) #pragma intrinsic(_InterlockedOr64) #pragma intrinsic(_InterlockedXor64) +#endif #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD64(dest, addend) _InterlockedExchangeAdd64((__int64*)(dest), (__int64)(addend)) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE64(dest, newval) _InterlockedExchange64((__int64*)(dest), (__int64)(newval)) @@ -167,6 +185,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #define BOOST_ATOMIC_INTERLOCKED_OR64(dest, arg) _InterlockedOr64((__int64*)(dest), (__int64)(arg)) #define BOOST_ATOMIC_INTERLOCKED_XOR64(dest, arg) _InterlockedXor64((__int64*)(dest), (__int64)(arg)) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedCompareExchange8_nf) #pragma intrinsic(_InterlockedCompareExchange8_acq) #pragma intrinsic(_InterlockedCompareExchange8_rel) @@ -184,6 +203,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #pragma intrinsic(_InterlockedCompareExchangePointer_nf) #pragma intrinsic(_InterlockedCompareExchangePointer_acq) #pragma intrinsic(_InterlockedCompareExchangePointer_rel) +#endif #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE8_RELAXED(dest, exchange, compare) _InterlockedCompareExchange8_nf((char*)(dest), (char)(exchange), (char)(compare)) #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE8_ACQUIRE(dest, exchange, compare) _InterlockedCompareExchange8_acq((char*)(dest), (char)(exchange), (char)(compare)) @@ -203,6 +223,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER_ACQUIRE(dest, exchange, compare) _InterlockedCompareExchangePointer_acq((void**)(dest), (void*)(exchange), (void*)(compare)) #define BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE_POINTER_RELEASE(dest, exchange, compare) _InterlockedCompareExchangePointer_rel((void**)(dest), (void*)(exchange), (void*)(compare)) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedExchangeAdd8_nf) #pragma intrinsic(_InterlockedExchangeAdd8_acq) #pragma intrinsic(_InterlockedExchangeAdd8_rel) @@ -215,6 +236,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #pragma intrinsic(_InterlockedExchangeAdd64_nf) #pragma intrinsic(_InterlockedExchangeAdd64_acq) #pragma intrinsic(_InterlockedExchangeAdd64_rel) +#endif #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD8_RELAXED(dest, addend) _InterlockedExchangeAdd8_nf((char*)(dest), (char)(addend)) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD8_ACQUIRE(dest, addend) _InterlockedExchangeAdd8_acq((char*)(dest), (char)(addend)) @@ -234,6 +256,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER_ACQUIRE(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_ACQUIRE((long*)(dest), byte_offset)) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_POINTER_RELEASE(dest, byte_offset) ((void*)BOOST_ATOMIC_INTERLOCKED_EXCHANGE_ADD_RELEASE((long*)(dest), byte_offset)) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedExchange8_nf) #pragma intrinsic(_InterlockedExchange8_acq) #pragma intrinsic(_InterlockedExchange16_nf) @@ -252,6 +275,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #pragma intrinsic(_InterlockedExchange64_rel) #pragma intrinsic(_InterlockedExchangePointer_rel) #endif +#endif #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE8_RELAXED(dest, newval) _InterlockedExchange8_nf((char*)(dest), (char)(newval)) #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE8_ACQUIRE(dest, newval) _InterlockedExchange8_acq((char*)(dest), (char)(newval)) @@ -279,6 +303,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #define BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER_RELEASE(dest, newval) BOOST_ATOMIC_INTERLOCKED_EXCHANGE_POINTER(dest, newval) #endif +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedAnd8_nf) #pragma intrinsic(_InterlockedAnd8_acq) #pragma intrinsic(_InterlockedAnd8_rel) @@ -291,6 +316,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #pragma intrinsic(_InterlockedAnd64_nf) #pragma intrinsic(_InterlockedAnd64_acq) #pragma intrinsic(_InterlockedAnd64_rel) +#endif #define BOOST_ATOMIC_INTERLOCKED_AND8_RELAXED(dest, arg) _InterlockedAnd8_nf((char*)(dest), (char)(arg)) #define BOOST_ATOMIC_INTERLOCKED_AND8_ACQUIRE(dest, arg) _InterlockedAnd8_acq((char*)(dest), (char)(arg)) @@ -305,6 +331,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #define BOOST_ATOMIC_INTERLOCKED_AND64_ACQUIRE(dest, arg) _InterlockedAnd64_acq((__int64*)(dest), (__int64)(arg)) #define BOOST_ATOMIC_INTERLOCKED_AND64_RELEASE(dest, arg) _InterlockedAnd64_rel((__int64*)(dest), (__int64)(arg)) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedOr8_nf) #pragma intrinsic(_InterlockedOr8_acq) #pragma intrinsic(_InterlockedOr8_rel) @@ -317,6 +344,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #pragma intrinsic(_InterlockedOr64_nf) #pragma intrinsic(_InterlockedOr64_acq) #pragma intrinsic(_InterlockedOr64_rel) +#endif #define BOOST_ATOMIC_INTERLOCKED_OR8_RELAXED(dest, arg) _InterlockedOr8_nf((char*)(dest), (char)(arg)) #define BOOST_ATOMIC_INTERLOCKED_OR8_ACQUIRE(dest, arg) _InterlockedOr8_acq((char*)(dest), (char)(arg)) @@ -331,6 +359,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #define BOOST_ATOMIC_INTERLOCKED_OR64_ACQUIRE(dest, arg) _InterlockedOr64_acq((__int64*)(dest), (__int64)(arg)) #define BOOST_ATOMIC_INTERLOCKED_OR64_RELEASE(dest, arg) _InterlockedOr64_rel((__int64*)(dest), (__int64)(arg)) +#if defined(BOOST_MSVC) #pragma intrinsic(_InterlockedXor8_nf) #pragma intrinsic(_InterlockedXor8_acq) #pragma intrinsic(_InterlockedXor8_rel) @@ -343,6 +372,7 @@ extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); #pragma intrinsic(_InterlockedXor64_nf) #pragma intrinsic(_InterlockedXor64_acq) #pragma intrinsic(_InterlockedXor64_rel) +#endif #define BOOST_ATOMIC_INTERLOCKED_XOR8_RELAXED(dest, arg) _InterlockedXor8_nf((char*)(dest), (char)(arg)) #define BOOST_ATOMIC_INTERLOCKED_XOR8_ACQUIRE(dest, arg) _InterlockedXor8_acq((char*)(dest), (char)(arg)) diff --git a/3party/boost/boost/atomic/detail/ops_gcc_alpha.hpp b/3party/boost/boost/atomic/detail/ops_gcc_alpha.hpp index d17c61d7a5..6978c7f1c4 100644 --- a/3party/boost/boost/atomic/detail/ops_gcc_alpha.hpp +++ b/3party/boost/boost/atomic/detail/ops_gcc_alpha.hpp @@ -123,7 +123,7 @@ struct operations< 4u, Signed > : "=&r" (tmp) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -150,7 +150,7 @@ struct operations< 4u, Signed > : "=&r" (current), // %2 "=&r" (success) // %3 : "m" (storage) // %4 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); if (success) fence_after(success_order); @@ -188,7 +188,7 @@ struct operations< 4u, Signed > : "=&r" (success) // %3 : "m" (storage), // %4 "r" (desired) // %5 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); if (success) fence_after(success_order); @@ -217,7 +217,7 @@ struct operations< 4u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -243,7 +243,7 @@ struct operations< 4u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -269,7 +269,7 @@ struct operations< 4u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -295,7 +295,7 @@ struct operations< 4u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -321,7 +321,7 @@ struct operations< 4u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -372,7 +372,7 @@ struct operations< 1u, false > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -399,7 +399,7 @@ struct operations< 1u, false > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -434,7 +434,7 @@ struct operations< 1u, true > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -461,7 +461,7 @@ struct operations< 1u, true > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -497,7 +497,7 @@ struct operations< 2u, false > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -524,7 +524,7 @@ struct operations< 2u, false > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -559,7 +559,7 @@ struct operations< 2u, true > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -586,7 +586,7 @@ struct operations< 2u, true > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -634,7 +634,7 @@ struct operations< 8u, Signed > : "=&r" (tmp) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -661,7 +661,7 @@ struct operations< 8u, Signed > : "=&r" (current), // %2 "=&r" (success) // %3 : "m" (storage) // %4 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); if (success) fence_after(success_order); @@ -699,7 +699,7 @@ struct operations< 8u, Signed > : "=&r" (success) // %3 : "m" (storage), // %4 "r" (desired) // %5 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); if (success) fence_after(success_order); @@ -728,7 +728,7 @@ struct operations< 8u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -754,7 +754,7 @@ struct operations< 8u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -780,7 +780,7 @@ struct operations< 8u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -806,7 +806,7 @@ struct operations< 8u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -832,7 +832,7 @@ struct operations< 8u, Signed > : "=&r" (modified) // %1 : "m" (storage), // %2 "r" (v) // %3 - : + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; diff --git a/3party/boost/boost/atomic/detail/ops_gcc_arm.hpp b/3party/boost/boost/atomic/detail/ops_gcc_arm.hpp index 29e1e5a319..a28da6919d 100644 --- a/3party/boost/boost/atomic/detail/ops_gcc_arm.hpp +++ b/3party/boost/boost/atomic/detail/ops_gcc_arm.hpp @@ -187,7 +187,7 @@ struct operations< 4u, Signed > : BOOST_ATOMIC_DETAIL_ARM_ASM_END(%[tmp]) : [tmp] "=&l" (tmp), [original] "=&r" (original), [storage] "+Q" (storage) : [value] "r" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -216,7 +216,7 @@ struct operations< 4u, Signed > : [storage] "+Q" (storage) // %3 : [expected] "r" (expected), // %4 [desired] "r" (desired) // %5 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); if (success) fence_after(success_order); @@ -252,7 +252,7 @@ struct operations< 4u, Signed > : [storage] "+Q" (storage) // %3 : [expected] "r" (expected), // %4 [desired] "r" (desired) // %5 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); if (success) fence_after(success_order); @@ -282,7 +282,7 @@ struct operations< 4u, Signed > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -308,7 +308,7 @@ struct operations< 4u, Signed > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -334,7 +334,7 @@ struct operations< 4u, Signed > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -360,7 +360,7 @@ struct operations< 4u, Signed > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -386,7 +386,7 @@ struct operations< 4u, Signed > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -437,7 +437,7 @@ struct operations< 1u, false > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -464,7 +464,7 @@ struct operations< 1u, false > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -499,7 +499,7 @@ struct operations< 1u, true > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -526,7 +526,7 @@ struct operations< 1u, true > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -562,7 +562,7 @@ struct operations< 2u, false > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -589,7 +589,7 @@ struct operations< 2u, false > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -624,7 +624,7 @@ struct operations< 2u, true > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -651,7 +651,7 @@ struct operations< 2u, true > : [tmp] "=&l" (tmp), // %2 [storage] "+Q" (storage) // %3 : [value] "r" (v) // %4 - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -718,7 +718,7 @@ struct operations< 8u, Signed > : "=&r" (original) // %1 : "r" (v), // %2 "r" (&storage) // %3 - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); fence_after(order); return original; @@ -748,7 +748,7 @@ struct operations< 8u, Signed > : "+r" (old_val) // %2 : "r" (&storage), // %3 "r" (desired) // %4 - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); const uint32_t success = (uint32_t)old_val; if (success) @@ -787,7 +787,7 @@ struct operations< 8u, Signed > : "+r" (old_val) // %2 : "r" (&storage), // %3 "r" (desired) // %4 - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); const uint32_t success = (uint32_t)old_val; if (success) @@ -819,7 +819,7 @@ struct operations< 8u, Signed > : "=&r" (result) // %2 : "r" (&storage), // %3 "r" (v) // %4 - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); fence_after(order); return original; @@ -846,7 +846,7 @@ struct operations< 8u, Signed > : "=&r" (result) // %2 : "r" (&storage), // %3 "r" (v) // %4 - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); fence_after(order); return original; @@ -873,7 +873,7 @@ struct operations< 8u, Signed > : "=&r" (result) // %2 : "r" (&storage), // %3 "r" (v) // %4 - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); fence_after(order); return original; @@ -900,7 +900,7 @@ struct operations< 8u, Signed > : "=&r" (result) // %2 : "r" (&storage), // %3 "r" (v) // %4 - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); fence_after(order); return original; @@ -927,7 +927,7 @@ struct operations< 8u, Signed > : "=&r" (result) // %2 : "r" (&storage), // %3 "r" (v) // %4 - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); fence_after(order); return original; diff --git a/3party/boost/boost/atomic/detail/ops_gcc_atomic.hpp b/3party/boost/boost/atomic/detail/ops_gcc_atomic.hpp index 22977910c3..2e4c37bec7 100644 --- a/3party/boost/boost/atomic/detail/ops_gcc_atomic.hpp +++ b/3party/boost/boost/atomic/detail/ops_gcc_atomic.hpp @@ -24,6 +24,15 @@ #include #endif +#if __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE || __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE ||\ + __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE || __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE ||\ + __GCC_ATOMIC_CHAR_LOCK_FREE != BOOST_ATOMIC_CHAR_LOCK_FREE || __GCC_ATOMIC_BOOL_LOCK_FREE != BOOST_ATOMIC_BOOL_LOCK_FREE ||\ + __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE +// There are platforms where we need to use larger storage types +#include +#include +#endif + #ifdef BOOST_HAS_PRAGMA_ONCE #pragma once #endif @@ -154,51 +163,6 @@ struct gcc_atomic_operations } }; -#if BOOST_ATOMIC_INT8_LOCK_FREE > 0 -template< bool Signed > -struct operations< 1u, Signed > : - public gcc_atomic_operations< typename make_storage_type< 1u, Signed >::type > -{ -}; -#endif - -#if BOOST_ATOMIC_INT16_LOCK_FREE > 0 -template< bool Signed > -struct operations< 2u, Signed > : - public gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type > -{ -}; -#endif - -#if BOOST_ATOMIC_INT32_LOCK_FREE > 0 -template< bool Signed > -struct operations< 4u, Signed > : - public gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type > -{ -}; -#endif - -#if BOOST_ATOMIC_INT64_LOCK_FREE > 0 -#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B) - -// Workaround for clang bug http://llvm.org/bugs/show_bug.cgi?id=19355 -template< bool Signed > -struct operations< 8u, Signed > : - public cas_based_operations< gcc_dcas_x86< Signed > > -{ -}; - -#else - -template< bool Signed > -struct operations< 8u, Signed > : - public gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type > -{ -}; - -#endif -#endif - #if BOOST_ATOMIC_INT128_LOCK_FREE > 0 #if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG16B) @@ -221,6 +185,184 @@ struct operations< 16u, Signed > : #endif #endif + +#if BOOST_ATOMIC_INT64_LOCK_FREE > 0 +#if defined(__clang__) && defined(BOOST_ATOMIC_DETAIL_X86_HAS_CMPXCHG8B) + +// Workaround for clang bug http://llvm.org/bugs/show_bug.cgi?id=19355 +template< bool Signed > +struct operations< 8u, Signed > : + public cas_based_operations< gcc_dcas_x86< Signed > > +{ +}; + +#elif (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 8 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 8 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 8 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 8 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 8 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE) + +#define BOOST_ATOMIC_DETAIL_INT64_EXTENDED + +template< bool Signed > +struct operations< 8u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 8u, Signed > +{ +}; + +#else + +template< bool Signed > +struct operations< 8u, Signed > : + public gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type > +{ +}; + +#endif +#endif + +#if BOOST_ATOMIC_INT32_LOCK_FREE > 0 +#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 4 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 4 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 4 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 4 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 4 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE) + +#define BOOST_ATOMIC_DETAIL_INT32_EXTENDED + +#if !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED) + +template< bool Signed > +struct operations< 4u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 4u, Signed > +{ +}; + +#else // !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED) + +template< bool Signed > +struct operations< 4u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 4u, Signed > +{ +}; + +#endif // !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED) + +#else + +template< bool Signed > +struct operations< 4u, Signed > : + public gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type > +{ +}; + +#endif +#endif + +#if BOOST_ATOMIC_INT16_LOCK_FREE > 0 +#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 2 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 2 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 2 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 2 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 2 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE) + +#define BOOST_ATOMIC_DETAIL_INT16_EXTENDED + +#if !defined(BOOST_ATOMIC_DETAIL_INT32_EXTENDED) + +template< bool Signed > +struct operations< 2u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >, 2u, Signed > +{ +}; + +#elif !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED) + +template< bool Signed > +struct operations< 2u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 2u, Signed > +{ +}; + +#else + +template< bool Signed > +struct operations< 2u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 2u, Signed > +{ +}; + +#endif + +#else + +template< bool Signed > +struct operations< 2u, Signed > : + public gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type > +{ +}; + +#endif +#endif + +#if BOOST_ATOMIC_INT8_LOCK_FREE > 0 +#if (BOOST_ATOMIC_DETAIL_SIZEOF_LLONG == 1 && __GCC_ATOMIC_LLONG_LOCK_FREE != BOOST_ATOMIC_LLONG_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_LONG == 1 && __GCC_ATOMIC_LONG_LOCK_FREE != BOOST_ATOMIC_LONG_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_INT == 1 && __GCC_ATOMIC_INT_LOCK_FREE != BOOST_ATOMIC_INT_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_SHORT == 1 && __GCC_ATOMIC_SHORT_LOCK_FREE != BOOST_ATOMIC_SHORT_LOCK_FREE) ||\ + (BOOST_ATOMIC_DETAIL_SIZEOF_WCHAR_T == 1 && __GCC_ATOMIC_WCHAR_T_LOCK_FREE != BOOST_ATOMIC_WCHAR_T_LOCK_FREE) ||\ + (__GCC_ATOMIC_CHAR_LOCK_FREE != BOOST_ATOMIC_CHAR_LOCK_FREE) ||\ + (__GCC_ATOMIC_BOOL_LOCK_FREE != BOOST_ATOMIC_BOOL_LOCK_FREE) + +#if !defined(BOOST_ATOMIC_DETAIL_INT16_EXTENDED) + +template< bool Signed > +struct operations< 1u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 2u, Signed >::type >, 1u, Signed > +{ +}; + +#elif !defined(BOOST_ATOMIC_DETAIL_INT32_EXTENDED) + +template< bool Signed > +struct operations< 1u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 4u, Signed >::type >, 1u, Signed > +{ +}; + +#elif !defined(BOOST_ATOMIC_DETAIL_INT64_EXTENDED) + +template< bool Signed > +struct operations< 1u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 8u, Signed >::type >, 1u, Signed > +{ +}; + +#else + +template< bool Signed > +struct operations< 1u, Signed > : + public extending_cas_based_operations< gcc_atomic_operations< typename make_storage_type< 16u, Signed >::type >, 1u, Signed > +{ +}; + +#endif + +#else + +template< bool Signed > +struct operations< 1u, Signed > : + public gcc_atomic_operations< typename make_storage_type< 1u, Signed >::type > +{ +}; + +#endif +#endif + +#undef BOOST_ATOMIC_DETAIL_INT16_EXTENDED +#undef BOOST_ATOMIC_DETAIL_INT32_EXTENDED +#undef BOOST_ATOMIC_DETAIL_INT64_EXTENDED + BOOST_FORCEINLINE void thread_fence(memory_order order) BOOST_NOEXCEPT { __atomic_thread_fence(atomics::detail::convert_memory_order_to_gcc(order)); diff --git a/3party/boost/boost/atomic/detail/ops_gcc_ppc.hpp b/3party/boost/boost/atomic/detail/ops_gcc_ppc.hpp index 1a1fbb7f94..8698ee8d76 100644 --- a/3party/boost/boost/atomic/detail/ops_gcc_ppc.hpp +++ b/3party/boost/boost/atomic/detail/ops_gcc_ppc.hpp @@ -227,7 +227,7 @@ struct operations< 4u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -246,7 +246,7 @@ struct operations< 4u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -265,7 +265,7 @@ struct operations< 4u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -284,7 +284,7 @@ struct operations< 4u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -303,7 +303,7 @@ struct operations< 4u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -347,7 +347,7 @@ struct operations< 1u, false > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -367,7 +367,7 @@ struct operations< 1u, false > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -395,7 +395,7 @@ struct operations< 1u, true > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -415,7 +415,7 @@ struct operations< 1u, true > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -444,7 +444,7 @@ struct operations< 2u, false > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -464,7 +464,7 @@ struct operations< 2u, false > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -492,7 +492,7 @@ struct operations< 2u, true > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -512,7 +512,7 @@ struct operations< 2u, true > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -640,7 +640,7 @@ struct operations< 8u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -659,7 +659,7 @@ struct operations< 8u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -678,7 +678,7 @@ struct operations< 8u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -697,7 +697,7 @@ struct operations< 8u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; @@ -716,7 +716,7 @@ struct operations< 8u, Signed > : "bne- 1b\n" : "=&b" (original), "=&b" (tmp), "+Z" (storage) : "b" (v) - : "cc" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC ); fence_after(order); return original; diff --git a/3party/boost/boost/atomic/detail/ops_gcc_x86.hpp b/3party/boost/boost/atomic/detail/ops_gcc_x86.hpp index f18227f8a9..6e600457aa 100644 --- a/3party/boost/boost/atomic/detail/ops_gcc_x86.hpp +++ b/3party/boost/boost/atomic/detail/ops_gcc_x86.hpp @@ -123,7 +123,7 @@ struct operations< 1u, Signed > : "lock; xaddb %0, %1" : "+q" (v), "+m" (storage) : - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); return v; } @@ -151,7 +151,7 @@ struct operations< 1u, Signed > : "sete %2" : "+a" (previous), "+m" (storage), "=q" (success) : "q" (desired) - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); expected = previous; return success; @@ -168,7 +168,7 @@ struct operations< 1u, Signed > : "jne 1b"\ : [res] "+a" (result), [storage] "+m" (storage)\ : [arg] "q" (argument)\ - : "cc", BOOST_ATOMIC_DETAIL_TEMP_CAS_REGISTER, "memory"\ + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA BOOST_ATOMIC_DETAIL_TEMP_CAS_REGISTER, "memory"\ ) static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order) BOOST_NOEXCEPT @@ -209,7 +209,7 @@ struct operations< 2u, Signed > : "lock; xaddw %0, %1" : "+q" (v), "+m" (storage) : - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); return v; } @@ -237,7 +237,7 @@ struct operations< 2u, Signed > : "sete %2" : "+a" (previous), "+m" (storage), "=q" (success) : "q" (desired) - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); expected = previous; return success; @@ -254,7 +254,7 @@ struct operations< 2u, Signed > : "jne 1b"\ : [res] "+a" (result), [storage] "+m" (storage)\ : [arg] "q" (argument)\ - : "cc", BOOST_ATOMIC_DETAIL_TEMP_CAS_REGISTER, "memory"\ + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA BOOST_ATOMIC_DETAIL_TEMP_CAS_REGISTER, "memory"\ ) static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order) BOOST_NOEXCEPT @@ -295,7 +295,7 @@ struct operations< 4u, Signed > : "lock; xaddl %0, %1" : "+r" (v), "+m" (storage) : - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); return v; } @@ -323,7 +323,7 @@ struct operations< 4u, Signed > : "sete %2" : "+a" (previous), "+m" (storage), "=q" (success) : "r" (desired) - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); expected = previous; return success; @@ -340,7 +340,7 @@ struct operations< 4u, Signed > : "jne 1b"\ : [res] "+a" (result), [storage] "+m" (storage)\ : [arg] "r" (argument)\ - : "cc", BOOST_ATOMIC_DETAIL_TEMP_CAS_REGISTER, "memory"\ + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA BOOST_ATOMIC_DETAIL_TEMP_CAS_REGISTER, "memory"\ ) static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order) BOOST_NOEXCEPT @@ -391,7 +391,7 @@ struct operations< 8u, Signed > : "lock; xaddq %0, %1" : "+r" (v), "+m" (storage) : - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); return v; } @@ -419,7 +419,7 @@ struct operations< 8u, Signed > : "sete %2" : "+a" (previous), "+m" (storage), "=q" (success) : "r" (desired) - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); expected = previous; return success; @@ -436,7 +436,7 @@ struct operations< 8u, Signed > : "jne 1b"\ : [res] "+a" (result), [storage] "+m" (storage)\ : [arg] "r" (argument)\ - : "cc", BOOST_ATOMIC_DETAIL_TEMP_CAS_REGISTER, "memory"\ + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA BOOST_ATOMIC_DETAIL_TEMP_CAS_REGISTER, "memory"\ ) static BOOST_FORCEINLINE storage_type fetch_and(storage_type volatile& storage, storage_type v, memory_order) BOOST_NOEXCEPT diff --git a/3party/boost/boost/atomic/detail/ops_gcc_x86_dcas.hpp b/3party/boost/boost/atomic/detail/ops_gcc_x86_dcas.hpp index 5e005359b5..a6109f926c 100644 --- a/3party/boost/boost/atomic/detail/ops_gcc_x86_dcas.hpp +++ b/3party/boost/boost/atomic/detail/ops_gcc_x86_dcas.hpp @@ -80,9 +80,14 @@ struct gcc_dcas_x86 "1: lock; cmpxchg8b 0(%[dest])\n\t" "jne 1b\n\t" "movl %[scratch], %%ebx" +#if !defined(BOOST_ATOMIC_DETAIL_NO_ASM_CONSTRAINT_ALTERNATIVES) : [scratch] "=m,m" (scratch) : [value_lo] "a,a" ((uint32_t)v), "c,c" ((uint32_t)(v >> 32)), [dest] "D,S" (&storage) - : "cc", "edx", "memory" +#else + : [scratch] "=m" (scratch) + : [value_lo] "a" ((uint32_t)v), "c" ((uint32_t)(v >> 32)), [dest] "D" (&storage) +#endif + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "edx", "memory" ); #else __asm__ __volatile__ @@ -93,8 +98,12 @@ struct gcc_dcas_x86 "1: lock; cmpxchg8b 0(%[dest])\n\t" "jne 1b\n\t" : +#if !defined(BOOST_ATOMIC_DETAIL_NO_ASM_CONSTRAINT_ALTERNATIVES) : [value_lo] "b,b" ((uint32_t)v), "c,c" ((uint32_t)(v >> 32)), [dest] "D,S" (&storage) - : "cc", "eax", "edx", "memory" +#else + : [value_lo] "b" ((uint32_t)v), "c" ((uint32_t)(v >> 32)), [dest] "D" (&storage) +#endif + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "eax", "edx", "memory" ); #endif } @@ -146,7 +155,7 @@ struct gcc_dcas_x86 "lock; cmpxchg8b %[storage]" : "=&A" (value) : [storage] "m" (storage) - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); #endif } @@ -183,9 +192,14 @@ struct gcc_dcas_x86 "lock; cmpxchg8b %[dest]\n\t" "movl %[scratch], %%ebx\n\t" "sete %[success]" +#if !defined(BOOST_ATOMIC_DETAIL_NO_ASM_CONSTRAINT_ALTERNATIVES) : "+A,A,A,A,A,A" (expected), [dest] "+m,m,m,m,m,m" (storage), [scratch] "=m,m,m,m,m,m" (scratch), [success] "=q,m,q,m,q,m" (success) : [desired_lo] "S,S,D,D,m,m" ((uint32_t)desired), "c,c,c,c,c,c" ((uint32_t)(desired >> 32)) - : "cc", "memory" +#else + : "+A" (expected), [dest] "+m" (storage), [scratch] "=m" (scratch), [success] "=q" (success) + : [desired_lo] "S" ((uint32_t)desired), "c" ((uint32_t)(desired >> 32)) +#endif + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); return success; #else @@ -194,9 +208,14 @@ struct gcc_dcas_x86 ( "lock; cmpxchg8b %[dest]\n\t" "sete %[success]" +#if !defined(BOOST_ATOMIC_DETAIL_NO_ASM_CONSTRAINT_ALTERNATIVES) : "+A,A" (expected), [dest] "+m,m" (storage), [success] "=q,m" (success) : "b,b" ((uint32_t)desired), "c,c" ((uint32_t)(desired >> 32)) - : "cc", "memory" +#else + : "+A" (expected), [dest] "+m" (storage), [success] "=q" (success) + : "b" ((uint32_t)desired), "c" ((uint32_t)(desired >> 32)) +#endif + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); return success; #endif @@ -235,7 +254,7 @@ struct gcc_dcas_x86_64 "jne 1b" : : "b" (p_value[0]), "c" (p_value[1]), [dest] "r" (&storage) - : "cc", "rax", "rdx", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "rax", "rdx", "memory" ); } @@ -257,7 +276,7 @@ struct gcc_dcas_x86_64 "lock; cmpxchg16b %[storage]" : "=&A" (value) : [storage] "m" (storage) - : "cc", "memory" + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); return value; @@ -279,9 +298,14 @@ struct gcc_dcas_x86_64 ( "lock; cmpxchg16b %[dest]\n\t" "sete %[success]" +#if !defined(BOOST_ATOMIC_DETAIL_NO_ASM_CONSTRAINT_ALTERNATIVES) : "+A,A" (expected), [dest] "+m,m" (storage), [success] "=q,m" (success) : "b,b" (p_desired[0]), "c,c" (p_desired[1]) - : "cc", "memory" +#else + : "+A" (expected), [dest] "+m" (storage), [success] "=q" (success) + : "b" (p_desired[0]), "c" (p_desired[1]) +#endif + : BOOST_ATOMIC_DETAIL_ASM_CLOBBER_CC_COMMA "memory" ); return success; #endif diff --git a/3party/boost/boost/atomic/detail/ops_msvc_x86.hpp b/3party/boost/boost/atomic/detail/ops_msvc_x86.hpp index 51db0fee0b..501d9c622d 100644 --- a/3party/boost/boost/atomic/detail/ops_msvc_x86.hpp +++ b/3party/boost/boost/atomic/detail/ops_msvc_x86.hpp @@ -44,8 +44,10 @@ #if defined(_MSC_VER) && (defined(_M_AMD64) || (defined(_M_IX86) && defined(_M_IX86_FP) && _M_IX86_FP >= 2)) extern "C" void _mm_mfence(void); +#if defined(BOOST_MSVC) #pragma intrinsic(_mm_mfence) #endif +#endif namespace boost { namespace atomics { @@ -247,7 +249,7 @@ struct operations< 1u, Signed > : } static BOOST_FORCEINLINE bool compare_exchange_strong( - storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order success_order, memory_order failure_order) BOOST_NOEXCEPT + storage_type volatile& storage, storage_type& expected, storage_type desired, memory_order, memory_order) BOOST_NOEXCEPT { storage_type previous = expected; storage_type old_val = static_cast< storage_type >(BOOST_ATOMIC_INTERLOCKED_COMPARE_EXCHANGE8(&storage, desired, previous)); diff --git a/3party/boost/boost/atomic/detail/pause.hpp b/3party/boost/boost/atomic/detail/pause.hpp index 15d7a024d7..37aa5ca84e 100644 --- a/3party/boost/boost/atomic/detail/pause.hpp +++ b/3party/boost/boost/atomic/detail/pause.hpp @@ -18,8 +18,10 @@ #if defined(_MSC_VER) && (defined(_M_AMD64) || defined(_M_IX86)) extern "C" void _mm_pause(void); +#if defined(BOOST_MSVC) #pragma intrinsic(_mm_pause) #endif +#endif namespace boost { namespace atomics { @@ -29,10 +31,8 @@ BOOST_FORCEINLINE void pause() BOOST_NOEXCEPT { #if defined(_MSC_VER) && (defined(_M_AMD64) || defined(_M_IX86)) _mm_pause(); - #elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) __asm__ __volatile__("pause;"); - #endif } diff --git a/3party/boost/boost/bimap/bimap.hpp b/3party/boost/boost/bimap/bimap.hpp index 2929ce58e4..5fe7a3f5b1 100644 --- a/3party/boost/boost/bimap/bimap.hpp +++ b/3party/boost/boost/bimap/bimap.hpp @@ -45,7 +45,7 @@ the next step will be: #ifndef BOOST_BIMAP_BIMAP_HPP #define BOOST_BIMAP_BIMAP_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif @@ -342,8 +342,7 @@ class bimap template< class Tag, class IteratorType > BOOST_DEDUCED_TYPENAME ::boost::bimaps::support:: iterator_type_by::type - project(IteratorType iter - BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag)) + project(IteratorType iter) { return core.template project(iter.base()); } @@ -351,8 +350,7 @@ class bimap template< class Tag, class IteratorType > BOOST_DEDUCED_TYPENAME ::boost::bimaps::support:: const_iterator_type_by::type - project(IteratorType iter - BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(Tag)) const + project(IteratorType iter) const { return core.template project(iter.base()); } @@ -369,16 +367,14 @@ class bimap template< class Tag > BOOST_DEDUCED_TYPENAME ::boost::bimaps::support:: - map_type_by::type & - by(BOOST_EXPLICIT_TEMPLATE_TYPE(Tag)) + map_type_by::type &by() { return ::boost::bimaps::support::map_by(*this); } template< class Tag > const BOOST_DEDUCED_TYPENAME ::boost::bimaps::support:: - map_type_by::type & - by(BOOST_EXPLICIT_TEMPLATE_TYPE(Tag)) const + map_type_by::type &by() const { return ::boost::bimaps::support::map_by(*this); } diff --git a/3party/boost/boost/bimap/container_adaptor/associative_container_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/associative_container_adaptor.hpp index 18e03591b5..419407f82f 100644 --- a/3party/boost/boost/bimap/container_adaptor/associative_container_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/associative_container_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/container_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/container_adaptor.hpp old mode 100755 new mode 100644 index 8e78090a9b..374c351f0a --- a/3party/boost/boost/bimap/container_adaptor/container_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/container_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_CONTAINER_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_CONTAINER_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp old mode 100755 new mode 100644 index 9051a461af..09906208a3 --- a/3party/boost/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/detail/comparison_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_COMPARISON_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_COMPARISON_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/detail/functor_bag.hpp b/3party/boost/boost/bimap/container_adaptor/detail/functor_bag.hpp old mode 100755 new mode 100644 index fd8c435e03..9df655e349 --- a/3party/boost/boost/bimap/container_adaptor/detail/functor_bag.hpp +++ b/3party/boost/boost/bimap/container_adaptor/detail/functor_bag.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_FUNCTOR_BAG_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_FUNCTOR_BAG_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/detail/identity_converters.hpp b/3party/boost/boost/bimap/container_adaptor/detail/identity_converters.hpp old mode 100755 new mode 100644 index f6f5864122..4f79cfc167 --- a/3party/boost/boost/bimap/container_adaptor/detail/identity_converters.hpp +++ b/3party/boost/boost/bimap/container_adaptor/detail/identity_converters.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_IDENTITY_CONVERTERS_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_IDENTITY_CONVERTERS_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/detail/key_extractor.hpp b/3party/boost/boost/bimap/container_adaptor/detail/key_extractor.hpp old mode 100755 new mode 100644 index 3835b7c43e..bf3c1a9c43 --- a/3party/boost/boost/bimap/container_adaptor/detail/key_extractor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/detail/key_extractor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_KEY_EXTRACTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_KEY_EXTRACTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp b/3party/boost/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp old mode 100755 new mode 100644 index 695704535a..25ba2f56cd --- a/3party/boost/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp +++ b/3party/boost/boost/bimap/container_adaptor/detail/non_unique_container_helper.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_NON_UNIQUE_CONTAINER_HELPER_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/list_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/list_adaptor.hpp old mode 100755 new mode 100644 index 310e2b4630..62f2031855 --- a/3party/boost/boost/bimap/container_adaptor/list_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/list_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_LIST_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_LIST_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/list_map_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/list_map_adaptor.hpp index e4fd52df79..4fc5cdffe5 100644 --- a/3party/boost/boost/bimap/container_adaptor/list_map_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/list_map_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_LIST_MAP_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_LIST_MAP_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/map_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/map_adaptor.hpp index 3df1a03cb0..04050cd28d 100644 --- a/3party/boost/boost/bimap/container_adaptor/map_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/map_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_MAP_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_MAP_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/multimap_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/multimap_adaptor.hpp index f39899ea0c..419fb279d1 100644 --- a/3party/boost/boost/bimap/container_adaptor/multimap_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/multimap_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_MULTIMAP_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_MULTIMAP_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/multiset_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/multiset_adaptor.hpp old mode 100755 new mode 100644 index fe89d9a99d..660acaf98e --- a/3party/boost/boost/bimap/container_adaptor/multiset_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/multiset_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_MULTISET_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_MULTISET_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp old mode 100755 new mode 100644 index 6278844323..8b8db0613c --- a/3party/boost/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/ordered_associative_container_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_ORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_ORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/sequence_container_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/sequence_container_adaptor.hpp index 4771149e71..99a5e27738 100644 --- a/3party/boost/boost/bimap/container_adaptor/sequence_container_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/sequence_container_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_SEQUENCE_CONTAINER_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_SEQUENCE_CONTAINER_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/set_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/set_adaptor.hpp old mode 100755 new mode 100644 index 6c8dbf3820..c6ba052c5f --- a/3party/boost/boost/bimap/container_adaptor/set_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/set_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_SET_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_SET_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp b/3party/boost/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp old mode 100755 new mode 100644 index 4bde159df0..d6042e6a6c --- a/3party/boost/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp +++ b/3party/boost/boost/bimap/container_adaptor/support/iterator_facade_converters.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_DETAIL_ITERATOR_FACADE_CONVERTERS_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp index 937a0d8765..7ecffcf7d7 100755 --- a/3party/boost/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/unordered_associative_container_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_ASSOCIATIVE_CONTAINER_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/unordered_map_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/unordered_map_adaptor.hpp index fd233e8e22..d5a38ad404 100644 --- a/3party/boost/boost/bimap/container_adaptor/unordered_map_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/unordered_map_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MAP_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MAP_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp index 104d197963..473ed49e2e 100644 --- a/3party/boost/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/unordered_multimap_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTIMAP_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTIMAP_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp old mode 100755 new mode 100644 index 1d8e4c980f..5406e8793f --- a/3party/boost/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/unordered_multiset_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTISET_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_MULTISET_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/unordered_set_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/unordered_set_adaptor.hpp old mode 100755 new mode 100644 index cf00b0f507..840f02b051 --- a/3party/boost/boost/bimap/container_adaptor/unordered_set_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/unordered_set_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_SET_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_UNORDERED_SET_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/vector_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/vector_adaptor.hpp index 87d41726e8..e1d9cfae43 100644 --- a/3party/boost/boost/bimap/container_adaptor/vector_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/vector_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/container_adaptor/vector_map_adaptor.hpp b/3party/boost/boost/bimap/container_adaptor/vector_map_adaptor.hpp index 1d49ac7c6e..b0dfe92586 100644 --- a/3party/boost/boost/bimap/container_adaptor/vector_map_adaptor.hpp +++ b/3party/boost/boost/bimap/container_adaptor/vector_map_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_MAP_ADAPTOR_HPP #define BOOST_BIMAP_CONTAINER_ADAPTOR_VECTOR_MAP_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/bimap_core.hpp b/3party/boost/boost/bimap/detail/bimap_core.hpp index 28a91a4631..f642e96fc0 100644 --- a/3party/boost/boost/bimap/detail/bimap_core.hpp +++ b/3party/boost/boost/bimap/detail/bimap_core.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_BIMAP_CORE_HPP #define BOOST_BIMAP_DETAIL_BIMAP_CORE_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/concept_tags.hpp b/3party/boost/boost/bimap/detail/concept_tags.hpp old mode 100755 new mode 100644 index 1f252e3092..fc3ab5c1c0 --- a/3party/boost/boost/bimap/detail/concept_tags.hpp +++ b/3party/boost/boost/bimap/detail/concept_tags.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_CONCEPT_TAGS_HPP #define BOOST_BIMAP_DETAIL_CONCEPT_TAGS_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/debug/static_error.hpp b/3party/boost/boost/bimap/detail/debug/static_error.hpp old mode 100755 new mode 100644 index 3a8ed632ae..cbb1cadb8d --- a/3party/boost/boost/bimap/detail/debug/static_error.hpp +++ b/3party/boost/boost/bimap/detail/debug/static_error.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_DEBUG_STATIC_ERROR_HPP #define BOOST_BIMAP_DETAIL_DEBUG_STATIC_ERROR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/generate_index_binder.hpp b/3party/boost/boost/bimap/detail/generate_index_binder.hpp old mode 100755 new mode 100644 index 01c899d4d8..8c982cc17d --- a/3party/boost/boost/bimap/detail/generate_index_binder.hpp +++ b/3party/boost/boost/bimap/detail/generate_index_binder.hpp @@ -13,7 +13,7 @@ #ifndef BOOST_BIMAP_DETAIL_GENERATE_INDEX_BINDER_HPP #define BOOST_BIMAP_DETAIL_GENERATE_INDEX_BINDER_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/generate_relation_binder.hpp b/3party/boost/boost/bimap/detail/generate_relation_binder.hpp old mode 100755 new mode 100644 index 0ff47621bd..6d2981633a --- a/3party/boost/boost/bimap/detail/generate_relation_binder.hpp +++ b/3party/boost/boost/bimap/detail/generate_relation_binder.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_GENERATE_RELATION_BINDER_HPP #define BOOST_BIMAP_DETAIL_GENERATE_RELATION_BINDER_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/generate_view_binder.hpp b/3party/boost/boost/bimap/detail/generate_view_binder.hpp old mode 100755 new mode 100644 index 925184cff7..bd1c43f8c0 --- a/3party/boost/boost/bimap/detail/generate_view_binder.hpp +++ b/3party/boost/boost/bimap/detail/generate_view_binder.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_GENERATE_VIEW_BINDER_HPP #define BOOST_BIMAP_DETAIL_GENERATE_VIEW_BINDER_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/is_set_type_of.hpp b/3party/boost/boost/bimap/detail/is_set_type_of.hpp old mode 100755 new mode 100644 index 13d52c1d04..58dad370d1 --- a/3party/boost/boost/bimap/detail/is_set_type_of.hpp +++ b/3party/boost/boost/bimap/detail/is_set_type_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_IS_SET_TYPE_OF_HPP #define BOOST_BIMAP_DETAIL_IS_SET_TYPE_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/manage_additional_parameters.hpp b/3party/boost/boost/bimap/detail/manage_additional_parameters.hpp old mode 100755 new mode 100644 index 3d22d730e7..d95a4f0cfc --- a/3party/boost/boost/bimap/detail/manage_additional_parameters.hpp +++ b/3party/boost/boost/bimap/detail/manage_additional_parameters.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_MANAGE_ADDITIONAL_PARAMETERS_HPP #define BOOST_BIMAP_DETAIL_MANAGE_ADDITIONAL_PARAMETERS_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/manage_bimap_key.hpp b/3party/boost/boost/bimap/detail/manage_bimap_key.hpp old mode 100755 new mode 100644 index d485e50aee..987bb0d4ac --- a/3party/boost/boost/bimap/detail/manage_bimap_key.hpp +++ b/3party/boost/boost/bimap/detail/manage_bimap_key.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_MANAGE_BIMAP_KEY_HPP #define BOOST_BIMAP_DETAIL_MANAGE_BIMAP_KEY_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/map_view_base.hpp b/3party/boost/boost/bimap/detail/map_view_base.hpp index 51059c38c4..8f61d5cc04 100644 --- a/3party/boost/boost/bimap/detail/map_view_base.hpp +++ b/3party/boost/boost/bimap/detail/map_view_base.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_MAP_VIEW_BASE_HPP #define BOOST_BIMAP_DETAIL_MAP_VIEW_BASE_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/map_view_iterator.hpp b/3party/boost/boost/bimap/detail/map_view_iterator.hpp index c796a70156..17d43cb8f4 100644 --- a/3party/boost/boost/bimap/detail/map_view_iterator.hpp +++ b/3party/boost/boost/bimap/detail/map_view_iterator.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_MAP_VIEW_ITERATOR_HPP #define BOOST_BIMAP_DETAIL_MAP_VIEW_ITERATOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/modifier_adaptor.hpp b/3party/boost/boost/bimap/detail/modifier_adaptor.hpp old mode 100755 new mode 100644 index b170549d08..f0de120806 --- a/3party/boost/boost/bimap/detail/modifier_adaptor.hpp +++ b/3party/boost/boost/bimap/detail/modifier_adaptor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_MODIFIER_ADAPTOR_HPP #define BOOST_BIMAP_DETAIL_MODIFIER_ADAPTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/non_unique_views_helper.hpp b/3party/boost/boost/bimap/detail/non_unique_views_helper.hpp old mode 100755 new mode 100644 index 6801632019..c970fcdc44 --- a/3party/boost/boost/bimap/detail/non_unique_views_helper.hpp +++ b/3party/boost/boost/bimap/detail/non_unique_views_helper.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_NON_UNIQUE_VIEWS_HELPER_HPP #define BOOST_BIMAP_DETAIL_NON_UNIQUE_VIEWS_HELPER_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/set_view_base.hpp b/3party/boost/boost/bimap/detail/set_view_base.hpp index 45305f0396..817e30f8ae 100644 --- a/3party/boost/boost/bimap/detail/set_view_base.hpp +++ b/3party/boost/boost/bimap/detail/set_view_base.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_SET_VIEW_BASE_HPP #define BOOST_BIMAP_DETAIL_SET_VIEW_BASE_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/set_view_iterator.hpp b/3party/boost/boost/bimap/detail/set_view_iterator.hpp index 08d7a42b71..e785ed7af9 100644 --- a/3party/boost/boost/bimap/detail/set_view_iterator.hpp +++ b/3party/boost/boost/bimap/detail/set_view_iterator.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_DETAIL_SET_VIEW_ITERATOR_HPP #define BOOST_BIMAP_DETAIL_SET_VIEW_ITERATOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/test/check_metadata.hpp b/3party/boost/boost/bimap/detail/test/check_metadata.hpp old mode 100755 new mode 100644 index b669ee082d..dee81f8ebb --- a/3party/boost/boost/bimap/detail/test/check_metadata.hpp +++ b/3party/boost/boost/bimap/detail/test/check_metadata.hpp @@ -9,7 +9,7 @@ #ifndef BOOST_BIMAP_DETAIL_CHECK_METADATA_HPP #define BOOST_BIMAP_DETAIL_CHECK_METADATA_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/detail/user_interface_config.hpp b/3party/boost/boost/bimap/detail/user_interface_config.hpp old mode 100755 new mode 100644 index 1d9a8e8e15..5bdf41bf7e --- a/3party/boost/boost/bimap/detail/user_interface_config.hpp +++ b/3party/boost/boost/bimap/detail/user_interface_config.hpp @@ -13,7 +13,7 @@ #ifndef BOOST_BIMAP_DETAIL_USER_INTERFACE_CONFIG_HPP #define BOOST_BIMAP_DETAIL_USER_INTERFACE_CONFIG_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/list_of.hpp b/3party/boost/boost/bimap/list_of.hpp index 5865dd61e6..3bd6d379d6 100644 --- a/3party/boost/boost/bimap/list_of.hpp +++ b/3party/boost/boost/bimap/list_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_LIST_OF_HPP #define BOOST_BIMAP_LIST_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/multiset_of.hpp b/3party/boost/boost/bimap/multiset_of.hpp index 656cf48e31..5124631994 100644 --- a/3party/boost/boost/bimap/multiset_of.hpp +++ b/3party/boost/boost/bimap/multiset_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_MULTISET_OF_HPP #define BOOST_BIMAP_MULTISET_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/property_map/set_support.hpp b/3party/boost/boost/bimap/property_map/set_support.hpp index fec669e211..dcbad2f5ea 100644 --- a/3party/boost/boost/bimap/property_map/set_support.hpp +++ b/3party/boost/boost/bimap/property_map/set_support.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_PROPERTY_MAP_SET_SUPPORT_HPP #define BOOST_BIMAP_PROPERTY_MAP_SET_SUPPORT_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/property_map/unordered_set_support.hpp b/3party/boost/boost/bimap/property_map/unordered_set_support.hpp index b656e303cc..11e3e20b77 100644 --- a/3party/boost/boost/bimap/property_map/unordered_set_support.hpp +++ b/3party/boost/boost/bimap/property_map/unordered_set_support.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_PROPERTY_MAP_UNORDERED_SET_SUPPORT_HPP #define BOOST_BIMAP_PROPERTY_MAP_UNORDERED_SET_SUPPORT_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/detail/access_builder.hpp b/3party/boost/boost/bimap/relation/detail/access_builder.hpp old mode 100755 new mode 100644 index a1e939f827..49431d6e00 --- a/3party/boost/boost/bimap/relation/detail/access_builder.hpp +++ b/3party/boost/boost/bimap/relation/detail/access_builder.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_ACCESS_BUILDER_HPP #define BOOST_BIMAP_RELATION_ACCESS_BUILDER_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/detail/metadata_access_builder.hpp b/3party/boost/boost/bimap/relation/detail/metadata_access_builder.hpp old mode 100755 new mode 100644 index 4ef6cae938..785256c896 --- a/3party/boost/boost/bimap/relation/detail/metadata_access_builder.hpp +++ b/3party/boost/boost/bimap/relation/detail/metadata_access_builder.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_DETAIL_METADATA_ACCESS_BUILDER_HPP #define BOOST_BIMAP_RELATION_DETAIL_METADATA_ACCESS_BUILDER_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/detail/mutant.hpp b/3party/boost/boost/bimap/relation/detail/mutant.hpp index 8a2ffdeba0..f4ed982839 100644 --- a/3party/boost/boost/bimap/relation/detail/mutant.hpp +++ b/3party/boost/boost/bimap/relation/detail/mutant.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_DETAIL_MUTANT_HPP #define BOOST_BIMAP_RELATION_DETAIL_MUTANT_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/detail/static_access_builder.hpp b/3party/boost/boost/bimap/relation/detail/static_access_builder.hpp old mode 100755 new mode 100644 index 72f9925b0c..a2285c8412 --- a/3party/boost/boost/bimap/relation/detail/static_access_builder.hpp +++ b/3party/boost/boost/bimap/relation/detail/static_access_builder.hpp @@ -13,7 +13,7 @@ #ifndef BOOST_BIMAP_RELATION_DETAIL_STATIC_ACCESS_BUILDER_HPP #define BOOST_BIMAP_RELATION_DETAIL_STATIC_ACCESS_BUILDER_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/detail/to_mutable_relation_functor.hpp b/3party/boost/boost/bimap/relation/detail/to_mutable_relation_functor.hpp old mode 100755 new mode 100644 index 1e8b521044..f484d45b4e --- a/3party/boost/boost/bimap/relation/detail/to_mutable_relation_functor.hpp +++ b/3party/boost/boost/bimap/relation/detail/to_mutable_relation_functor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_DETAIL_TO_MUTABLE_RELATION_FUNCTOR_HPP #define BOOST_BIMAP_RELATION_DETAIL_TO_MUTABLE_RELATION_FUNCTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/member_at.hpp b/3party/boost/boost/bimap/relation/member_at.hpp old mode 100755 new mode 100644 index c39738fc2f..1a57d04e39 --- a/3party/boost/boost/bimap/relation/member_at.hpp +++ b/3party/boost/boost/bimap/relation/member_at.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_MEMBER_AT_HPP #define BOOST_BIMAP_RELATION_MEMBER_AT_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/mutant_relation.hpp b/3party/boost/boost/bimap/relation/mutant_relation.hpp index 60294a3b60..d6d41062c7 100644 --- a/3party/boost/boost/bimap/relation/mutant_relation.hpp +++ b/3party/boost/boost/bimap/relation/mutant_relation.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_MUTANT_RELATION_HPP #define BOOST_BIMAP_RELATION_MUTANT_RELATION_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif @@ -334,7 +334,7 @@ class mutant_relation : public template< class Tag > const BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support:: result_of::get::type - get(BOOST_EXPLICIT_TEMPLATE_TYPE(Tag)) const + get() const { return ::boost::bimaps::relation::support::get(*this); } @@ -342,7 +342,7 @@ class mutant_relation : public template< class Tag > BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support:: result_of::get::type - get(BOOST_EXPLICIT_TEMPLATE_TYPE(Tag)) + get() { return ::boost::bimaps::relation::support::get(*this); } diff --git a/3party/boost/boost/bimap/relation/pair_layout.hpp b/3party/boost/boost/bimap/relation/pair_layout.hpp old mode 100755 new mode 100644 index 24368db105..d012b9f455 --- a/3party/boost/boost/bimap/relation/pair_layout.hpp +++ b/3party/boost/boost/bimap/relation/pair_layout.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_PAIR_LAYOUT_HPP #define BOOST_BIMAP_RELATION_PAIR_LAYOUT_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/structured_pair.hpp b/3party/boost/boost/bimap/relation/structured_pair.hpp index 53a0b300bc..ba107b06dc 100644 --- a/3party/boost/boost/bimap/relation/structured_pair.hpp +++ b/3party/boost/boost/bimap/relation/structured_pair.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_STRUCTURED_PAIR_HPP #define BOOST_BIMAP_RELATION_STRUCTURED_PAIR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif @@ -337,7 +337,7 @@ class structured_pair : template< class Tag > const BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support:: result_of::get::type - get(BOOST_EXPLICIT_TEMPLATE_TYPE(Tag)) const + get() const { return ::boost::bimaps::relation::support::get(*this); } @@ -345,7 +345,7 @@ class structured_pair : template< class Tag > BOOST_DEDUCED_TYPENAME ::boost::bimaps::relation::support:: result_of::get::type - get(BOOST_EXPLICIT_TEMPLATE_TYPE(Tag)) + get() { return ::boost::bimaps::relation::support::get(*this); } diff --git a/3party/boost/boost/bimap/relation/support/data_extractor.hpp b/3party/boost/boost/bimap/relation/support/data_extractor.hpp index eab2db7ac8..10ec29862e 100644 --- a/3party/boost/boost/bimap/relation/support/data_extractor.hpp +++ b/3party/boost/boost/bimap/relation/support/data_extractor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SUPPORT_DATA_EXTRACTOR_HPP #define BOOST_BIMAP_RELATION_SUPPORT_DATA_EXTRACTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/support/get.hpp b/3party/boost/boost/bimap/relation/support/get.hpp old mode 100755 new mode 100644 index 3a3afde15d..48d7240f51 --- a/3party/boost/boost/bimap/relation/support/get.hpp +++ b/3party/boost/boost/bimap/relation/support/get.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SUPPORT_GET_HPP #define BOOST_BIMAP_RELATION_SUPPORT_GET_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/support/get_pair_functor.hpp b/3party/boost/boost/bimap/relation/support/get_pair_functor.hpp old mode 100755 new mode 100644 index 5f37bf6cfe..c3236279de --- a/3party/boost/boost/bimap/relation/support/get_pair_functor.hpp +++ b/3party/boost/boost/bimap/relation/support/get_pair_functor.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SUPPORT_GET_PAIR_FUNCTOR_HPP #define BOOST_BIMAP_RELATION_SUPPORT_GET_PAIR_FUNCTOR_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/support/is_tag_of_member_at.hpp b/3party/boost/boost/bimap/relation/support/is_tag_of_member_at.hpp old mode 100755 new mode 100644 index b2b1b7497b..69d1299eff --- a/3party/boost/boost/bimap/relation/support/is_tag_of_member_at.hpp +++ b/3party/boost/boost/bimap/relation/support/is_tag_of_member_at.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SUPPORT_IS_TAG_OF_MEMBER_AT_HPP #define BOOST_BIMAP_RELATION_SUPPORT_IS_TAG_OF_MEMBER_AT_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/support/member_with_tag.hpp b/3party/boost/boost/bimap/relation/support/member_with_tag.hpp old mode 100755 new mode 100644 index a8324ff281..1964f02909 --- a/3party/boost/boost/bimap/relation/support/member_with_tag.hpp +++ b/3party/boost/boost/bimap/relation/support/member_with_tag.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SUPPORT_MEMBER_WITH_TAG_HPP #define BOOST_BIMAP_RELATION_SUPPORT_MEMBER_WITH_TAG_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/support/opposite_tag.hpp b/3party/boost/boost/bimap/relation/support/opposite_tag.hpp old mode 100755 new mode 100644 index 174bd985c0..df30059995 --- a/3party/boost/boost/bimap/relation/support/opposite_tag.hpp +++ b/3party/boost/boost/bimap/relation/support/opposite_tag.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SUPPORT_OPPOSITE_TAG_HPP #define BOOST_BIMAP_RELATION_SUPPORT_OPPOSITE_TAG_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/support/pair_by.hpp b/3party/boost/boost/bimap/relation/support/pair_by.hpp old mode 100755 new mode 100644 index 1ce25fbe5c..7b8226d302 --- a/3party/boost/boost/bimap/relation/support/pair_by.hpp +++ b/3party/boost/boost/bimap/relation/support/pair_by.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SUPPORT_PAIR_BY_HPP #define BOOST_BIMAP_RELATION_SUPPORT_PAIR_BY_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/support/pair_type_by.hpp b/3party/boost/boost/bimap/relation/support/pair_type_by.hpp old mode 100755 new mode 100644 index 64f98d1ecc..9d9c1188ed --- a/3party/boost/boost/bimap/relation/support/pair_type_by.hpp +++ b/3party/boost/boost/bimap/relation/support/pair_type_by.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SUPPORT_PAIR_TYPE_BY_HPP #define BOOST_BIMAP_RELATION_SUPPORT_PAIR_TYPE_BY_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/support/value_type_of.hpp b/3party/boost/boost/bimap/relation/support/value_type_of.hpp old mode 100755 new mode 100644 index 9dc5761119..24ec2392e0 --- a/3party/boost/boost/bimap/relation/support/value_type_of.hpp +++ b/3party/boost/boost/bimap/relation/support/value_type_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SUPPORT_VALUE_TYPE_OF_HPP #define BOOST_BIMAP_RELATION_SUPPORT_VALUE_TYPE_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/relation/symmetrical_base.hpp b/3party/boost/boost/bimap/relation/symmetrical_base.hpp old mode 100755 new mode 100644 index ea787c3731..a81ab1dbf8 --- a/3party/boost/boost/bimap/relation/symmetrical_base.hpp +++ b/3party/boost/boost/bimap/relation/symmetrical_base.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_RELATION_SYMMETRICAL_BASE_HPP #define BOOST_BIMAP_RELATION_SYMMETRICAL_BASE_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/set_of.hpp b/3party/boost/boost/bimap/set_of.hpp index caffa21318..e8ca09dd2c 100644 --- a/3party/boost/boost/bimap/set_of.hpp +++ b/3party/boost/boost/bimap/set_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_SET_OF_HPP #define BOOST_BIMAP_SET_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/support/data_type_by.hpp b/3party/boost/boost/bimap/support/data_type_by.hpp old mode 100755 new mode 100644 index c6d2e2cc99..304597dbab --- a/3party/boost/boost/bimap/support/data_type_by.hpp +++ b/3party/boost/boost/bimap/support/data_type_by.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_SUPPORT_DATA_TYPE_BY_HPP #define BOOST_BIMAP_SUPPORT_DATA_TYPE_BY_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/support/iterator_type_by.hpp b/3party/boost/boost/bimap/support/iterator_type_by.hpp index 7141835042..e7cdb484b2 100644 --- a/3party/boost/boost/bimap/support/iterator_type_by.hpp +++ b/3party/boost/boost/bimap/support/iterator_type_by.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_SUPPORT_ITERATOR_TYPE_BY_HPP #define BOOST_BIMAP_SUPPORT_ITERATOR_TYPE_BY_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/support/key_type_by.hpp b/3party/boost/boost/bimap/support/key_type_by.hpp old mode 100755 new mode 100644 index 0b4abb5d28..581f3b221d --- a/3party/boost/boost/bimap/support/key_type_by.hpp +++ b/3party/boost/boost/bimap/support/key_type_by.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_SUPPORT_KEY_TYPE_BY_HPP #define BOOST_BIMAP_SUPPORT_KEY_TYPE_BY_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/support/lambda.hpp b/3party/boost/boost/bimap/support/lambda.hpp old mode 100755 new mode 100644 index cffa2c3f9d..c8c44ecc2e --- a/3party/boost/boost/bimap/support/lambda.hpp +++ b/3party/boost/boost/bimap/support/lambda.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_SUPPORT_LAMBDA_HPP #define BOOST_BIMAP_SUPPORT_LAMBDA_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/support/map_by.hpp b/3party/boost/boost/bimap/support/map_by.hpp old mode 100755 new mode 100644 index ac57f1bccc..1d41529393 --- a/3party/boost/boost/bimap/support/map_by.hpp +++ b/3party/boost/boost/bimap/support/map_by.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_SUPPORT_MAP_BY_HPP #define BOOST_BIMAP_SUPPORT_MAP_BY_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/support/map_type_by.hpp b/3party/boost/boost/bimap/support/map_type_by.hpp old mode 100755 new mode 100644 index 00b4d20be5..5727a76070 --- a/3party/boost/boost/bimap/support/map_type_by.hpp +++ b/3party/boost/boost/bimap/support/map_type_by.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_SUPPORT_MAP_TYPE_BY_HPP #define BOOST_BIMAP_SUPPORT_MAP_TYPE_BY_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/support/value_type_by.hpp b/3party/boost/boost/bimap/support/value_type_by.hpp old mode 100755 new mode 100644 index a7ce6c0e5d..b65dfc674f --- a/3party/boost/boost/bimap/support/value_type_by.hpp +++ b/3party/boost/boost/bimap/support/value_type_by.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_SUPPORT_VALUE_TYPE_BY_HPP #define BOOST_BIMAP_SUPPORT_VALUE_TYPE_BY_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/tags/support/apply_to_value_type.hpp b/3party/boost/boost/bimap/tags/support/apply_to_value_type.hpp old mode 100755 new mode 100644 index bb6aa60613..af6dacdca0 --- a/3party/boost/boost/bimap/tags/support/apply_to_value_type.hpp +++ b/3party/boost/boost/bimap/tags/support/apply_to_value_type.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_TAGS_SUPPORT_APPLY_TO_VALUE_TYPE_HPP #define BOOST_BIMAP_TAGS_SUPPORT_APPLY_TO_VALUE_TYPE_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/tags/support/default_tagged.hpp b/3party/boost/boost/bimap/tags/support/default_tagged.hpp old mode 100755 new mode 100644 index 4c02a65952..806ca20926 --- a/3party/boost/boost/bimap/tags/support/default_tagged.hpp +++ b/3party/boost/boost/bimap/tags/support/default_tagged.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_TAGS_SUPPORT_DEFAULT_TAGGED_HPP #define BOOST_BIMAP_TAGS_SUPPORT_DEFAULT_TAGGED_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/tags/support/is_tagged.hpp b/3party/boost/boost/bimap/tags/support/is_tagged.hpp old mode 100755 new mode 100644 index 892b3b1022..62fcf81080 --- a/3party/boost/boost/bimap/tags/support/is_tagged.hpp +++ b/3party/boost/boost/bimap/tags/support/is_tagged.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_TAGS_SUPPORT_IS_TAGGED_HPP #define BOOST_BIMAP_TAGS_SUPPORT_IS_TAGGED_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/tags/support/overwrite_tagged.hpp b/3party/boost/boost/bimap/tags/support/overwrite_tagged.hpp old mode 100755 new mode 100644 index 55cd0fc8e4..f3c49cc620 --- a/3party/boost/boost/bimap/tags/support/overwrite_tagged.hpp +++ b/3party/boost/boost/bimap/tags/support/overwrite_tagged.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_TAGS_SUPPORT_OVERWRITE_TAGGED_HPP #define BOOST_BIMAP_TAGS_SUPPORT_OVERWRITE_TAGGED_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/tags/support/tag_of.hpp b/3party/boost/boost/bimap/tags/support/tag_of.hpp old mode 100755 new mode 100644 index 413703b41c..48b90041b8 --- a/3party/boost/boost/bimap/tags/support/tag_of.hpp +++ b/3party/boost/boost/bimap/tags/support/tag_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_TAGS_SUPPORT_TAG_OF_HPP #define BOOST_BIMAP_TAGS_SUPPORT_TAG_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/tags/support/value_type_of.hpp b/3party/boost/boost/bimap/tags/support/value_type_of.hpp old mode 100755 new mode 100644 index a4ea82814c..e1e1760810 --- a/3party/boost/boost/bimap/tags/support/value_type_of.hpp +++ b/3party/boost/boost/bimap/tags/support/value_type_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_TAGS_SUPPORT_VALUE_TYPE_OF_HPP #define BOOST_BIMAP_TAGS_SUPPORT_VALUE_TYPE_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/tags/tagged.hpp b/3party/boost/boost/bimap/tags/tagged.hpp old mode 100755 new mode 100644 index ca2a24c2f9..0a48d0378a --- a/3party/boost/boost/bimap/tags/tagged.hpp +++ b/3party/boost/boost/bimap/tags/tagged.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_TAGS_TAGGED_HPP #define BOOST_BIMAP_TAGS_TAGGED_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/unconstrained_set_of.hpp b/3party/boost/boost/bimap/unconstrained_set_of.hpp index 0fcf94697a..107e1a555e 100644 --- a/3party/boost/boost/bimap/unconstrained_set_of.hpp +++ b/3party/boost/boost/bimap/unconstrained_set_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_UNCONSTRAINED_SET_OF_HPP #define BOOST_BIMAP_UNCONSTRAINED_SET_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/unordered_multiset_of.hpp b/3party/boost/boost/bimap/unordered_multiset_of.hpp index 3ff499d87a..1444a95272 100644 --- a/3party/boost/boost/bimap/unordered_multiset_of.hpp +++ b/3party/boost/boost/bimap/unordered_multiset_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_UNORDERED_MULTISET_OF_HPP #define BOOST_BIMAP_UNORDERED_MULTISET_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/unordered_set_of.hpp b/3party/boost/boost/bimap/unordered_set_of.hpp index 146b506a76..d94c5b0762 100644 --- a/3party/boost/boost/bimap/unordered_set_of.hpp +++ b/3party/boost/boost/bimap/unordered_set_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_UNORDERED_SET_OF_HPP #define BOOST_BIMAP_UNORDERED_SET_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/vector_of.hpp b/3party/boost/boost/bimap/vector_of.hpp index cacb41fe72..4ed3427c09 100644 --- a/3party/boost/boost/bimap/vector_of.hpp +++ b/3party/boost/boost/bimap/vector_of.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VECTOR_OF_HPP #define BOOST_BIMAP_VECTOR_OF_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/list_map_view.hpp b/3party/boost/boost/bimap/views/list_map_view.hpp index 1014fed846..9b0cf6f0ef 100644 --- a/3party/boost/boost/bimap/views/list_map_view.hpp +++ b/3party/boost/boost/bimap/views/list_map_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_LIST_MAP_VIEW_HPP #define BOOST_BIMAP_VIEWS_LIST_MAP_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/list_set_view.hpp b/3party/boost/boost/bimap/views/list_set_view.hpp index ce9c47d549..cfa52ab19e 100644 --- a/3party/boost/boost/bimap/views/list_set_view.hpp +++ b/3party/boost/boost/bimap/views/list_set_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_LIST_SET_VIEW_HPP #define BOOST_BIMAP_VIEWS_LIST_SET_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/map_view.hpp b/3party/boost/boost/bimap/views/map_view.hpp index b8c2e01afe..80820aab81 100644 --- a/3party/boost/boost/bimap/views/map_view.hpp +++ b/3party/boost/boost/bimap/views/map_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_MAP_VIEW_HPP #define BOOST_BIMAP_VIEWS_MAP_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/multimap_view.hpp b/3party/boost/boost/bimap/views/multimap_view.hpp index 08022e7c35..7beb92095d 100644 --- a/3party/boost/boost/bimap/views/multimap_view.hpp +++ b/3party/boost/boost/bimap/views/multimap_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_MULTIMAP_VIEW_HPP #define BOOST_BIMAP_VIEWS_MULTIMAP_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/multiset_view.hpp b/3party/boost/boost/bimap/views/multiset_view.hpp old mode 100755 new mode 100644 index c49230b2cb..6c93b484b9 --- a/3party/boost/boost/bimap/views/multiset_view.hpp +++ b/3party/boost/boost/bimap/views/multiset_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_MULTISET_VIEW_HPP #define BOOST_BIMAP_VIEWS_MULTISET_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/set_view.hpp b/3party/boost/boost/bimap/views/set_view.hpp old mode 100755 new mode 100644 index 8a857afc7b..de5e6da99d --- a/3party/boost/boost/bimap/views/set_view.hpp +++ b/3party/boost/boost/bimap/views/set_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_SET_VIEW_HPP #define BOOST_BIMAP_VIEWS_SET_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/unconstrained_map_view.hpp b/3party/boost/boost/bimap/views/unconstrained_map_view.hpp index b78a80ef1e..863c7df918 100644 --- a/3party/boost/boost/bimap/views/unconstrained_map_view.hpp +++ b/3party/boost/boost/bimap/views/unconstrained_map_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_UNCONSTRAINED_MAP_VIEW_HPP #define BOOST_BIMAP_VIEWS_UNCONSTRAINED_MAP_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/unconstrained_set_view.hpp b/3party/boost/boost/bimap/views/unconstrained_set_view.hpp index e4ada9d08c..35cf2e55d4 100644 --- a/3party/boost/boost/bimap/views/unconstrained_set_view.hpp +++ b/3party/boost/boost/bimap/views/unconstrained_set_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_UNCONSTRAINED_SET_VIEW_HPP #define BOOST_BIMAP_VIEWS_UNCONSTRAINED_SET_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/unordered_map_view.hpp b/3party/boost/boost/bimap/views/unordered_map_view.hpp index 90eeb1e719..c41fcbd9b4 100644 --- a/3party/boost/boost/bimap/views/unordered_map_view.hpp +++ b/3party/boost/boost/bimap/views/unordered_map_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_UNOREDERED_MAP_VIEW_HPP #define BOOST_BIMAP_VIEWS_UNOREDERED_MAP_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/unordered_multimap_view.hpp b/3party/boost/boost/bimap/views/unordered_multimap_view.hpp index ac4579cf91..17faf27322 100644 --- a/3party/boost/boost/bimap/views/unordered_multimap_view.hpp +++ b/3party/boost/boost/bimap/views/unordered_multimap_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_UNOREDERED_MULTIMAP_VIEW_HPP #define BOOST_BIMAP_VIEWS_UNOREDERED_MULTIMAP_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/unordered_multiset_view.hpp b/3party/boost/boost/bimap/views/unordered_multiset_view.hpp old mode 100755 new mode 100644 index 3a72e36c79..d1d137d0eb --- a/3party/boost/boost/bimap/views/unordered_multiset_view.hpp +++ b/3party/boost/boost/bimap/views/unordered_multiset_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_UNORDERED_MULTISET_VIEW_HPP #define BOOST_BIMAP_VIEWS_UNORDERED_MULTISET_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/unordered_set_view.hpp b/3party/boost/boost/bimap/views/unordered_set_view.hpp old mode 100755 new mode 100644 index 02187aef2a..c2a8ae3b5e --- a/3party/boost/boost/bimap/views/unordered_set_view.hpp +++ b/3party/boost/boost/bimap/views/unordered_set_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_UNORDERED_SET_VIEW_HPP #define BOOST_BIMAP_VIEWS_UNORDERED_SET_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/vector_map_view.hpp b/3party/boost/boost/bimap/views/vector_map_view.hpp index d8fdd8d82b..a22bb57f39 100644 --- a/3party/boost/boost/bimap/views/vector_map_view.hpp +++ b/3party/boost/boost/bimap/views/vector_map_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_VECTOR_MAP_VIEW_HPP #define BOOST_BIMAP_VIEWS_VECTOR_MAP_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bimap/views/vector_set_view.hpp b/3party/boost/boost/bimap/views/vector_set_view.hpp index 890ffd02a9..207ca7d2a1 100644 --- a/3party/boost/boost/bimap/views/vector_set_view.hpp +++ b/3party/boost/boost/bimap/views/vector_set_view.hpp @@ -12,7 +12,7 @@ #ifndef BOOST_BIMAP_VIEWS_VECTOR_SET_VIEW_HPP #define BOOST_BIMAP_VIEWS_VECTOR_SET_VIEW_HPP -#if defined(_MSC_VER) && (_MSC_VER>=1200) +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/bind/bind.hpp b/3party/boost/boost/bind/bind.hpp index fb670979d3..fd05131236 100644 --- a/3party/boost/boost/bind/bind.hpp +++ b/3party/boost/boost/bind/bind.hpp @@ -29,6 +29,8 @@ #include #include #include +#include +#include // Borland-specific bug, visit_each() silently fails to produce code @@ -859,7 +861,295 @@ public: // bind_t -#ifndef BOOST_NO_VOID_RETURNS +#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) + +template< class A > struct list_add_cref +{ + typedef A const & type; +}; + +template< class A > struct list_add_cref< A& > +{ + typedef A & type; +}; + +template class bind_t +{ +private: + + F f_; + L l_; + +public: + + typedef typename result_traits::type result_type; + typedef bind_t this_type; + + bind_t( F f, L const & l ): f_( f ), l_( l ) {} + + // + + result_type operator()() + { + list0 a; + return l_( type(), f_, a, 0 ); + } + + result_type operator()() const + { + list0 a; + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1 ) + { + list1< typename list_add_cref::type > a( a1 ); + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1 ) const + { + list1< typename list_add_cref::type > a( a1 ); + return l_(type(), f_, a, 0); + } + + template result_type operator()( A1 && a1, A2 && a2 ) + { + list2< typename list_add_cref::type, typename list_add_cref::type > a( a1, a2 ); + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2 ) const + { + list2< typename list_add_cref::type, typename list_add_cref::type > a( a1, a2 ); + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3 ) + { + list3< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3 ) const + { + list3< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 ) + { + list4< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4 ) const + { + list4< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 ) + { + list5< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5 ) const + { + list5< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 ) + { + list6< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5, a6 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6 ) const + { + list6< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5, a6 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 ) + { + list7< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5, a6, a7 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7 ) const + { + list7< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5, a6, a7 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 ) + { + list8< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5, a6, a7, a8 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8 ) const + { + list8< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5, a6, a7, a8 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 ) + { + list9< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 ); + + return l_( type(), f_, a, 0 ); + } + + template result_type operator()( A1 && a1, A2 && a2, A3 && a3, A4 && a4, A5 && a5, A6 && a6, A7 && a7, A8 && a8, A9 && a9 ) const + { + list9< + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type, + typename list_add_cref::type + > a( a1, a2, a3, a4, a5, a6, a7, a8, a9 ); + + return l_( type(), f_, a, 0 ); + } + + // + + template result_type eval( A & a ) + { + return l_( type(), f_, a, 0 ); + } + + template result_type eval( A & a ) const + { + return l_( type(), f_, a, 0 ); + } + + template void accept( V & v ) const + { +#if !defined( BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP ) && !defined( __BORLANDC__ ) + using boost::visit_each; +#endif + + BOOST_BIND_VISIT_EACH( v, f_, 0 ); + l_.accept( v ); + } + + bool compare( this_type const & rhs ) const + { + return ref_compare( f_, rhs.f_, 0 ) && l_ == rhs.l_; + } +}; + +#elif !defined( BOOST_NO_VOID_RETURNS ) template class bind_t { @@ -875,7 +1165,7 @@ public: }; -#else +#else // no void returns template struct bind_t_generator { diff --git a/3party/boost/boost/bind/bind_mf_cc.hpp b/3party/boost/boost/bind/bind_mf_cc.hpp index 88be8222f3..e149384ff5 100644 --- a/3party/boost/boost/bind/bind_mf_cc.hpp +++ b/3party/boost/boost/bind/bind_mf_cc.hpp @@ -34,6 +34,28 @@ template(F(f), list_type(a1)); } +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_1::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (), A1 a1) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf0) F; + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t(F(f), list_type(a1)); +} + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_1::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) () const, A1 a1) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf0) F; + typedef typename _bi::list_av_1::type list_type; + return _bi::bind_t(F(f), list_type(a1)); +} + // 1 template(F(f), list_type(a1, a2)); } +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_2::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1), A1 a1, A2 a2) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf1) F; + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2)); +} + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_2::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1) const, A1 a1, A2 a2) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf1) F; + typedef typename _bi::list_av_2::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2)); +} + // 2 template(F(f), list_type(a1, a2, a3)); } +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_3::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2), A1 a1, A2 a2, A3 a3) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf2) F; + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3)); +} + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_3::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2) const, A1 a1, A2 a2, A3 a3) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf2) F; + typedef typename _bi::list_av_3::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3)); +} + // 3 template(F(f), list_type(a1, a2, a3, a4)); } +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_4::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3), A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf3) F; + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); +} + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_4::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3) const, A1 a1, A2 a2, A3 a3, A4 a4) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf3) F; + typedef typename _bi::list_av_4::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4)); +} + // 4 template(F(f), list_type(a1, a2, a3, a4, a5)); } +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_5::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf4) F; + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); +} + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_5::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf4) F; + typedef typename _bi::list_av_5::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5)); +} + // 5 template(F(f), list_type(a1, a2, a3, a4, a5, a6)); } +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_6::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf5) F; + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); +} + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_6::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf5) F; + typedef typename _bi::list_av_6::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6)); +} + // 6 template(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); } +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_7::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf6) F; + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); +} + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_7::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf6) F; + typedef typename _bi::list_av_7::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7)); +} + // 7 template(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); } +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_8::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf7) F; + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_8::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf7) F; + typedef typename _bi::list_av_8::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8)); +} + // 8 template::type list_type; return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); } + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_9::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef _mfi::BOOST_BIND_MF_NAME(mf8) F; + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} + +template + typename boost::enable_if_c::value, + _bi::bind_t, typename _bi::list_av_9::type> + >::type BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5, B6, B7, B8) const, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7, A8 a8, A9 a9) +{ + typedef _mfi::BOOST_BIND_MF_NAME(cmf8) F; + typedef typename _bi::list_av_9::type list_type; + return _bi::bind_t(F(f), list_type(a1, a2, a3, a4, a5, a6, a7, a8, a9)); +} diff --git a/3party/boost/boost/chrono/detail/scan_keyword.hpp b/3party/boost/boost/chrono/detail/scan_keyword.hpp index 7c3ba6e2af..aa4e2e87b9 100644 --- a/3party/boost/boost/chrono/detail/scan_keyword.hpp +++ b/3party/boost/boost/chrono/detail/scan_keyword.hpp @@ -19,14 +19,14 @@ #include -#include +#include #include #include #include #include namespace boost { - using interprocess::unique_ptr; + using movelib::unique_ptr; namespace chrono { namespace chrono_detail { diff --git a/3party/boost/boost/chrono/duration.hpp b/3party/boost/boost/chrono/duration.hpp index 814adb0e91..a2110bf411 100644 --- a/3party/boost/boost/chrono/duration.hpp +++ b/3party/boost/boost/chrono/duration.hpp @@ -433,8 +433,12 @@ namespace chrono { rep rep_; public: +#if defined BOOST_NO_CXX11_DEFAULTED_FUNCTIONS BOOST_FORCEINLINE BOOST_CONSTEXPR duration() : rep_(duration_values::zero()) { } +#else + BOOST_CONSTEXPR duration() BOOST_NOEXCEPT {}; +#endif template BOOST_SYMBOL_VISIBLE BOOST_FORCEINLINE BOOST_CONSTEXPR explicit duration(const Rep2& r @@ -451,14 +455,15 @@ namespace chrono { > >::type* = 0 ) : rep_(r) { } - //~duration() {} //= default; -// BOOST_CONSTEXPR duration(const duration& rhs) : rep_(rhs.rep_) {} // = default; - duration& operator=(const duration& rhs) // = default; +#if defined BOOST_NO_CXX11_DEFAULTED_FUNCTIONS + duration& operator=(const duration& rhs) { if (&rhs != this) rep_= rhs.rep_; return *this; } - +#else + duration& operator=(const duration& rhs) = default; +#endif // conversions template BOOST_FORCEINLINE BOOST_CONSTEXPR diff --git a/3party/boost/boost/chrono/io/duration_get.hpp b/3party/boost/boost/chrono/io/duration_get.hpp index ce3075b7b3..5a0a875037 100644 --- a/3party/boost/boost/chrono/io/duration_get.hpp +++ b/3party/boost/boost/chrono/io/duration_get.hpp @@ -14,7 +14,7 @@ #include #include #include -#include +#include #include #include #include @@ -58,7 +58,7 @@ namespace boost typedef typename common_type::type common_type_t; // Reduce r * num / den - common_type_t t = math::gcd(common_type_t(r), common_type_t(den)); + common_type_t t = integer::gcd(common_type_t(r), common_type_t(den)); r /= t; den /= t; if (den != 1) @@ -278,8 +278,8 @@ namespace boost // r should be multiplied by (num/den) / Period // Reduce (num/den) / Period to lowest terms - unsigned long long gcd_n1_n2 = math::gcd(num, Period::num); - unsigned long long gcd_d1_d2 = math::gcd(den, Period::den); + unsigned long long gcd_n1_n2 = integer::gcd(num, Period::num); + unsigned long long gcd_d1_d2 = integer::gcd(den, Period::den); num /= gcd_n1_n2; den /= gcd_d1_d2; unsigned long long n2 = Period::num / gcd_n1_n2; diff --git a/3party/boost/boost/chrono/io/duration_io.hpp b/3party/boost/boost/chrono/io/duration_io.hpp index 438f7696db..34004484f3 100644 --- a/3party/boost/boost/chrono/io/duration_io.hpp +++ b/3party/boost/boost/chrono/io/duration_io.hpp @@ -18,8 +18,11 @@ #include #include #include +#include +#include #include #include +#include namespace boost { @@ -71,19 +74,19 @@ namespace boost * Store a reference to the i/o stream and the value of the associated @c duration_style. */ explicit duration_style_io_saver(state_type &s) : - s_save_(s) + s_save_(s), a_save_(get_duration_style(s)) { - a_save_ = get_duration_style(s_save_); } /** * Construction from an i/o stream and a @c duration_style to restore. * - * Stores a reference to the i/o stream and the value @c duration_style to restore given as parameter. + * Stores a reference to the i/o stream and the value @c new_value @c duration_style to set. */ duration_style_io_saver(state_type &s, aspect_type new_value) : - s_save_(s), a_save_(new_value) + s_save_(s), a_save_(get_duration_style(s)) { + set_duration_style(s, new_value); } /** @@ -111,14 +114,81 @@ namespace boost aspect_type a_save_; }; + template + struct duration_put_enabled + : integral_constant::value || is_floating_point::value + > + {}; + + /** * duration stream inserter * @param os the output stream * @param d to value to insert * @return @c os */ + template - std::basic_ostream& + typename boost::enable_if_c< ! duration_put_enabled::value, std::basic_ostream& >::type + operator<<(std::basic_ostream& os, const duration& d) + { + std::basic_ostringstream ostr; + ostr << d.count(); + duration dd(0); + bool failed = false; + BOOST_TRY + { + std::ios_base::iostate err = std::ios_base::goodbit; + BOOST_TRY + { + typename std::basic_ostream::sentry opfx(os); + if (bool(opfx)) + { + if (!std::has_facet >(os.getloc())) + { + if (duration_put ().put(os, os, os.fill(), dd, ostr.str().c_str()) .failed()) + { + err = std::ios_base::badbit; + } + } + else if (std::use_facet >(os.getloc()) .put(os, os, os.fill(), dd, ostr.str().c_str()) .failed()) + { + err = std::ios_base::badbit; + } + os.width(0); + } + } + BOOST_CATCH(...) + { + bool flag = false; + BOOST_TRY + { + os.setstate(std::ios_base::failbit); + } + BOOST_CATCH (std::ios_base::failure ) + { + flag = true; + } + BOOST_CATCH_END + if (flag) throw; + } + BOOST_CATCH_END + if (err) os.setstate(err); + return os; + } + BOOST_CATCH(...) + { + failed = true; + } + BOOST_CATCH_END + if (failed) os.setstate(std::ios_base::failbit | std::ios_base::badbit); + return os; + + } + + template + typename boost::enable_if_c< duration_put_enabled::value, std::basic_ostream& >::type operator<<(std::basic_ostream& os, const duration& d) { bool failed = false; diff --git a/3party/boost/boost/chrono/io/duration_put.hpp b/3party/boost/boost/chrono/io/duration_put.hpp index 81c13cf40e..623eae1bf6 100644 --- a/3party/boost/boost/chrono/io/duration_put.hpp +++ b/3party/boost/boost/chrono/io/duration_put.hpp @@ -22,6 +22,17 @@ namespace boost namespace chrono { + namespace detail + { + template + struct propagate { + typedef T type; + }; + template <> + struct propagate { + typedef boost::int_least64_t type; + }; + } /** * @tparam ChatT a character type * @tparam OutputIterator a model of @c OutputIterator @@ -91,24 +102,24 @@ namespace boost */ template iter_type put(iter_type s, std::ios_base& ios, char_type fill, duration const& d, const CharT* pattern, - const CharT* pat_end) const + const CharT* pat_end, const char_type* val = 0) const { if (std::has_facet >(ios.getloc())) { duration_units const&facet = std::use_facet >( ios.getloc()); - return put(facet, s, ios, fill, d, pattern, pat_end); + return put(facet, s, ios, fill, d, pattern, pat_end, val); } else { duration_units_default facet; - return put(facet, s, ios, fill, d, pattern, pat_end); + return put(facet, s, ios, fill, d, pattern, pat_end, val); } } template iter_type put(duration_units const& units_facet, iter_type s, std::ios_base& ios, char_type fill, - duration const& d, const CharT* pattern, const CharT* pat_end) const + duration const& d, const CharT* pattern, const CharT* pat_end, const char_type* val = 0) const { const std::ctype& ct = std::use_facet >(ios.getloc()); @@ -126,7 +137,7 @@ namespace boost { case 'v': { - s = put_value(s, ios, fill, d); + s = put_value(s, ios, fill, d, val); break; } case 'u': @@ -159,20 +170,21 @@ namespace boost * @Returns An iterator pointing immediately after the last character produced. */ template - iter_type put(iter_type s, std::ios_base& ios, char_type fill, duration const& d) const + iter_type put(iter_type s, std::ios_base& ios, char_type fill, duration const& d, const char_type* val = 0) const { if (std::has_facet >(ios.getloc())) { duration_units const&facet = std::use_facet >( ios.getloc()); std::basic_string str = facet.get_pattern(); - return put(facet, s, ios, fill, d, str.data(), str.data() + str.size()); + return put(facet, s, ios, fill, d, str.data(), str.data() + str.size(), val); } else { duration_units_default facet; std::basic_string str = facet.get_pattern(); - return put(facet, s, ios, fill, d, str.data(), str.data() + str.size()); + + return put(facet, s, ios, fill, d, str.data(), str.data() + str.size(), val); } } @@ -186,14 +198,22 @@ namespace boost * @Returns s, iterator pointing immediately after the last character produced. */ template - iter_type put_value(iter_type s, std::ios_base& ios, char_type fill, duration const& d) const + iter_type put_value(iter_type s, std::ios_base& ios, char_type fill, duration const& d, const char_type* val = 0) const { + if (val) + { + while (*val) { + *s = *val; + s++; val++; + } + return s; + } return std::use_facet >(ios.getloc()).put(s, ios, fill, - static_cast (d.count())); + static_cast::type> (d.count())); } template - iter_type put_value(iter_type s, std::ios_base& ios, char_type fill, duration, Period> const& d) const + iter_type put_value(iter_type s, std::ios_base& ios, char_type fill, duration, Period> const& d, const char_type* = 0) const { *s++ = CharT('{'); s = put_value(s, ios, fill, process_real_cpu_clock::duration(d.count().real)); diff --git a/3party/boost/boost/chrono/io/time_point_io.hpp b/3party/boost/boost/chrono/io/time_point_io.hpp index 629479cde9..ec4ba13aeb 100644 --- a/3party/boost/boost/chrono/io/time_point_io.hpp +++ b/3party/boost/boost/chrono/io/time_point_io.hpp @@ -527,7 +527,9 @@ namespace boost { //! the type of the state to restore - typedef std::basic_ostream state_type; + //typedef std::basic_ostream state_type; + typedef std::ios_base state_type; + //! the type of aspect to save typedef std::basic_string aspect_type; @@ -537,7 +539,7 @@ namespace boost * Store a reference to the i/o stream and the value of the associated @c time format . */ explicit time_fmt_io_saver(state_type &s) : - s_save_(s), a_save_(get_time_fmt(s_save_)) + s_save_(s), a_save_(get_time_fmt(s_save_)) { } @@ -547,8 +549,9 @@ namespace boost * Stores a reference to the i/o stream and the value @c new_value to restore given as parameter. */ time_fmt_io_saver(state_type &s, aspect_type new_value) : - s_save_(s), a_save_(new_value) + s_save_(s), a_save_(get_time_fmt(s_save_)) { + set_time_fmt(s_save_, new_value); } /** @@ -566,7 +569,7 @@ namespace boost */ void restore() { - set_time_fmt(a_save_, a_save_); + set_time_fmt(s_save_, a_save_); } private: state_type& s_save_; @@ -602,8 +605,9 @@ namespace boost * Stores a reference to the i/o stream and the value @c new_value to restore given as parameter. */ timezone_io_saver(state_type &s, aspect_type new_value) : - s_save_(s), a_save_(new_value) + s_save_(s), a_save_(get_timezone(s_save_)) { + set_timezone(s_save_, new_value); } /** diff --git a/3party/boost/boost/chrono/io_v1/chrono_io.hpp b/3party/boost/boost/chrono/io_v1/chrono_io.hpp index 1a7e832b5b..12d9f5436f 100644 --- a/3party/boost/boost/chrono/io_v1/chrono_io.hpp +++ b/3party/boost/boost/chrono/io_v1/chrono_io.hpp @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include #include @@ -241,7 +241,7 @@ reduce(intermediate_type& r, unsigned long long& den, std::ios_base::iostate& er typedef typename common_type::type common_type_t; // Reduce r * num / den - common_type_t t = math::gcd(common_type_t(r), common_type_t(den)); + common_type_t t = integer::gcd(common_type_t(r), common_type_t(den)); r /= t; den /= t; if (den != 1) @@ -504,8 +504,8 @@ operator>>(std::basic_istream& is, duration& d) // unit is num/den // r should be multiplied by (num/den) / Period // Reduce (num/den) / Period to lowest terms - unsigned long long gcd_n1_n2 = math::gcd(num, Period::num); - unsigned long long gcd_d1_d2 = math::gcd(den, Period::den); + unsigned long long gcd_n1_n2 = integer::gcd(num, Period::num); + unsigned long long gcd_d1_d2 = integer::gcd(den, Period::den); num /= gcd_n1_n2; den /= gcd_d1_d2; unsigned long long n2 = Period::num / gcd_n1_n2; diff --git a/3party/boost/boost/circular_buffer/base.hpp b/3party/boost/boost/circular_buffer/base.hpp index 13c5d4b972..cf0453031e 100644 --- a/3party/boost/boost/circular_buffer/base.hpp +++ b/3party/boost/boost/circular_buffer/base.hpp @@ -175,23 +175,6 @@ public: typedef BOOST_RV_REF(value_type) rvalue_type; private: - - // TODO: move to Boost.Move - /*! \cond */ - template - static inline typename boost::conditional< - ((boost::is_nothrow_move_constructible::value && boost::is_nothrow_move_assignable::value) || !boost::is_copy_constructible::value) -#if defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - && has_move_emulation_enabled::value -#endif - , - rvalue_type, - param_value_type - >::type move_if_noexcept(ValT& value) BOOST_NOEXCEPT { - return boost::move(value); - } - /*! \endcond */ - // Member variables //! The internal buffer used for storing elements in the circular buffer. @@ -682,11 +665,11 @@ public: break; } if (is_uninitialized(dest)) { - boost::container::allocator_traits::construct(m_alloc, boost::addressof(*dest), this_type::move_if_noexcept(*src)); + boost::container::allocator_traits::construct(m_alloc, boost::addressof(*dest), boost::move_if_noexcept(*src)); ++constructed; } else { - value_type tmp = this_type::move_if_noexcept(*src); - replace(src, this_type::move_if_noexcept(*dest)); + value_type tmp = boost::move_if_noexcept(*src); + replace(src, boost::move_if_noexcept(*dest)); replace(dest, boost::move(tmp)); } } @@ -761,12 +744,12 @@ public: difference_type n = new_begin - begin(); if (m < n) { for (; m > 0; --m) { - push_front(this_type::move_if_noexcept(back())); + push_front(boost::move_if_noexcept(back())); pop_back(); } } else { for (; n > 0; --n) { - push_back(this_type::move_if_noexcept(front())); + push_back(boost::move_if_noexcept(front())); pop_front(); } } @@ -1878,7 +1861,7 @@ private: bool construct = !full(); BOOST_TRY { while (src != pos.m_it) { - construct_or_replace(construct, dest, this_type::move_if_noexcept(*src)); + construct_or_replace(construct, dest, boost::move_if_noexcept(*src)); increment(src); increment(dest); construct = false; @@ -2125,7 +2108,7 @@ public: pointer next = pos.m_it; increment(next); for (pointer p = pos.m_it; next != m_last; p = next, increment(next)) - replace(p, this_type::move_if_noexcept(*next)); + replace(p, boost::move_if_noexcept(*next)); decrement(m_last); destroy_item(m_last); --m_size; @@ -2164,7 +2147,7 @@ public: return first; pointer p = first.m_it; while (last.m_it != 0) - replace((first++).m_it, this_type::move_if_noexcept(*last++)); + replace((first++).m_it, boost::move_if_noexcept(*last++)); do { decrement(m_last); destroy_item(m_last); @@ -2202,7 +2185,7 @@ public: pointer prev = pos.m_it; pointer p = prev; for (decrement(prev); p != m_first; p = prev, decrement(prev)) - replace(p, this_type::move_if_noexcept(*prev)); + replace(p, boost::move_if_noexcept(*prev)); destroy_item(m_first); increment(m_first); --m_size; @@ -2247,7 +2230,7 @@ public: while (first.m_it != m_first) { decrement(first.m_it); decrement(p); - replace(p, this_type::move_if_noexcept(*first.m_it)); + replace(p, boost::move_if_noexcept(*first.m_it)); } do { destroy_item(m_first); @@ -2771,7 +2754,7 @@ private: BOOST_TRY { while (src != p) { decrement(src); - construct_or_replace(construct, dest, this_type::move_if_noexcept(*src)); + construct_or_replace(construct, dest, boost::move_if_noexcept(*src)); decrement(dest); construct = false; } diff --git a/3party/boost/boost/circular_buffer_fwd.hpp b/3party/boost/boost/circular_buffer_fwd.hpp index 6fdb43e037..621fb953e2 100644 --- a/3party/boost/boost/circular_buffer_fwd.hpp +++ b/3party/boost/boost/circular_buffer_fwd.hpp @@ -11,7 +11,7 @@ #if !defined(BOOST_CIRCULAR_BUFFER_FWD_HPP) #define BOOST_CIRCULAR_BUFFER_FWD_HPP -#if defined(_MSC_VER) && _MSC_VER >= 1200 +#if defined(_MSC_VER) #pragma once #endif diff --git a/3party/boost/boost/concept/detail/concept_undef.hpp b/3party/boost/boost/concept/detail/concept_undef.hpp old mode 100755 new mode 100644 diff --git a/3party/boost/boost/concept/detail/general.hpp b/3party/boost/boost/concept/detail/general.hpp index c88a1edd3a..525ea656c2 100644 --- a/3party/boost/boost/concept/detail/general.hpp +++ b/3party/boost/boost/concept/detail/general.hpp @@ -4,6 +4,7 @@ #ifndef BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP # define BOOST_CONCEPT_DETAIL_GENERAL_DWA2006429_HPP +# include # include # include @@ -65,19 +66,11 @@ struct requirement_ # endif -// Version check from https://svn.boost.org/trac/boost/changeset/82886 -// (boost/static_assert.hpp) -#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7))) -#define BOOST_CONCEPT_UNUSED_TYPEDEF __attribute__((unused)) -#else -#define BOOST_CONCEPT_UNUSED_TYPEDEF /**/ -#endif - # define BOOST_CONCEPT_ASSERT_FN( ModelFnPtr ) \ typedef ::boost::concepts::detail::instantiate< \ &::boost::concepts::requirement_::failed> \ BOOST_PP_CAT(boost_concept_check,__LINE__) \ - BOOST_CONCEPT_UNUSED_TYPEDEF + BOOST_ATTRIBUTE_UNUSED }} diff --git a/3party/boost/boost/concept_check.hpp b/3party/boost/boost/concept_check.hpp index 292f37d3b2..2d6fa32332 100644 --- a/3party/boost/boost/concept_check.hpp +++ b/3party/boost/boost/concept_check.hpp @@ -818,9 +818,8 @@ namespace boost BOOST_CONCEPT_USAGE(Sequence) { S - c(n), - c2(n, t), - c3(first, last); + c(n, t), + c2(first, last); c.insert(p, t); c.insert(p, n, t); @@ -833,7 +832,6 @@ namespace boost ignore_unused_variable_warning(c); ignore_unused_variable_warning(c2); - ignore_unused_variable_warning(c3); ignore_unused_variable_warning(r); const_constraints(c); } diff --git a/3party/boost/boost/concept_check/borland.hpp b/3party/boost/boost/concept_check/borland.hpp old mode 100755 new mode 100644 diff --git a/3party/boost/boost/concept_check/general.hpp b/3party/boost/boost/concept_check/general.hpp old mode 100755 new mode 100644 diff --git a/3party/boost/boost/concept_check/has_constraints.hpp b/3party/boost/boost/concept_check/has_constraints.hpp old mode 100755 new mode 100644 diff --git a/3party/boost/boost/concept_check/msvc.hpp b/3party/boost/boost/concept_check/msvc.hpp old mode 100755 new mode 100644 diff --git a/3party/boost/boost/config/auto_link.hpp b/3party/boost/boost/config/auto_link.hpp index 13cbad4360..56a16b0b38 100644 --- a/3party/boost/boost/config/auto_link.hpp +++ b/3party/boost/boost/config/auto_link.hpp @@ -156,11 +156,16 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. // vc11: # define BOOST_LIB_TOOLSET "vc110" -# elif defined(BOOST_MSVC) +# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900) // vc12: # define BOOST_LIB_TOOLSET "vc120" +# elif defined(BOOST_MSVC) + + // vc14: +# define BOOST_LIB_TOOLSET "vc140" + # elif defined(__BORLANDC__) // CBuilder 6: @@ -382,6 +387,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y. # ifdef BOOST_LIB_DIAGNOSTIC # pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib") # endif +#elif defined(BOOST_LIB_BUILDID) +# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") +# ifdef BOOST_LIB_DIAGNOSTIC +# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) ".lib") +# endif #else # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT "-" BOOST_LIB_VERSION ".lib") # ifdef BOOST_LIB_DIAGNOSTIC diff --git a/3party/boost/boost/config/compiler/borland.hpp b/3party/boost/boost/config/compiler/borland.hpp index d2a09024d8..80dd230034 100644 --- a/3party/boost/boost/config/compiler/borland.hpp +++ b/3party/boost/boost/config/compiler/borland.hpp @@ -195,6 +195,36 @@ #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif #if __BORLANDC__ >= 0x590 # define BOOST_HAS_TR1_HASH diff --git a/3party/boost/boost/config/compiler/clang.hpp b/3party/boost/boost/config/compiler/clang.hpp index 6a178242d7..47ea65b0a2 100644 --- a/3party/boost/boost/config/compiler/clang.hpp +++ b/3party/boost/boost/config/compiler/clang.hpp @@ -10,6 +10,11 @@ #define BOOST_HAS_PRAGMA_ONCE +// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used. +#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) +# define BOOST_HAS_PRAGMA_DETECT_MISMATCH +#endif + // When compiling with clang before __has_extension was defined, // even if one writes 'defined(__has_extension) && __has_extension(xxx)', // clang reports a compiler error. So the only workaround found is: @@ -47,7 +52,15 @@ // Clang supports "long long" in all compilation modes. #define BOOST_HAS_LONG_LONG -#if defined(__SIZEOF_INT128__) +// +// We disable this if the compiler is really nvcc as it +// doesn't actually support __int128 as of CUDA_VERSION=5000 +// even though it defines __SIZEOF_INT128__. +// See https://svn.boost.org/trac/boost/ticket/10418 +// Only re-enable this for nvcc if you're absolutely sure +// of the circumstances under which it's supported: +// +#if defined(__SIZEOF_INT128__) && !defined(__CUDACC__) # define BOOST_HAS_INT128 #endif @@ -176,7 +189,7 @@ # define BOOST_NO_CXX11_USER_DEFINED_LITERALS #endif -#if !(__has_feature(cxx_alignas) || __has_extension(cxx_alignas)) +#if !__has_feature(cxx_alignas) # define BOOST_NO_CXX11_ALIGNAS #endif @@ -188,8 +201,66 @@ # define BOOST_NO_CXX11_INLINE_NAMESPACES #endif -// Clang always supports variadic macros -// Clang always supports extern templates +#if !__has_feature(cxx_override_control) +# define BOOST_NO_CXX11_FINAL +#endif + +#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif + +#if !__has_feature(__cxx_decltype_auto__) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif + +#if !__has_feature(__cxx_aggregate_nsdmi__) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif + +#if !__has_feature(__cxx_init_captures__) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif + +#if !__has_feature(__cxx_generic_lambdas__) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif + +// clang < 3.5 has a defect with dependent type, like following. +// +// template +// constexpr typename enable_if >::type foo(T &) +// { } // error: no return statement in constexpr function +// +// This issue also affects C++11 mode, but C++11 constexpr requires return stmt. +// Therefore we don't care such case. +// +// Note that we can't check Clang version directly as the numbering system changes depending who's +// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873) +// so instead verify that we have a feature that was introduced at the same time as working C++14 +// constexpr (generic lambda's in this case): +// +#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) +# define BOOST_NO_CXX14_CONSTEXPR +#endif + +#if !__has_feature(__cxx_return_type_deduction__) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif + +#if !__has_feature(__cxx_variable_templates__) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +#if __cplusplus < 201400 +// All versions with __cplusplus above this value seem to support this: +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif + + +// Unused attribute: +#if defined(__GNUC__) && (__GNUC__ >= 4) +# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused)) +#endif #ifndef BOOST_COMPILER # define BOOST_COMPILER "Clang version " __clang_version__ diff --git a/3party/boost/boost/config/compiler/codegear.hpp b/3party/boost/boost/config/compiler/codegear.hpp index 6b52282f66..02bd792a15 100644 --- a/3party/boost/boost/config/compiler/codegear.hpp +++ b/3party/boost/boost/config/compiler/codegear.hpp @@ -121,6 +121,36 @@ #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif // // TR1 macros: diff --git a/3party/boost/boost/config/compiler/common_edg.hpp b/3party/boost/boost/config/compiler/common_edg.hpp index d5589adde1..b92e574d60 100644 --- a/3party/boost/boost/config/compiler/common_edg.hpp +++ b/3party/boost/boost/config/compiler/common_edg.hpp @@ -105,6 +105,36 @@ #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif #ifdef c_plusplus // EDG has "long long" in non-strict mode diff --git a/3party/boost/boost/config/compiler/cray.hpp b/3party/boost/boost/config/compiler/cray.hpp index 94e932b8d9..3f66043357 100644 --- a/3party/boost/boost/config/compiler/cray.hpp +++ b/3party/boost/boost/config/compiler/cray.hpp @@ -59,6 +59,9 @@ #define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL + + //#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG #define BOOST_MATH_DISABLE_STD_FPCLASSIFY //#define BOOST_HAS_FPCLASSIFY diff --git a/3party/boost/boost/config/compiler/digitalmars.hpp b/3party/boost/boost/config/compiler/digitalmars.hpp index 7bc49ab4b3..a3d293c7b5 100644 --- a/3party/boost/boost/config/compiler/digitalmars.hpp +++ b/3party/boost/boost/config/compiler/digitalmars.hpp @@ -81,6 +81,36 @@ #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif #if (__DMC__ <= 0x840) #error "Compiler not supported or configured - please reconfigure" diff --git a/3party/boost/boost/config/compiler/gcc.hpp b/3party/boost/boost/config/compiler/gcc.hpp index ef6b07e27d..41705df039 100644 --- a/3party/boost/boost/config/compiler/gcc.hpp +++ b/3party/boost/boost/config/compiler/gcc.hpp @@ -16,8 +16,13 @@ // // Define BOOST_GCC so we know this is "real" GCC and not some pretender: // +#define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #if !defined(__CUDACC__) -#define BOOST_GCC (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#define BOOST_GCC BOOST_GCC_VERSION +#endif + +#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L) +# define BOOST_GCC_CXX11 #endif #if __GNUC__ == 3 @@ -42,11 +47,11 @@ #endif // GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links -#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) +#if BOOST_GCC_VERSION >= 30400 #define BOOST_HAS_PRAGMA_ONCE #endif -#if __GNUC__ < 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ < 4 ) +#if BOOST_GCC_VERSION < 40400 // Previous versions of GCC did not completely implement value-initialization: // GCC Bug 30111, "Value-initialization of POD base class doesn't initialize // members", reported by Jonathan Wakely in 2006, @@ -114,7 +119,7 @@ // // RTTI and typeinfo detection is possible post gcc-4.3: // -#if __GNUC__ * 100 + __GNUC_MINOR__ >= 403 +#if BOOST_GCC_VERSION > 40300 # ifndef __GXX_RTTI # ifndef BOOST_NO_TYPEID # define BOOST_NO_TYPEID @@ -141,7 +146,7 @@ // C++0x features in 4.3.n and later // -#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 2)) && defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_GCC_VERSION >= 40300) && defined(BOOST_GCC_CXX11) // C++0x features are only enabled when -std=c++0x or -std=gnu++0x are // passed on the command line, which in turn defines // __GXX_EXPERIMENTAL_CXX0X__. @@ -154,19 +159,11 @@ # define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS # define BOOST_NO_CXX11_RVALUE_REFERENCES # define BOOST_NO_CXX11_STATIC_ASSERT - -// Variadic templates compiler: -// http://www.generic-programming.org/~dgregor/cpp/variadic-templates.html -# if defined(__VARIADIC_TEMPLATES) || (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4) && defined(__GXX_EXPERIMENTAL_CXX0X__)) -# define BOOST_HAS_VARIADIC_TMPL -# else -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# endif #endif // C++0x features in 4.4.n and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_GCC_VERSION < 40400) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_AUTO_DECLARATIONS # define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS # define BOOST_NO_CXX11_CHAR16_T @@ -176,20 +173,21 @@ # define BOOST_NO_CXX11_DELETED_FUNCTIONS # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_INLINE_NAMESPACES +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES #endif -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) +#if BOOST_GCC_VERSION < 40500 # define BOOST_NO_SFINAE_EXPR #endif // GCC 4.5 forbids declaration of defaulted functions in private or protected sections -#if !defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && (__GNUC__ == 4 && __GNUC_MINOR__ <= 5) +#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS #endif // C++0x features in 4.5.0 and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_GCC_VERSION < 40500) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS # define BOOST_NO_CXX11_LAMBDAS # define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS @@ -199,7 +197,7 @@ // C++0x features in 4.5.1 and later // -#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40501) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_GCC_VERSION < 40501) || !defined(BOOST_GCC_CXX11) // scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1 // See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064 # define BOOST_NO_CXX11_SCOPED_ENUMS @@ -207,7 +205,7 @@ // C++0x features in 4.6.n and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11) #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_NOEXCEPT #define BOOST_NO_CXX11_NULLPTR @@ -217,22 +215,55 @@ // C++0x features in 4.7.n and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11) +# define BOOST_NO_CXX11_FINAL # define BOOST_NO_CXX11_TEMPLATE_ALIASES # define BOOST_NO_CXX11_USER_DEFINED_LITERALS +# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS #endif // C++0x features in 4.8.n and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_ALIGNAS #endif // C++0x features in 4.8.1 and later // -#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40801) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_GCC_VERSION < 40801) || !defined(BOOST_GCC_CXX11) # define BOOST_NO_CXX11_DECLTYPE_N3276 # define BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif + +// C++14 features in 4.9.0 and later +// +#if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +# define BOOST_NO_CXX14_DECLTYPE_AUTO +# if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11)) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +# endif +#endif + + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +// +// Unused attribute: +#if __GNUC__ >= 4 +# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused)) #endif #ifndef BOOST_COMPILER @@ -248,12 +279,12 @@ // versions check: // we don't know gcc prior to version 3.30: -#if (__GNUC__ < 3) || (__GNUC__ == 3 && (__GNUC_MINOR__ < 3)) +#if (BOOST_GCC_VERSION< 30300) # error "Compiler not configured - please reconfigure" #endif // -// last known and checked version is 4.6 (Pre-release): -#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6)) +// last known and checked version is 4.9: +#if (BOOST_GCC_VERSION > 40900) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # else @@ -263,4 +294,3 @@ # endif #endif - diff --git a/3party/boost/boost/config/compiler/gcc_xml.hpp b/3party/boost/boost/config/compiler/gcc_xml.hpp index f04af0618c..c11f29dd01 100644 --- a/3party/boost/boost/config/compiler/gcc_xml.hpp +++ b/3party/boost/boost/config/compiler/gcc_xml.hpp @@ -59,6 +59,36 @@ # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif #define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__ diff --git a/3party/boost/boost/config/compiler/intel.hpp b/3party/boost/boost/config/compiler/intel.hpp index cbc9422f61..36fb29723a 100644 --- a/3party/boost/boost/config/compiler/intel.hpp +++ b/3party/boost/boost/config/compiler/intel.hpp @@ -14,10 +14,38 @@ // Intel compiler setup: -#include "boost/config/compiler/common_edg.hpp" +#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__)) + +#ifdef _MSC_VER + +#include + +#if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900) +// +// These appear to be supported, even though VC++ may not support them: +// +#define BOOST_HAS_EXPM1 +#define BOOST_HAS_LOG1P +#undef BOOST_NO_CXX14_BINARY_LITERALS +// This one may be a little risky to enable?? +#undef BOOST_NO_SFINAE_EXPR + +#endif + +#else + +#include + +#endif + +#undef BOOST_COMPILER #if defined(__INTEL_COMPILER) +#if __INTEL_COMPILER == 9999 +# define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1. +#else # define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER +#endif #elif defined(__ICL) # define BOOST_INTEL_CXX_VERSION __ICL #elif defined(__ICC) @@ -34,11 +62,64 @@ # define BOOST_INTEL_STDCXX0X #endif -#ifdef BOOST_INTEL_STDCXX0X -#define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) -#else -#define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +#ifdef __GNUC__ +# define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) #endif + +#if !defined(BOOST_COMPILER) +# if defined(BOOST_INTEL_STDCXX0X) +# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +# else +# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +# endif +#endif + +#define BOOST_INTEL BOOST_INTEL_CXX_VERSION + +#if defined(_WIN32) || defined(_WIN64) +# define BOOST_INTEL_WIN BOOST_INTEL +#else +# define BOOST_INTEL_LINUX BOOST_INTEL +#endif + +#else + +#include "boost/config/compiler/common_edg.hpp" + +#if defined(__INTEL_COMPILER) +#if __INTEL_COMPILER == 9999 +# define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1. +#else +# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER +#endif +#elif defined(__ICL) +# define BOOST_INTEL_CXX_VERSION __ICL +#elif defined(__ICC) +# define BOOST_INTEL_CXX_VERSION __ICC +#elif defined(__ECC) +# define BOOST_INTEL_CXX_VERSION __ECC +#endif + +// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x' +#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__) +# define BOOST_INTEL_STDCXX0X +#endif +#if defined(_MSC_VER) && (_MSC_VER >= 1600) +# define BOOST_INTEL_STDCXX0X +#endif + +#ifdef __GNUC__ +# define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#endif + +#if !defined(BOOST_COMPILER) +# if defined(BOOST_INTEL_STDCXX0X) +# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +# else +# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION) +# endif +#endif + #define BOOST_INTEL BOOST_INTEL_CXX_VERSION #if defined(_WIN32) || defined(_WIN64) @@ -157,6 +238,24 @@ template<> struct assert_intrinsic_wchar_t {}; #define BOOST_UNLIKELY(x) __builtin_expect(x, 0) #endif +// RTTI +// __RTTI is the EDG macro +// __INTEL_RTTI__ is the Intel macro +// __GXX_RTTI is the g++ macro +// _CPPRTTI is the MSVC++ macro +#if !defined(__RTTI) && !defined(__INTEL_RTTI__) && !defined(__GXX_RTTI) && !defined(_CPPRTTI) + +#if !defined(BOOST_NO_RTTI) +# define BOOST_NO_RTTI +#endif + +// in MS mode, static typeid works even when RTTI is off +#if !defined(_MSC_VER) && !defined(BOOST_NO_TYPEID) +# define BOOST_NO_TYPEID +#endif + +#endif + // // versions check: // we don't support Intel prior to version 6.0: @@ -184,7 +283,7 @@ template<> struct assert_intrinsic_wchar_t {}; // (Niels Dekker, LKEB, May 2010) // Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression). #if defined(__INTEL_COMPILER) -# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1500)) +# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1600)) # define BOOST_NO_COMPLETE_VALUE_INITIALIZATION # endif #endif @@ -199,75 +298,187 @@ template<> struct assert_intrinsic_wchar_t {}; #endif // // C++0x features -// - ICC added static_assert in 11.0 (first version with C++0x support) +// For each feature we need to check both the Intel compiler version, +// and the version of MSVC or GCC that we are emulating. +// See http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/ +// for a list of which features were implemented in which Intel releases. // #if defined(BOOST_INTEL_STDCXX0X) -# undef BOOST_NO_CXX11_STATIC_ASSERT -// -// These pass our test cases, but aren't officially supported according to: -// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/ -// -//# undef BOOST_NO_CXX11_LAMBDAS -//# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -//# undef BOOST_NO_CXX11_DECLTYPE -//# undef BOOST_NO_CXX11_AUTO_DECLARATIONS -//# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +// BOOST_NO_CXX11_CONSTEXPR: +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && !defined(_MSC_VER) +// Available in earlier Intel versions, but fail our tests: +# undef BOOST_NO_CXX11_CONSTEXPR +#endif +// BOOST_NO_CXX11_NULLPTR: +#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_NULLPTR +#endif +// BOOST_NO_CXX11_TEMPLATE_ALIASES +#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_TEMPLATE_ALIASES #endif -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1200) -//# undef BOOST_NO_CXX11_RVALUE_REFERENCES // Enabling this breaks Filesystem and Exception libraries -//# undef BOOST_NO_CXX11_SCOPED_ENUMS // doesn't really work!! -# undef BOOST_NO_CXX11_DELETED_FUNCTIONS -# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# undef BOOST_NO_CXX11_LAMBDAS -# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS -# undef BOOST_NO_CXX11_DECLTYPE -# undef BOOST_NO_CXX11_AUTO_DECLARATIONS -# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS -# undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES +// BOOST_NO_CXX11_DECLTYPE +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_DECLTYPE #endif -// icl Version 12.1.0.233 Build 20110811 and possibly some other builds -// had an incorrect __INTEL_COMPILER value of 9999. Intel say this has been fixed. -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION > 1200) -# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -# undef BOOST_NO_CXX11_NULLPTR -# undef BOOST_NO_CXX11_RVALUE_REFERENCES -# undef BOOST_NO_SFINAE_EXPR -# undef BOOST_NO_CXX11_TEMPLATE_ALIASES -# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES - -// http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/ -// continues to list scoped enum support as "Partial" -//# undef BOOST_NO_CXX11_SCOPED_ENUMS +// BOOST_NO_CXX11_DECLTYPE_N3276 +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_DECLTYPE_N3276 #endif -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(_MSC_VER) -# undef BOOST_NO_CXX11_INLINE_NAMESPACES + +// BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) # undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS -// This one generates internal compiler errors in multiprecision, disabled for now: -//# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -// This one generates errors when used with conditional exception specifications, for example in multiprecision: -//# undef BOOST_NO_CXX11_NOEXCEPT -# undef BOOST_NO_CXX11_RANGE_BASED_FOR +#endif + +// BOOST_NO_CXX11_RVALUE_REFERENCES +#if (BOOST_INTEL_CXX_VERSION >= 1300) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +// This is available from earlier Intel versions, but breaks Filesystem and other libraries: +# undef BOOST_NO_CXX11_RVALUE_REFERENCES +#endif + +// BOOST_NO_CXX11_STATIC_ASSERT +#if (BOOST_INTEL_CXX_VERSION >= 1110) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_STATIC_ASSERT +#endif + +// BOOST_NO_CXX11_VARIADIC_TEMPLATES +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif + +// BOOST_NO_CXX11_VARIADIC_MACROS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40200)) && (!defined(_MSC_VER) || (_MSC_VER >= 1400)) +# undef BOOST_NO_CXX11_VARIADIC_MACROS +#endif + +// BOOST_NO_CXX11_AUTO_DECLARATIONS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_AUTO_DECLARATIONS +#endif + +// BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#endif + +// BOOST_NO_CXX11_CHAR16_T +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +# undef BOOST_NO_CXX11_CHAR16_T +#endif + +// BOOST_NO_CXX11_CHAR32_T +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +# undef BOOST_NO_CXX11_CHAR32_T +#endif + +// BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#endif + +// BOOST_NO_CXX11_DELETED_FUNCTIONS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_DELETED_FUNCTIONS +#endif + +// BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) +# undef BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#endif + +// BOOST_NO_CXX11_SCOPED_ENUMS +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40501)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) +// This is available but broken in earlier Intel releases. # undef BOOST_NO_CXX11_SCOPED_ENUMS +#endif + +// BOOST_NO_SFINAE_EXPR +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +# undef BOOST_NO_SFINAE_EXPR +#endif + +// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +// This is available in earlier Intel releases, but breaks Multiprecision: +# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif + +// BOOST_NO_CXX11_LAMBDAS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600)) +# undef BOOST_NO_CXX11_LAMBDAS +#endif + +// BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) +# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#endif + +// BOOST_NO_CXX11_RANGE_BASED_FOR +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) +# undef BOOST_NO_CXX11_RANGE_BASED_FOR +#endif + +// BOOST_NO_CXX11_RAW_LITERALS +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_RAW_LITERALS +#endif + +// BOOST_NO_CXX11_UNICODE_LITERALS +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +# undef BOOST_NO_CXX11_UNICODE_LITERALS +#endif + +// BOOST_NO_CXX11_NOEXCEPT +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) +// Available in earlier Intel release, but generates errors when used with +// conditional exception specifications, for example in multiprecision: +# undef BOOST_NO_CXX11_NOEXCEPT +#endif + +// BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999)) # undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX #endif -#if (BOOST_INTEL_CXX_VERSION >= 1310) -# undef BOOST_NO_SFINAE_EXPR + +// BOOST_NO_CXX11_USER_DEFINED_LITERALS +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) +# undef BOOST_NO_CXX11_USER_DEFINED_LITERALS #endif -#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION >= 1400) && !defined(_MSC_VER) -# undef BOOST_NO_CXX11_UNICODE_LITERALS -# undef BOOST_NO_CXX11_RAW_LITERALS -// This one generates errors when used with conditional exception specifications, for example in multiprecision: -//# undef BOOST_NO_CXX11_NOEXCEPT -// This breaks multiprecision: -//# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS -# undef BOOST_NO_CXX11_HDR_THREAD -# undef BOOST_NO_CXX11_CHAR32_T -# undef BOOST_NO_CXX11_CHAR16_T + +// BOOST_NO_CXX11_ALIGNAS +#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) +# undef BOOST_NO_CXX11_ALIGNAS +#endif + +// BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827)) +# undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#endif + +// BOOST_NO_CXX11_INLINE_NAMESPACES +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) +# undef BOOST_NO_CXX11_INLINE_NAMESPACES +#endif + +// BOOST_NO_CXX11_REF_QUALIFIERS +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730)) # undef BOOST_NO_CXX11_REF_QUALIFIERS #endif +// BOOST_NO_CXX11_FINAL +#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700)) +# undef BOOST_NO_CXX11_FINAL +#endif + +#endif + +// +// Broken in all versions up to 15: +#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS + #if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310) # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST @@ -279,20 +490,6 @@ template<> struct assert_intrinsic_wchar_t {}; # define BOOST_NO_CXX11_HDR_TUPLE #endif -#if defined(_MSC_VER) && (_MSC_VER <= 1700) -// -// Although the Intel compiler is capable of supporting these, it appears not to in MSVC compatibility mode: -// -# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST -# define BOOST_NO_CXX11_VARIADIC_TEMPLATES -# define BOOST_NO_CXX11_DELETED_FUNCTIONS -# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS -# define BOOST_NO_CXX11_TEMPLATE_ALIASES -# if(BOOST_INTEL_CXX_VERSION < 1310) -# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES -# endif -#endif - #if (BOOST_INTEL_CXX_VERSION < 1200) // // fenv.h appears not to work with Intel prior to 12.0: @@ -300,17 +497,25 @@ template<> struct assert_intrinsic_wchar_t {}; # define BOOST_NO_FENV_H #endif +// Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections, +// producing the following errors: +// error #453: protected function "..." (declared at ...") is not accessible through a "..." pointer or object +#if (BOOST_INTEL_CXX_VERSION <= 1310) +# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +#endif + #if defined(_MSC_VER) && (_MSC_VER >= 1600) # define BOOST_HAS_STDINT_H #endif -#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) +#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(__CUDACC__) # define BOOST_HAS_INT128 #endif +#endif // // last known and checked version: -#if (BOOST_INTEL_CXX_VERSION > 1310) +#if (BOOST_INTEL_CXX_VERSION > 1500) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # elif defined(_MSC_VER) diff --git a/3party/boost/boost/config/compiler/metrowerks.hpp b/3party/boost/boost/config/compiler/metrowerks.hpp index c000215bb6..c930143450 100644 --- a/3party/boost/boost/config/compiler/metrowerks.hpp +++ b/3party/boost/boost/config/compiler/metrowerks.hpp @@ -124,6 +124,36 @@ #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif #define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION) diff --git a/3party/boost/boost/config/compiler/mpw.hpp b/3party/boost/boost/config/compiler/mpw.hpp index 7a4ffa1507..76045bcd3f 100644 --- a/3party/boost/boost/config/compiler/mpw.hpp +++ b/3party/boost/boost/config/compiler/mpw.hpp @@ -73,6 +73,37 @@ #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + // // versions check: // we don't support MPW prior to version 8.9: diff --git a/3party/boost/boost/config/compiler/pathscale.hpp b/3party/boost/boost/config/compiler/pathscale.hpp index 0625d7a1eb..7c211c4517 100644 --- a/3party/boost/boost/config/compiler/pathscale.hpp +++ b/3party/boost/boost/config/compiler/pathscale.hpp @@ -81,4 +81,34 @@ # define BOOST_NO_CXX11_TRAILING_RESULT_TYPES # define BOOST_NO_CXX11_INLINE_NAMESPACES # define BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX11_FINAL + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif #endif diff --git a/3party/boost/boost/config/compiler/pgi.hpp b/3party/boost/boost/config/compiler/pgi.hpp index 5cf61fa948..e5605c9ec2 100644 --- a/3party/boost/boost/config/compiler/pgi.hpp +++ b/3party/boost/boost/config/compiler/pgi.hpp @@ -119,7 +119,36 @@ #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif // // version check: // probably nothing to do here? diff --git a/3party/boost/boost/config/compiler/sunpro_cc.hpp b/3party/boost/boost/config/compiler/sunpro_cc.hpp index f2c857629a..2fd6d3ece0 100644 --- a/3party/boost/boost/config/compiler/sunpro_cc.hpp +++ b/3party/boost/boost/config/compiler/sunpro_cc.hpp @@ -86,26 +86,22 @@ # define BOOST_SYMBOL_VISIBLE __global #endif - - -// -// Issues that effect all known versions: -// +#if (__SUNPRO_CC < 0x5130) +// C++03 features in 12.4: #define BOOST_NO_TWO_PHASE_NAME_LOOKUP +#define BOOST_NO_SFINAE_EXPR #define BOOST_NO_ADL_BARRIER +#define BOOST_NO_CXX11_VARIADIC_MACROS +#endif -// -// C++0x features -// -# define BOOST_HAS_LONG_LONG - +#if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100) +// C++11 only featuires in 12.4: #define BOOST_NO_CXX11_AUTO_DECLARATIONS #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS #define BOOST_NO_CXX11_CHAR16_T #define BOOST_NO_CXX11_CHAR32_T #define BOOST_NO_CXX11_CONSTEXPR #define BOOST_NO_CXX11_DECLTYPE -#define BOOST_NO_CXX11_DECLTYPE_N3276 #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS #define BOOST_NO_CXX11_DELETED_FUNCTIONS #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS @@ -120,19 +116,63 @@ #define BOOST_NO_CXX11_RAW_LITERALS #define BOOST_NO_CXX11_RVALUE_REFERENCES #define BOOST_NO_CXX11_SCOPED_ENUMS -#define BOOST_NO_SFINAE_EXPR #define BOOST_NO_CXX11_STATIC_ASSERT #define BOOST_NO_CXX11_TEMPLATE_ALIASES #define BOOST_NO_CXX11_UNICODE_LITERALS -#define BOOST_NO_CXX11_VARIADIC_TEMPLATES -#define BOOST_NO_CXX11_VARIADIC_MACROS -#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS #define BOOST_NO_CXX11_ALIGNAS #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES -#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL +#endif +// +// Issues that effect all known versions: +// +// Variadic templates pass our test case, but enabling this +// causes the compiler to issue a signal 11 and bail out +// in various libraries. The others fail our test cases. +// +#define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +#define BOOST_NO_CXX11_DECLTYPE_N3276 +#define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION +// +// C++0x features +// +# define BOOST_HAS_LONG_LONG + + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif // // Version // diff --git a/3party/boost/boost/config/compiler/vacpp.hpp b/3party/boost/boost/config/compiler/vacpp.hpp index bb7d5f5065..6c228eab6e 100644 --- a/3party/boost/boost/config/compiler/vacpp.hpp +++ b/3party/boost/boost/config/compiler/vacpp.hpp @@ -130,3 +130,33 @@ #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES #define BOOST_NO_CXX11_INLINE_NAMESPACES #define BOOST_NO_CXX11_REF_QUALIFIERS +#define BOOST_NO_CXX11_FINAL + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif +#if (__cplusplus < 201304) // There's no SD6 check for this.... +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif +#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif +#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif +#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif diff --git a/3party/boost/boost/config/compiler/visualc.hpp b/3party/boost/boost/config/compiler/visualc.hpp index 842f086515..5becb714b7 100644 --- a/3party/boost/boost/config/compiler/visualc.hpp +++ b/3party/boost/boost/config/compiler/visualc.hpp @@ -67,21 +67,6 @@ #endif -// MSVC (including the latest checked version) has not yet completely -// implemented value-initialization, as is reported: -// "VC++ does not value-initialize members of derived classes without -// user-declared constructor", reported in 2009 by Sylvester Hesp: -// https://connect.microsoft.com/VisualStudio/feedback/details/484295 -// "Presence of copy constructor breaks member class initialization", -// reported in 2009 by Alex Vakulenko: -// https://connect.microsoft.com/VisualStudio/feedback/details/499606 -// "Value-initialization in new-expression", reported in 2005 by -// Pavel Kuznetsov (MetaCommunications Engineering): -// https://connect.microsoft.com/VisualStudio/feedback/details/100744 -// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues -// (Niels Dekker, LKEB, May 2010) -# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION - #ifndef _NATIVE_WCHAR_T_DEFINED # define BOOST_NO_INTRINSIC_WCHAR_T #endif @@ -104,6 +89,9 @@ #if (_MSC_VER >= 1400) && !defined(_DEBUG) # define BOOST_HAS_NRVO #endif +#if _MSC_VER >= 1600 // 160X == VC++ 10.0 +# define BOOST_HAS_PRAGMA_DETECT_MISMATCH +#endif // // disable Win32 API's if compiler extensions are // turned off: @@ -149,6 +137,7 @@ // C++11 features supported by VC++ 11 (aka 2012) // #if _MSC_VER < 1700 +# define BOOST_NO_CXX11_FINAL # define BOOST_NO_CXX11_RANGE_BASED_FOR # define BOOST_NO_CXX11_SCOPED_ENUMS #endif // _MSC_VER < 1700 @@ -168,18 +157,60 @@ # define BOOST_NO_CXX11_DECLTYPE_N3276 #endif +// C++11 features supported by VC++ 14 (aka 2015) +// +#if (_MSC_FULL_VER < 190023026) +# define BOOST_NO_CXX11_NOEXCEPT +# define BOOST_NO_CXX11_REF_QUALIFIERS +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +# define BOOST_NO_CXX11_ALIGNAS +# define BOOST_NO_CXX11_INLINE_NAMESPACES +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +# define BOOST_NO_CXX11_UNICODE_LITERALS +# define BOOST_NO_CXX14_DECLTYPE_AUTO +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +# define BOOST_NO_CXX14_BINARY_LITERALS +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif + +// MSVC including version 14 has not yet completely +// implemented value-initialization, as is reported: +// "VC++ does not value-initialize members of derived classes without +// user-declared constructor", reported in 2009 by Sylvester Hesp: +// https://connect.microsoft.com/VisualStudio/feedback/details/484295 +// "Presence of copy constructor breaks member class initialization", +// reported in 2009 by Alex Vakulenko: +// https://connect.microsoft.com/VisualStudio/feedback/details/499606 +// "Value-initialization in new-expression", reported in 2005 by +// Pavel Kuznetsov (MetaCommunications Engineering): +// https://connect.microsoft.com/VisualStudio/feedback/details/100744 +// Reported again by John Maddock in 2015 for VC14: +// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly +// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues +// (Niels Dekker, LKEB, May 2010) +#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // C++11 features not supported by any versions -#define BOOST_NO_CXX11_CHAR16_T -#define BOOST_NO_CXX11_CHAR32_T -#define BOOST_NO_CXX11_CONSTEXPR -#define BOOST_NO_CXX11_NOEXCEPT -#define BOOST_NO_CXX11_REF_QUALIFIERS -#define BOOST_NO_CXX11_UNICODE_LITERALS #define BOOST_NO_SFINAE_EXPR #define BOOST_NO_TWO_PHASE_NAME_LOOKUP -#define BOOST_NO_CXX11_USER_DEFINED_LITERALS -#define BOOST_NO_CXX11_ALIGNAS -#define BOOST_NO_CXX11_INLINE_NAMESPACES +// +// This is somewhat supported in VC14, but we may need to wait for +// a service release before enabling: +// +#define BOOST_NO_CXX11_CONSTEXPR + +// C++ 14: +#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif +#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304) +# define BOOST_NO_CXX14_CONSTEXPR +#endif +#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif // // prefix and suffix headers: @@ -216,6 +247,8 @@ # define BOOST_COMPILER_VERSION evc11 # elif _MSC_VER < 1900 # define BOOST_COMPILER_VERSION evc12 +# elif _MSC_VER < 2000 +# define BOOST_COMPILER_VERSION evc14 # else # if defined(BOOST_ASSERT_CONFIG) # error "Unknown EVC++ compiler version - please run the configure tests and report the results" @@ -243,6 +276,8 @@ # define BOOST_COMPILER_VERSION 11.0 # elif _MSC_VER < 1900 # define BOOST_COMPILER_VERSION 12.0 +# elif _MSC_VER < 2000 +# define BOOST_COMPILER_VERSION 14.0 # else # define BOOST_COMPILER_VERSION _MSC_VER # endif @@ -252,8 +287,8 @@ #endif // -// last known and checked version is 18.00.20827.3 (VC12 RC, aka 2013 RC): -#if (_MSC_VER > 1800 && _MSC_FULL_VER > 180020827) +// last known and checked version is 19.00.23026 (VC++ 2015 RTM): +#if (_MSC_VER > 1900) # if defined(BOOST_ASSERT_CONFIG) # error "Unknown compiler version - please run the configure tests and report the results" # else diff --git a/3party/boost/boost/config/compiler/xlcpp.hpp b/3party/boost/boost/config/compiler/xlcpp.hpp new file mode 100644 index 0000000000..3592bed708 --- /dev/null +++ b/3party/boost/boost/config/compiler/xlcpp.hpp @@ -0,0 +1,257 @@ +// (C) Copyright Douglas Gregor 2010 +// +// Use, modification and distribution are 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 most recent version. + +// compiler setup for IBM XL C/C++ for Linux (Little Endian) based on clang. + +#define BOOST_HAS_PRAGMA_ONCE + +// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used. +#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4)) +# define BOOST_HAS_PRAGMA_DETECT_MISMATCH +#endif + +// When compiling with clang before __has_extension was defined, +// even if one writes 'defined(__has_extension) && __has_extension(xxx)', +// clang reports a compiler error. So the only workaround found is: + +#ifndef __has_extension +#define __has_extension __has_feature +#endif + +#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS) +# define BOOST_NO_EXCEPTIONS +#endif + +#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI) +# define BOOST_NO_RTTI +#endif + +#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID) +# define BOOST_NO_TYPEID +#endif + +#if defined(__int64) && !defined(__GNUC__) +# define BOOST_HAS_MS_INT64 +#endif + +#define BOOST_HAS_NRVO + +// Branch prediction hints +#if defined(__has_builtin) +#if __has_builtin(__builtin_expect) +#define BOOST_LIKELY(x) __builtin_expect(x, 1) +#define BOOST_UNLIKELY(x) __builtin_expect(x, 0) +#endif +#endif + +// Clang supports "long long" in all compilation modes. +#define BOOST_HAS_LONG_LONG + +// +// Dynamic shared object (DSO) and dynamic-link library (DLL) support +// +#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32) +# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default"))) +# define BOOST_SYMBOL_IMPORT +# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default"))) +#endif + +// +// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through +// between switch labels. +// +#if __cplusplus >= 201103L && defined(__has_warning) +# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough") +# define BOOST_FALLTHROUGH [[clang::fallthrough]] +# endif +#endif + +#if !__has_feature(cxx_auto_type) +# define BOOST_NO_CXX11_AUTO_DECLARATIONS +# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS +#endif + +// +// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t +// +#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L) +# define BOOST_NO_CXX11_CHAR16_T +# define BOOST_NO_CXX11_CHAR32_T +#endif + +#if !__has_feature(cxx_constexpr) +# define BOOST_NO_CXX11_CONSTEXPR +#endif + +#if !__has_feature(cxx_decltype) +# define BOOST_NO_CXX11_DECLTYPE +#endif + +#if !__has_feature(cxx_decltype_incomplete_return_types) +# define BOOST_NO_CXX11_DECLTYPE_N3276 +#endif + +#if !__has_feature(cxx_defaulted_functions) +# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +#endif + +#if !__has_feature(cxx_deleted_functions) +# define BOOST_NO_CXX11_DELETED_FUNCTIONS +#endif + +#if !__has_feature(cxx_explicit_conversions) +# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS +#endif + +#if !__has_feature(cxx_default_function_template_args) +# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS +#endif + +#if !__has_feature(cxx_generalized_initializers) +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +#endif + +#if !__has_feature(cxx_lambdas) +# define BOOST_NO_CXX11_LAMBDAS +#endif + +#if !__has_feature(cxx_local_type_template_args) +# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS +#endif + +#if !__has_feature(cxx_noexcept) +# define BOOST_NO_CXX11_NOEXCEPT +#endif + +#if !__has_feature(cxx_nullptr) +# define BOOST_NO_CXX11_NULLPTR +#endif + +#if !__has_feature(cxx_range_for) +# define BOOST_NO_CXX11_RANGE_BASED_FOR +#endif + +#if !__has_feature(cxx_raw_string_literals) +# define BOOST_NO_CXX11_RAW_LITERALS +#endif + +#if !__has_feature(cxx_reference_qualified_functions) +# define BOOST_NO_CXX11_REF_QUALIFIERS +#endif + +#if !__has_feature(cxx_generalized_initializers) +# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX +#endif + +#if !__has_feature(cxx_rvalue_references) +# define BOOST_NO_CXX11_RVALUE_REFERENCES +#endif + +#if !__has_feature(cxx_strong_enums) +# define BOOST_NO_CXX11_SCOPED_ENUMS +#endif + +#if !__has_feature(cxx_static_assert) +# define BOOST_NO_CXX11_STATIC_ASSERT +#endif + +#if !__has_feature(cxx_alias_templates) +# define BOOST_NO_CXX11_TEMPLATE_ALIASES +#endif + +#if !__has_feature(cxx_unicode_literals) +# define BOOST_NO_CXX11_UNICODE_LITERALS +#endif + +#if !__has_feature(cxx_variadic_templates) +# define BOOST_NO_CXX11_VARIADIC_TEMPLATES +#endif + +#if !__has_feature(cxx_user_literals) +# define BOOST_NO_CXX11_USER_DEFINED_LITERALS +#endif + +#if !__has_feature(cxx_alignas) +# define BOOST_NO_CXX11_ALIGNAS +#endif + +#if !__has_feature(cxx_trailing_return) +# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES +#endif + +#if !__has_feature(cxx_inline_namespaces) +# define BOOST_NO_CXX11_INLINE_NAMESPACES +#endif + +#if !__has_feature(cxx_override_control) +# define BOOST_NO_CXX11_FINAL +#endif + +#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__)) +# define BOOST_NO_CXX14_BINARY_LITERALS +#endif + +#if !__has_feature(__cxx_decltype_auto__) +# define BOOST_NO_CXX14_DECLTYPE_AUTO +#endif + +#if !__has_feature(__cxx_aggregate_nsdmi__) +# define BOOST_NO_CXX14_AGGREGATE_NSDMI +#endif + +#if !__has_feature(__cxx_init_captures__) +# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES +#endif + +#if !__has_feature(__cxx_generic_lambdas__) +# define BOOST_NO_CXX14_GENERIC_LAMBDAS +#endif + +// clang < 3.5 has a defect with dependent type, like following. +// +// template +// constexpr typename enable_if >::type foo(T &) +// { } // error: no return statement in constexpr function +// +// This issue also affects C++11 mode, but C++11 constexpr requires return stmt. +// Therefore we don't care such case. +// +// Note that we can't check Clang version directly as the numbering system changes depending who's +// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873) +// so instead verify that we have a feature that was introduced at the same time as working C++14 +// constexpr (generic lambda's in this case): +// +#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__) +# define BOOST_NO_CXX14_CONSTEXPR +#endif + +#if !__has_feature(__cxx_return_type_deduction__) +# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION +#endif + +#if !__has_feature(__cxx_variable_templates__) +# define BOOST_NO_CXX14_VARIABLE_TEMPLATES +#endif + +#if __cplusplus < 201400 +// All versions with __cplusplus above this value seem to support this: +# define BOOST_NO_CXX14_DIGIT_SEPARATORS +#endif + + +// Unused attribute: +#if defined(__GNUC__) && (__GNUC__ >= 4) +# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused)) +#endif + +#ifndef BOOST_COMPILER +# define BOOST_COMPILER "Clang version " __clang_version__ +#endif + +// Macro used to identify the Clang compiler. +#define BOOST_CLANG 1 diff --git a/3party/boost/boost/config/platform/haiku.hpp b/3party/boost/boost/config/platform/haiku.hpp new file mode 100644 index 0000000000..750866c47d --- /dev/null +++ b/3party/boost/boost/config/platform/haiku.hpp @@ -0,0 +1,31 @@ +// (C) Copyright Jessica Hamilton 2014. +// Use, modification and distribution are 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 most recent version. + +// Haiku specific config options: + +#define BOOST_PLATFORM "Haiku" + +#define BOOST_HAS_UNISTD_H +#define BOOST_HAS_STDINT_H + +#ifndef BOOST_DISABLE_THREADS +# define BOOST_HAS_THREADS +#endif + +#define BOOST_NO_CXX11_HDR_TYPE_TRAITS +#define BOOST_NO_CXX11_ATOMIC_SMART_PTR +#define BOOST_NO_CXX11_STATIC_ASSERT +#define BOOST_NO_CXX11_VARIADIC_MACROS + +// +// thread API's not auto detected: +// +#define BOOST_HAS_SCHED_YIELD +#define BOOST_HAS_GETTIMEOFDAY + +// boilerplate code: +#include diff --git a/3party/boost/boost/config/platform/linux.hpp b/3party/boost/boost/config/platform/linux.hpp index a02aff7856..6fa5f45be4 100644 --- a/3party/boost/boost/config/platform/linux.hpp +++ b/3party/boost/boost/config/platform/linux.hpp @@ -72,7 +72,9 @@ // boilerplate code: #define BOOST_HAS_UNISTD_H #include +#ifdef __USE_GNU #define BOOST_HAS_PTHREAD_YIELD +#endif #ifndef __GNUC__ // diff --git a/3party/boost/boost/config/platform/solaris.hpp b/3party/boost/boost/config/platform/solaris.hpp index 9f9256664b..cf364ce23d 100644 --- a/3party/boost/boost/config/platform/solaris.hpp +++ b/3party/boost/boost/config/platform/solaris.hpp @@ -23,6 +23,9 @@ # undef BOOST_HAS_PTHREADS #endif - +#define BOOST_HAS_STDINT_H +#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE +#define BOOST_HAS_LOG1P +#define BOOST_HAS_EXPM1 diff --git a/3party/boost/boost/config/platform/win32.hpp b/3party/boost/boost/config/platform/win32.hpp index 2a91519e20..60a29abe83 100644 --- a/3party/boost/boost/config/platform/win32.hpp +++ b/3party/boost/boost/config/platform/win32.hpp @@ -41,8 +41,10 @@ #endif #if defined(__MINGW32__) && (__GNUC__ >= 4) -# define BOOST_HAS_EXPM1 -# define BOOST_HAS_LOG1P +// Mingw has these functions but there are persistent problems +// with calls to these crashing, so disable for now: +//# define BOOST_HAS_EXPM1 +//# define BOOST_HAS_LOG1P # define BOOST_HAS_GETTIMEOFDAY #endif // diff --git a/3party/boost/boost/config/select_compiler_config.hpp b/3party/boost/boost/config/select_compiler_config.hpp index 62053ba061..4d87093af3 100644 --- a/3party/boost/boost/config/select_compiler_config.hpp +++ b/3party/boost/boost/config/select_compiler_config.hpp @@ -39,7 +39,8 @@ // Intel # define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp" -#elif defined __clang__ +#elif defined __clang__ && !defined(__CUDACC__) && !defined(__ibmxl__) +// when using clang and cuda at same time, you want to appear as gcc // Clang C++ emulates GCC, so it has to appear early. # define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp" @@ -47,7 +48,7 @@ // Digital Mars C++ # define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp" -# elif defined __GNUC__ +# elif defined(__GNUC__) && !defined(__ibmxl__) // GNU C++: # define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp" @@ -91,8 +92,12 @@ // MPW MrCpp or SCpp # define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp" +#elif defined(__ibmxl__) +// IBM XL C/C++ for Linux (Little Endian) +# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp" + #elif defined(__IBMCPP__) -// IBM Visual Age +// IBM Visual Age or IBM XL C/C++ for Linux (Big Endian) # define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp" #elif defined(__PGI) diff --git a/3party/boost/boost/config/select_platform_config.hpp b/3party/boost/boost/config/select_platform_config.hpp index 2dddc6a2f6..acd1409ebc 100644 --- a/3party/boost/boost/config/select_platform_config.hpp +++ b/3party/boost/boost/config/select_platform_config.hpp @@ -41,6 +41,10 @@ // win32: # define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp" +#elif defined(__HAIKU__) +// Haiku +# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp" + #elif defined(__BEOS__) // BeOS # define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp" diff --git a/3party/boost/boost/config/select_stdlib_config.hpp b/3party/boost/boost/config/select_stdlib_config.hpp index 6ae860b027..0dd7925318 100644 --- a/3party/boost/boost/config/select_stdlib_config.hpp +++ b/3party/boost/boost/config/select_stdlib_config.hpp @@ -28,13 +28,19 @@ #else -// If our std lib was not some version of STLport, then include as it is about -// the smallest of the std lib headers that includes real C++ stuff. (Some std libs do not -// include their C++-related macros in so this additional include makes sure -// we get those definitions) -// (again do not rely on this header being included since users can short-circuit this -// header if they know whose std lib they are using.) -#include +// If our std lib was not some version of STLport, and has not otherwise +// been detected, then include as it is about +// the smallest of the std lib headers that includes real C++ stuff. +// Some std libs do not include their C++-related macros in +// so this additional include makes sure we get those definitions. +// Note: do not rely on this header being included since users can short-circuit this +// #include if they know whose std lib they are using. +#if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\ + && !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\ + && !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\ + && !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER) +#include +#endif #if defined(__LIBCOMO__) // Comeau STL: diff --git a/3party/boost/boost/config/stdlib/dinkumware.hpp b/3party/boost/boost/config/stdlib/dinkumware.hpp index 6fb6322acb..45f9b56958 100644 --- a/3party/boost/boost/config/stdlib/dinkumware.hpp +++ b/3party/boost/boost/config/stdlib/dinkumware.hpp @@ -96,7 +96,7 @@ #include #endif #include -#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) +#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__) # define BOOST_NO_STD_TYPEINFO #endif @@ -147,9 +147,34 @@ # define BOOST_NO_CXX11_STD_ALIGN #endif +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400) +// Intel's compiler can't handle this header yet: +# define BOOST_NO_CXX11_HDR_ATOMIC +#endif + + // 520..610 have std::addressof, but it doesn't support functions // +#if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650 # define BOOST_NO_CXX11_ADDRESSOF +#endif + +// Bug specific to VC14, +// See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t +// and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2 +#if _CPPLIB_VER == 650 +# define BOOST_NO_CXX11_HDR_CODECVT +#endif #ifdef _CPPLIB_VER # define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER diff --git a/3party/boost/boost/config/stdlib/libcomo.hpp b/3party/boost/boost/config/stdlib/libcomo.hpp index 5aacfb2a7c..941498d076 100644 --- a/3party/boost/boost/config/stdlib/libcomo.hpp +++ b/3party/boost/boost/config/stdlib/libcomo.hpp @@ -62,6 +62,16 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + // // Intrinsic type_traits support. // The SGI STL has it's own __type_traits class, which @@ -71,5 +81,3 @@ #define BOOST_HAS_SGI_TYPE_TRAITS #define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) - - diff --git a/3party/boost/boost/config/stdlib/libcpp.hpp b/3party/boost/boost/config/stdlib/libcpp.hpp index 88184ef90f..ab5d123544 100644 --- a/3party/boost/boost/config/stdlib/libcpp.hpp +++ b/3party/boost/boost/config/stdlib/libcpp.hpp @@ -31,6 +31,30 @@ # define BOOST_NO_CXX11_ALLOCATOR #endif +#if __cplusplus < 201103 +# define BOOST_NO_CXX11_HDR_ARRAY +# define BOOST_NO_CXX11_HDR_CODECVT +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_FORWARD_LIST +# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST +# define BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_RANDOM +# define BOOST_NO_CXX11_HDR_RATIO +# define BOOST_NO_CXX11_HDR_REGEX +# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR +# define BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_TUPLE +# define BOOST_NO_CXX11_HDR_TYPEINDEX +# define BOOST_NO_CXX11_HDR_UNORDERED_MAP +# define BOOST_NO_CXX11_HDR_UNORDERED_SET +# define BOOST_NO_CXX11_NUMERIC_LIMITS +# define BOOST_NO_CXX11_ALLOCATOR +# define BOOST_NO_CXX11_SMART_PTR +# define BOOST_NO_CXX11_HDR_FUNCTIONAL +# define BOOST_NO_CXX11_STD_ALIGN +# define BOOST_NO_CXX11_ADDRESSOF +#endif + // // These appear to be unusable/incomplete so far: // @@ -43,4 +67,14 @@ // libc++ uses a non-standard messages_base #define BOOST_NO_STD_MESSAGES +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus <= 201103 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + // --- end --- diff --git a/3party/boost/boost/config/stdlib/libstdcpp3.hpp b/3party/boost/boost/config/stdlib/libstdcpp3.hpp index 2fd6ea7d53..2827294a78 100644 --- a/3party/boost/boost/config/stdlib/libstdcpp3.hpp +++ b/3party/boost/boost/config/stdlib/libstdcpp3.hpp @@ -36,7 +36,8 @@ || defined(_GLIBCXX__PTHREADS) \ || defined(_GLIBCXX_HAS_GTHREADS) \ || defined(_WIN32) \ - || defined(_AIX) + || defined(_AIX) \ + || defined(__HAIKU__) // // If the std lib has thread support turned on, then turn it on in Boost // as well. We do this because some gcc-3.4 std lib headers define _REENTANT @@ -91,6 +92,14 @@ # endif #endif +// +// Decide whether we have C++11 support turned on: +// +#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103) +# define BOOST_LIBSTDCXX11 +#endif +// +// Decide which version of libstdc++ we have, normally // stdlibc++ C++0x support is detected via __GNUC__, __GNUC_MINOR__, and possibly // __GNUC_PATCHLEVEL__ at the suggestion of Jonathan Wakely, one of the stdlibc++ // developers. He also commented: @@ -102,10 +111,56 @@ // // Another resource for understanding stdlibc++ features is: // http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#manual.intro.status.standard.200x +// +// However, using the GCC version number fails when the compiler is clang since this +// only ever claims to emulate GCC-4.2, see https://svn.boost.org/trac/boost/ticket/7473 +// for a long discussion on this issue. What we can do though is use clang's __has_include +// to detect the presence of a C++11 header that was introduced with a specific GCC release. +// We still have to be careful though as many such headers were buggy and/or incomplete when +// first introduced, so we only check for headers that were fully featured from day 1, and then +// use that to infer the underlying GCC version: +// +#ifdef __clang__ + +#if __has_include() +# define BOOST_LIBSTDCXX_VERSION 50100 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40900 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40800 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40700 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40600 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40500 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40400 +#elif __has_include() +# define BOOST_LIBSTDCXX_VERSION 40300 +#endif +// +// GCC 4.8 and 9 add working versions of and respectively. +// However, we have no test for these as the headers were present but broken +// in early GCC versions. +// +#endif + +#if defined(__SUNPRO_CC) && (__SUNPRO_CC >= 0x5130) && (__cplusplus >= 201103L) +// +// Oracle Solaris compiler uses it's own verison of libstdc++ but doesn't +// set __GNUC__ +// +#define BOOST_LIBSTDCXX_VERSION 40800 +#endif + +#if !defined(BOOST_LIBSTDCXX_VERSION) +# define BOOST_LIBSTDCXX_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) +#endif // C++0x headers in GCC 4.3.0 and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_LIBSTDCXX_VERSION < 40300) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_HDR_ARRAY # define BOOST_NO_CXX11_HDR_TUPLE # define BOOST_NO_CXX11_HDR_UNORDERED_MAP @@ -115,7 +170,7 @@ // C++0x headers in GCC 4.4.0 and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 4) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_LIBSTDCXX_VERSION < 40400) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE # define BOOST_NO_CXX11_HDR_FORWARD_LIST # define BOOST_NO_CXX11_HDR_INITIALIZER_LIST @@ -128,14 +183,9 @@ # define BOOST_HAS_TR1_COMPLEX_OVERLOADS #endif -#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) && (!defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE) || !defined(BOOST_NO_CXX11_HDR_MUTEX)) -# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE -# define BOOST_NO_CXX11_HDR_MUTEX -#endif - // C++0x features in GCC 4.5.0 and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 5) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_LIBSTDCXX_VERSION < 40500) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_NUMERIC_LIMITS # define BOOST_NO_CXX11_HDR_FUTURE # define BOOST_NO_CXX11_HDR_RANDOM @@ -143,36 +193,85 @@ // C++0x features in GCC 4.6.0 and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_LIBSTDCXX_VERSION < 40600) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_HDR_TYPEINDEX # define BOOST_NO_CXX11_ADDRESSOF #endif // C++0x features in GCC 4.7.0 and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 7) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_LIBSTDCXX_VERSION < 40700) || !defined(BOOST_LIBSTDCXX11) // Note that although existed prior to 4.7, "steady_clock" is spelled "monotonic_clock" // so 4.7.0 is the first truely conforming one. # define BOOST_NO_CXX11_HDR_CHRONO # define BOOST_NO_CXX11_ALLOCATOR #endif -// C++0x features in GCC 4.7.0 and later +// C++0x features in GCC 4.8.0 and later // -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 8) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +#if (BOOST_LIBSTDCXX_VERSION < 40800) || !defined(BOOST_LIBSTDCXX11) // Note that although existed prior to gcc 4.8 it was largely unimplemented for many types: # define BOOST_NO_CXX11_HDR_ATOMIC +# define BOOST_NO_CXX11_HDR_THREAD #endif -#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 9) || !defined(__GXX_EXPERIMENTAL_CXX0X__) +// C++0x features in GCC 4.9.0 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) // Although is present and compilable against, the actual implementation is not functional // even for the simplest patterns such as "\d" or "[0-9]". This is the case at least in gcc up to 4.8, inclusively. # define BOOST_NO_CXX11_HDR_REGEX #endif -// C++0x headers not yet (fully!) implemented + +#if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7))) +// As of clang-3.6, libstdc++ header throws up errors with clang: +# define BOOST_NO_CXX11_HDR_ATOMIC +#endif // -# define BOOST_NO_CXX11_HDR_THREAD +// C++0x features in GCC 5.1 and later +// +#if (BOOST_LIBSTDCXX_VERSION < 50100) || !defined(BOOST_LIBSTDCXX11) # define BOOST_NO_CXX11_HDR_TYPE_TRAITS # define BOOST_NO_CXX11_HDR_CODECVT # define BOOST_NO_CXX11_ATOMIC_SMART_PTR # define BOOST_NO_CXX11_STD_ALIGN +#endif + +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus <= 201103 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#elif __cplusplus < 201402 || (BOOST_LIBSTDCXX_VERSION < 40900) || !defined(BOOST_LIBSTDCXX11) +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + +// +// Headers not present on Solaris with the Oracle compiler: +#if defined(__SUNPRO_CC) +#define BOOST_NO_CXX11_HDR_FUTURE +#define BOOST_NO_CXX11_HDR_FORWARD_LIST +#define BOOST_NO_CXX11_HDR_ATOMIC +#endif + +#if (!defined(_GLIBCXX_HAS_GTHREADS) || !defined(_GLIBCXX_USE_C99_STDINT_TR1)) + // Headers not always available: +# ifndef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE +# endif +# ifndef BOOST_NO_CXX11_HDR_MUTEX +# define BOOST_NO_CXX11_HDR_MUTEX +# endif +# ifndef BOOST_NO_CXX11_HDR_THREAD +# define BOOST_NO_CXX11_HDR_THREAD +# endif +# ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +# endif +#endif + +#if (!defined(_GTHREAD_USE_MUTEX_TIMEDLOCK) || (_GTHREAD_USE_MUTEX_TIMEDLOCK == 0)) && !defined(BOOST_NO_CXX11_HDR_MUTEX) +// Timed mutexes are not always available: +# define BOOST_NO_CXX11_HDR_MUTEX +#endif // --- end --- diff --git a/3party/boost/boost/config/stdlib/modena.hpp b/3party/boost/boost/config/stdlib/modena.hpp index f2a83888c0..7a85e0cd57 100644 --- a/3party/boost/boost/config/stdlib/modena.hpp +++ b/3party/boost/boost/config/stdlib/modena.hpp @@ -51,6 +51,16 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + #define BOOST_STDLIB "Modena C++ standard library" diff --git a/3party/boost/boost/config/stdlib/msl.hpp b/3party/boost/boost/config/stdlib/msl.hpp index b8f43a1286..dd2775e10c 100644 --- a/3party/boost/boost/config/stdlib/msl.hpp +++ b/3party/boost/boost/config/stdlib/msl.hpp @@ -75,13 +75,14 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + #define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) - - - - - - - - - diff --git a/3party/boost/boost/config/stdlib/roguewave.hpp b/3party/boost/boost/config/stdlib/roguewave.hpp index 2b4e8636c5..97a2b0b90b 100644 --- a/3party/boost/boost/config/stdlib/roguewave.hpp +++ b/3party/boost/boost/config/stdlib/roguewave.hpp @@ -187,3 +187,12 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif diff --git a/3party/boost/boost/config/stdlib/sgi.hpp b/3party/boost/boost/config/stdlib/sgi.hpp index bda77c2275..c8052717ce 100644 --- a/3party/boost/boost/config/stdlib/sgi.hpp +++ b/3party/boost/boost/config/stdlib/sgi.hpp @@ -145,7 +145,14 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF -#define BOOST_STDLIB "SGI standard library" - - +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#define BOOST_STDLIB "SGI standard library" \ No newline at end of file diff --git a/3party/boost/boost/config/stdlib/stlport.hpp b/3party/boost/boost/config/stdlib/stlport.hpp index fd5d3a5a6c..bbc4176c90 100644 --- a/3party/boost/boost/config/stdlib/stlport.hpp +++ b/3party/boost/boost/config/stdlib/stlport.hpp @@ -235,12 +235,14 @@ namespace boost { using std::min; using std::max; } # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + #define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) - - - - - - - - diff --git a/3party/boost/boost/config/stdlib/vacpp.hpp b/3party/boost/boost/config/stdlib/vacpp.hpp index a58ec1c5e1..4ccd0d2466 100644 --- a/3party/boost/boost/config/stdlib/vacpp.hpp +++ b/3party/boost/boost/config/stdlib/vacpp.hpp @@ -51,7 +51,14 @@ # define BOOST_NO_CXX11_STD_ALIGN # define BOOST_NO_CXX11_ADDRESSOF +#if defined(__has_include) +#if !__has_include() +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#elif __cplusplus < 201402 +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif +#else +# define BOOST_NO_CXX14_HDR_SHARED_MUTEX +#endif + #define BOOST_STDLIB "Visual Age default standard library" - - - diff --git a/3party/boost/boost/config/suffix.hpp b/3party/boost/boost/config/suffix.hpp index a3fda5252a..c0ba333918 100644 --- a/3party/boost/boost/config/suffix.hpp +++ b/3party/boost/boost/config/suffix.hpp @@ -1,5 +1,5 @@ // Boost config.hpp configuration header file ------------------------------// -// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file +// boostinspect:ndprecated_macros -- tell the inspect tool to ignore this file // Copyright (c) 2001-2003 John Maddock // Copyright (c) 2001 Darin Adler @@ -646,6 +646,11 @@ namespace std{ using ::type_info; } # define BOOST_ALIGNMENT(x) #endif +// Lack of non-public defaulted functions is implied by the lack of any defaulted functions +#if !defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS) && defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) +# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS +#endif + // Defaulted and deleted function declaration helpers // These macros are intended to be inside a class definition. // BOOST_DEFAULTED_FUNCTION accepts the function declaration and its @@ -681,7 +686,7 @@ namespace std{ using ::type_info; } // Set BOOST_NO_DECLTYPE_N3276 when BOOST_NO_DECLTYPE is defined // #if defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_DECLTYPE_N3276) -#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE +#define BOOST_NO_CXX11_DECLTYPE_N3276 BOOST_NO_CXX11_DECLTYPE #endif // -------------------- Deprecated macros for 1.50 --------------------------- @@ -934,6 +939,18 @@ namespace std{ using ::type_info; } #define BOOST_CONSTEXPR constexpr #define BOOST_CONSTEXPR_OR_CONST constexpr #endif +#if defined(BOOST_NO_CXX14_CONSTEXPR) +#define BOOST_CXX14_CONSTEXPR +#else +#define BOOST_CXX14_CONSTEXPR constexpr +#endif + +// +// Unused variable/typedef workarounds: +// +#ifndef BOOST_ATTRIBUTE_UNUSED +# define BOOST_ATTRIBUTE_UNUSED +#endif #define BOOST_STATIC_CONSTEXPR static BOOST_CONSTEXPR_OR_CONST @@ -957,6 +974,13 @@ namespace std{ using ::type_info; } #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_HAS_VARIADIC_TMPL) #define BOOST_HAS_VARIADIC_TMPL #endif +// +// Set BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS when +// BOOST_NO_CXX11_VARIADIC_TEMPLATES is set: +// +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS) +# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS +#endif // // Finish off with checks for macros that are depricated / no longer supported, diff --git a/3party/boost/boost/config/user.hpp b/3party/boost/boost/config/user.hpp index d226a2d1f4..28e7476afd 100644 --- a/3party/boost/boost/config/user.hpp +++ b/3party/boost/boost/config/user.hpp @@ -119,5 +119,15 @@ // that feature off. // #define BOOST_WHATEVER_NO_LIB - +// BOOST_LIB_BUILDID: Set to the same value as the value passed to Boost.Build's +// --buildid command line option. For example if you built using: +// +// bjam address-model=64 --buildid=amd64 +// +// then compile your code with: +// +// -DBOOST_LIB_BUILDID = amd64 +// +// to ensure the correct libraries are selected at link time. +// #define BOOST_LIB_BUILDID amd64 diff --git a/3party/boost/boost/container/adaptive_pool.hpp b/3party/boost/boost/container/adaptive_pool.hpp index 16ededb017..59ba37bc93 100644 --- a/3party/boost/boost/container/adaptive_pool.hpp +++ b/3party/boost/boost/container/adaptive_pool.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_ADAPTIVE_POOL_HPP #define BOOST_CONTAINER_ADAPTIVE_POOL_HPP -#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -25,15 +29,13 @@ #include #include #include +#include #include -#include #include -#include -#include -#include +#include #include -#include + namespace boost { namespace container { @@ -51,20 +53,12 @@ namespace container { //! //!OverheadPercent is the (approximated) maximum size overhead (1-20%) of the allocator: //!(memory usable for nodes / total memory allocated from the memory allocator) -#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED template < class T - , std::size_t NodesPerBlock = ADP_nodes_per_block - , std::size_t MaxFreeBlocks = ADP_max_free_blocks - , std::size_t OverheadPercent = ADP_overhead_percent + , std::size_t NodesPerBlock BOOST_CONTAINER_DOCONLY(= ADP_nodes_per_block) + , std::size_t MaxFreeBlocks BOOST_CONTAINER_DOCONLY(= ADP_max_free_blocks) + , std::size_t OverheadPercent BOOST_CONTAINER_DOCONLY(= ADP_overhead_percent) + BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I unsigned Version) > -#else -template < class T - , std::size_t NodesPerBlock - , std::size_t MaxFreeBlocks - , std::size_t OverheadPercent - , unsigned Version - > -#endif class adaptive_pool { //!If Version is 1, the allocator is a STL conforming allocator. If Version is 2, @@ -73,9 +67,7 @@ class adaptive_pool typedef unsigned int allocation_type; typedef adaptive_pool self_t; static const std::size_t nodes_per_block = NodesPerBlock; @@ -83,9 +75,7 @@ class adaptive_pool static const std::size_t overhead_percent = OverheadPercent; static const std::size_t real_nodes_per_block = NodesPerBlock; - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - BOOST_STATIC_ASSERT((Version <=2)); - #endif + BOOST_CONTAINER_DOCIGN(BOOST_STATIC_ASSERT((Version <=2))); public: //------- @@ -93,9 +83,9 @@ class adaptive_pool typedef T * pointer; typedef const T * const_pointer; typedef typename ::boost::container:: - container_detail::unvoid::type & reference; - typedef const typename ::boost::container:: - container_detail::unvoid::type & const_reference; + container_detail::unvoid_ref::type reference; + typedef typename ::boost::container:: + container_detail::unvoid_ref::type const_reference; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; @@ -120,9 +110,7 @@ class adaptive_pool , NodesPerBlock , MaxFreeBlocks , OverheadPercent - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - , Version - #endif + BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version) > other; }; @@ -139,37 +127,34 @@ class adaptive_pool public: //!Default constructor - adaptive_pool() BOOST_CONTAINER_NOEXCEPT + adaptive_pool() BOOST_NOEXCEPT_OR_NOTHROW {} //!Copy constructor from other adaptive_pool. - adaptive_pool(const adaptive_pool &) BOOST_CONTAINER_NOEXCEPT + adaptive_pool(const adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW {} //!Copy constructor from related adaptive_pool. template adaptive_pool (const adaptive_pool &) BOOST_CONTAINER_NOEXCEPT + BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version)> &) BOOST_NOEXCEPT_OR_NOTHROW {} //!Destructor - ~adaptive_pool() BOOST_CONTAINER_NOEXCEPT + ~adaptive_pool() BOOST_NOEXCEPT_OR_NOTHROW {} //!Returns the number of elements that could be allocated. //!Never throws - size_type max_size() const BOOST_CONTAINER_NOEXCEPT + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW { return size_type(-1)/sizeof(T); } //!Allocate memory for an array of count elements. //!Throws std::bad_alloc if there is no enough memory pointer allocate(size_type count, const void * = 0) { - if(count > this->max_size()) + if(BOOST_UNLIKELY(count > this->max_size())) boost::container::throw_bad_alloc(); if(Version == 1 && count == 1){ @@ -185,7 +170,7 @@ class adaptive_pool //!Deallocate allocated memory. //!Never throws - void deallocate(const pointer &ptr, size_type count) BOOST_CONTAINER_NOEXCEPT + void deallocate(const pointer &ptr, size_type count) BOOST_NOEXCEPT_OR_NOTHROW { (void)count; if(Version == 1 && count == 1){ @@ -199,22 +184,20 @@ class adaptive_pool } } - std::pair - allocation_command(allocation_type command, + pointer allocation_command(allocation_type command, size_type limit_size, - size_type preferred_size, - size_type &received_size, pointer reuse = pointer()) + size_type &prefer_in_recvd_out_size, + pointer &reuse) { - std::pair ret = - this->priv_allocation_command(command, limit_size, preferred_size, received_size, reuse); - if(!ret.first && !(command & BOOST_CONTAINER_NOTHROW_ALLOCATION)) + pointer ret = this->priv_allocation_command(command, limit_size, prefer_in_recvd_out_size, reuse); + if(BOOST_UNLIKELY(!ret && !(command & BOOST_CONTAINER_NOTHROW_ALLOCATION))) boost::container::throw_bad_alloc(); return ret; } //!Returns maximum the number of objects the previously allocated memory //!pointed by p can hold. - size_type size(pointer p) const BOOST_CONTAINER_NOEXCEPT + size_type size(pointer p) const BOOST_NOEXCEPT_OR_NOTHROW { return boost_cont_size(p); } //!Allocates just one object. Memory allocated with this function @@ -245,7 +228,7 @@ class adaptive_pool //!Deallocates memory previously allocated with allocate_one(). //!You should never use deallocate_one to deallocate memory allocated //!with other functions different from allocate_one(). Never throws - void deallocate_one(pointer p) BOOST_CONTAINER_NOEXCEPT + void deallocate_one(pointer p) BOOST_NOEXCEPT_OR_NOTHROW { typedef container_detail::shared_adaptive_node_pool shared_pool_t; @@ -253,7 +236,7 @@ class adaptive_pool singleton_t::instance().deallocate_node(p); } - void deallocate_individual(multiallocation_chain &chain) BOOST_CONTAINER_NOEXCEPT + void deallocate_individual(multiallocation_chain &chain) BOOST_NOEXCEPT_OR_NOTHROW { typedef container_detail::shared_adaptive_node_pool shared_pool_t; @@ -270,14 +253,15 @@ class adaptive_pool BOOST_STATIC_ASSERT(( Version > 1 ));/* boost_cont_memchain ch; BOOST_CONTAINER_MEMCHAIN_INIT(&ch); - if(!boost_cont_multialloc_nodes(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch)){ + if(BOOST_UNLIKELY(!boost_cont_multialloc_nodes(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch))){ boost::container::throw_bad_alloc(); } chain.incorporate_after(chain.before_begin() ,(T*)BOOST_CONTAINER_MEMCHAIN_FIRSTMEM(&ch) ,(T*)BOOST_CONTAINER_MEMCHAIN_LASTMEM(&ch) ,BOOST_CONTAINER_MEMCHAIN_SIZE(&ch) );*/ - if(!boost_cont_multialloc_nodes(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast(&chain))){ + if(BOOST_UNLIKELY(!boost_cont_multialloc_nodes + (n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast(&chain)))){ boost::container::throw_bad_alloc(); } } @@ -289,19 +273,20 @@ class adaptive_pool BOOST_STATIC_ASSERT(( Version > 1 ));/* boost_cont_memchain ch; BOOST_CONTAINER_MEMCHAIN_INIT(&ch); - if(!boost_cont_multialloc_arrays(n_elements, elem_sizes, sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch)){ + if(BOOST_UNLIKELY(!boost_cont_multialloc_arrays(n_elements, elem_sizes, sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch))){ boost::container::throw_bad_alloc(); } chain.incorporate_after(chain.before_begin() ,(T*)BOOST_CONTAINER_MEMCHAIN_FIRSTMEM(&ch) ,(T*)BOOST_CONTAINER_MEMCHAIN_LASTMEM(&ch) ,BOOST_CONTAINER_MEMCHAIN_SIZE(&ch) );*/ - if(!boost_cont_multialloc_arrays(n_elements, elem_sizes, sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast(&chain))){ + if(BOOST_UNLIKELY(!boost_cont_multialloc_arrays + (n_elements, elem_sizes, sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast(&chain)))){ boost::container::throw_bad_alloc(); } } - void deallocate_many(multiallocation_chain &chain) BOOST_CONTAINER_NOEXCEPT + void deallocate_many(multiallocation_chain &chain) BOOST_NOEXCEPT_OR_NOTHROW {/* boost_cont_memchain ch; void *beg(&*chain.begin()), *last(&*chain.last()); @@ -312,7 +297,7 @@ class adaptive_pool } //!Deallocates all free blocks of the pool - static void deallocate_free_blocks() BOOST_CONTAINER_NOEXCEPT + static void deallocate_free_blocks() BOOST_NOEXCEPT_OR_NOTHROW { typedef container_detail::shared_adaptive_node_pool shared_pool_t; @@ -322,37 +307,39 @@ class adaptive_pool //!Swaps allocators. Does not throw. If each allocator is placed in a //!different memory segment, the result is undefined. - friend void swap(adaptive_pool &, adaptive_pool &) BOOST_CONTAINER_NOEXCEPT + friend void swap(adaptive_pool &, adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW {} //!An allocator always compares to true, as memory allocated with one //!instance can be deallocated by another instance - friend bool operator==(const adaptive_pool &, const adaptive_pool &) BOOST_CONTAINER_NOEXCEPT + friend bool operator==(const adaptive_pool &, const adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW { return true; } //!An allocator always compares to false, as memory allocated with one //!instance can be deallocated by another instance - friend bool operator!=(const adaptive_pool &, const adaptive_pool &) BOOST_CONTAINER_NOEXCEPT + friend bool operator!=(const adaptive_pool &, const adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW { return false; } private: - std::pair priv_allocation_command + pointer priv_allocation_command (allocation_type command, std::size_t limit_size - ,std::size_t preferred_size,std::size_t &received_size, void *reuse_ptr) + ,size_type &prefer_in_recvd_out_size, pointer &reuse_ptr) { + std::size_t const preferred_size = prefer_in_recvd_out_size; boost_cont_command_ret_t ret = {0 , 0}; - if(limit_size > this->max_size() || preferred_size > this->max_size()){ -// ret.first = 0; - return std::pair(pointer(), false); + if(BOOST_UNLIKELY(limit_size > this->max_size() || preferred_size > this->max_size())){ + return pointer(); } std::size_t l_size = limit_size*sizeof(T); std::size_t p_size = preferred_size*sizeof(T); std::size_t r_size; { - ret = boost_cont_allocation_command(command, sizeof(T), l_size, p_size, &r_size, reuse_ptr); + void* reuse_ptr_void = reuse_ptr; + ret = boost_cont_allocation_command(command, sizeof(T), l_size, p_size, &r_size, reuse_ptr_void); + reuse_ptr = ret.second ? static_cast(reuse_ptr_void) : 0; } - received_size = r_size/sizeof(T); - return std::pair(static_cast(ret.first), !!ret.second); + prefer_in_recvd_out_size = r_size/sizeof(T); + return (pointer)ret.first; } }; diff --git a/3party/boost/boost/container/allocator.hpp b/3party/boost/boost/container/allocator.hpp index 14d56452b6..9f757c73e8 100644 --- a/3party/boost/boost/container/allocator.hpp +++ b/3party/boost/boost/container/allocator.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_ALLOCATOR_HPP #define BOOST_CONTAINER_ALLOCATOR_HPP -#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -25,7 +29,6 @@ #include #include #include -#include namespace boost { namespace container { @@ -156,12 +159,12 @@ class allocator //!Default constructor //!Never throws - allocator() BOOST_CONTAINER_NOEXCEPT + allocator() BOOST_NOEXCEPT_OR_NOTHROW {} //!Constructor from other allocator. //!Never throws - allocator(const allocator &) BOOST_CONTAINER_NOEXCEPT + allocator(const allocator &) BOOST_NOEXCEPT_OR_NOTHROW {} //!Constructor from related allocator. @@ -171,7 +174,7 @@ class allocator #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED , Version, AllocationDisableMask #endif - > &) BOOST_CONTAINER_NOEXCEPT + > &) BOOST_NOEXCEPT_OR_NOTHROW {} //!Allocates memory for an array of count elements. @@ -191,45 +194,43 @@ class allocator //!Deallocates previously allocated memory. //!Never throws - void deallocate(pointer ptr, size_type) BOOST_CONTAINER_NOEXCEPT + void deallocate(pointer ptr, size_type) BOOST_NOEXCEPT_OR_NOTHROW { boost_cont_free(ptr); } //!Returns the maximum number of elements that could be allocated. //!Never throws - size_type max_size() const BOOST_CONTAINER_NOEXCEPT + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW { return size_type(-1)/sizeof(T); } //!Swaps two allocators, does nothing //!because this allocator is stateless - friend void swap(self_t &, self_t &) BOOST_CONTAINER_NOEXCEPT + friend void swap(self_t &, self_t &) BOOST_NOEXCEPT_OR_NOTHROW {} //!An allocator always compares to true, as memory allocated with one //!instance can be deallocated by another instance - friend bool operator==(const allocator &, const allocator &) BOOST_CONTAINER_NOEXCEPT + friend bool operator==(const allocator &, const allocator &) BOOST_NOEXCEPT_OR_NOTHROW { return true; } //!An allocator always compares to false, as memory allocated with one //!instance can be deallocated by another instance - friend bool operator!=(const allocator &, const allocator &) BOOST_CONTAINER_NOEXCEPT + friend bool operator!=(const allocator &, const allocator &) BOOST_NOEXCEPT_OR_NOTHROW { return false; } //!An advanced function that offers in-place expansion shrink to fit and new allocation //!capabilities. Memory allocated with this function can only be deallocated with deallocate() //!or deallocate_many(). //!This function is available only with Version == 2 - std::pair - allocation_command(allocation_type command, + pointer allocation_command(allocation_type command, size_type limit_size, - size_type preferred_size, - size_type &received_size, pointer reuse = pointer()) + size_type &prefer_in_recvd_out_size, + pointer &reuse) { BOOST_STATIC_ASSERT(( Version > 1 )); const allocation_type mask(AllocationDisableMask); command &= ~mask; - std::pair ret = - priv_allocation_command(command, limit_size, preferred_size, received_size, reuse); - if(!ret.first && !(command & BOOST_CONTAINER_NOTHROW_ALLOCATION)) + pointer ret = this->priv_allocation_command(command, limit_size, prefer_in_recvd_out_size, reuse); + if(!ret && !(command & BOOST_CONTAINER_NOTHROW_ALLOCATION)) boost::container::throw_bad_alloc(); return ret; } @@ -239,7 +240,7 @@ class allocator //!Memory must not have been allocated with //!allocate_one or allocate_individual. //!This function is available only with Version == 2 - size_type size(pointer p) const BOOST_CONTAINER_NOEXCEPT + size_type size(pointer p) const BOOST_NOEXCEPT_OR_NOTHROW { BOOST_STATIC_ASSERT(( Version > 1 )); return boost_cont_size(p); @@ -268,7 +269,7 @@ class allocator //!You should never use deallocate_one to deallocate memory allocated //!with other functions different from allocate_one() or allocate_individual. //Never throws - void deallocate_one(pointer p) BOOST_CONTAINER_NOEXCEPT + void deallocate_one(pointer p) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_STATIC_ASSERT(( Version > 1 )); return this->deallocate(p, 1); @@ -276,7 +277,7 @@ class allocator //!Deallocates memory allocated with allocate_one() or allocate_individual(). //!This function is available only with Version == 2 - void deallocate_individual(multiallocation_chain &chain) BOOST_CONTAINER_NOEXCEPT + void deallocate_individual(multiallocation_chain &chain) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_STATIC_ASSERT(( Version > 1 )); return this->deallocate_many(chain); @@ -326,7 +327,7 @@ class allocator //!Deallocates several elements allocated by //!allocate_many(), allocate(), or allocation_command(). //!This function is available only with Version == 2 - void deallocate_many(multiallocation_chain &chain) BOOST_CONTAINER_NOEXCEPT + void deallocate_many(multiallocation_chain &chain) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_STATIC_ASSERT(( Version > 1 )); boost_cont_memchain ch; @@ -339,22 +340,26 @@ class allocator private: - std::pair priv_allocation_command - (allocation_type command, std::size_t limit_size - ,std::size_t preferred_size,std::size_t &received_size, void *reuse_ptr) + pointer priv_allocation_command + (allocation_type command, std::size_t limit_size + ,size_type &prefer_in_recvd_out_size + ,pointer &reuse_ptr) { + std::size_t const preferred_size = prefer_in_recvd_out_size; boost_cont_command_ret_t ret = {0 , 0}; if((limit_size > this->max_size()) | (preferred_size > this->max_size())){ - return std::pair(pointer(), false); + return pointer(); } std::size_t l_size = limit_size*sizeof(T); std::size_t p_size = preferred_size*sizeof(T); std::size_t r_size; { - ret = boost_cont_allocation_command(command, sizeof(T), l_size, p_size, &r_size, reuse_ptr); + void* reuse_ptr_void = reuse_ptr; + ret = boost_cont_allocation_command(command, sizeof(T), l_size, p_size, &r_size, reuse_ptr_void); + reuse_ptr = ret.second ? static_cast(reuse_ptr_void) : 0; } - received_size = r_size/sizeof(T); - return std::pair(static_cast(ret.first), !!ret.second); + prefer_in_recvd_out_size = r_size/sizeof(T); + return (pointer)ret.first; } }; diff --git a/3party/boost/boost/container/allocator_traits.hpp b/3party/boost/boost/container/allocator_traits.hpp index 4857212c74..2c7900ea72 100644 --- a/3party/boost/boost/container/allocator_traits.hpp +++ b/3party/boost/boost/container/allocator_traits.hpp @@ -13,41 +13,82 @@ // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_CONTAINER_ALLOCATOR_ALLOCATOR_TRAITS_HPP #define BOOST_CONTAINER_ALLOCATOR_ALLOCATOR_TRAITS_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include -#include -#include -#include -#include -#include -#include -#include -#include //numeric_limits<>::max() -#include //placement new -#include //std::allocator -#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#include +// container +#include +#include +#include //is_empty +#include +#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP +#include #endif +// intrusive +#include +#include +// move +#include +// move/detail +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif +// other boost +#include + +#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME allocate +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace container_detail { +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 2 +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 2 +#include + +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME destroy +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace container_detail { +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 1 +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 1 +#include + +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME construct +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEG namespace boost { namespace container { namespace container_detail { +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MIN 1 +#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_MAX 9 +#include + +#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED namespace boost { namespace container { #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED +namespace allocator_traits_detail { + +BOOST_INTRUSIVE_HAS_STATIC_MEMBER_FUNC_SIGNATURE(has_max_size, max_size) +BOOST_INTRUSIVE_HAS_STATIC_MEMBER_FUNC_SIGNATURE(has_select_on_container_copy_construction, select_on_container_copy_construction) + +} //namespace allocator_traits_detail { + namespace container_detail { //workaround needed for C++03 compilers with no construct() //supporting rvalue references -template +template struct is_std_allocator { static const bool value = false; }; @@ -55,56 +96,81 @@ template struct is_std_allocator< std::allocator > { static const bool value = true; }; +template +struct is_not_std_allocator +{ static const bool value = !is_std_allocator::value; }; + +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(pointer) +BOOST_INTRUSIVE_INSTANTIATE_EVAL_DEFAULT_TYPE_TMPLT(const_pointer) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(reference) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(const_reference) +BOOST_INTRUSIVE_INSTANTIATE_EVAL_DEFAULT_TYPE_TMPLT(void_pointer) +BOOST_INTRUSIVE_INSTANTIATE_EVAL_DEFAULT_TYPE_TMPLT(const_void_pointer) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(size_type) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(propagate_on_container_copy_assignment) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(propagate_on_container_move_assignment) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(propagate_on_container_swap) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(is_always_equal) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(difference_type) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(is_partially_propagable) + } //namespace container_detail { #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED //! The class template allocator_traits supplies a uniform interface to all allocator types. //! This class is a C++03-compatible implementation of std::allocator_traits -template +template struct allocator_traits { //allocator_type - typedef Alloc allocator_type; + typedef Allocator allocator_type; //value_type - typedef typename Alloc::value_type value_type; + typedef typename allocator_type::value_type value_type; #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Alloc::pointer if such a type exists; otherwise, value_type* + //! Allocator::pointer if such a type exists; otherwise, value_type* //! typedef unspecified pointer; - //! Alloc::const_pointer if such a type exists ; otherwise, pointer_traits::rebind::rebind::rebind. + //! Allocator::void_pointer if such a type exists ; otherwise, pointer_traits::rebind. //! typedef see_documentation void_pointer; - //! Alloc::const_void_pointer if such a type exists ; otherwis e, pointer_traits::rebind::rebind::difference_type. + //! Allocator::difference_type if such a type exists ; otherwise, pointer_traits::difference_type. //! typedef see_documentation difference_type; - //! Alloc::size_type if such a type exists ; otherwise, make_unsigned::type + //! Allocator::size_type if such a type exists ; otherwise, make_unsigned::type //! typedef see_documentation size_type; - //! Alloc::propagate_on_container_copy_assignment if such a type exists, otherwise an integral_constant - //! type with internal constant static member value == false. + //! Allocator::propagate_on_container_copy_assignment if such a type exists, otherwise a type + //! with an internal constant static boolean member value == false. typedef see_documentation propagate_on_container_copy_assignment; - //! Alloc::propagate_on_container_move_assignment if such a type exists, otherwise an integral_constant - //! type with internal constant static member value == false. + //! Allocator::propagate_on_container_move_assignment if such a type exists, otherwise a type + //! with an internal constant static boolean member value == false. typedef see_documentation propagate_on_container_move_assignment; - //! Alloc::propagate_on_container_swap if such a type exists, otherwise an integral_constant - //! type with internal constant static member value == false. + //! Allocator::propagate_on_container_swap if such a type exists, otherwise a type + //! with an internal constant static boolean member value == false. typedef see_documentation propagate_on_container_swap; - //! Defines an allocator: Alloc::rebind::other if such a type exists; otherwise, Alloc - //! if Alloc is a class template instantiation of the form Alloc, where Args is zero or + //! Allocator::is_always_equal if such a type exists, otherwise a type + //! with an internal constant static boolean member value == is_empty::value + typedef see_documentation is_always_equal; + //! Allocator::is_partially_propagable if such a type exists, otherwise a type + //! with an internal constant static boolean member value == false + //! Note: Non-standard extension used to implement `small_vector_allocator`. + typedef see_documentation is_partially_propagable; + //! Defines an allocator: Allocator::rebind::other if such a type exists; otherwise, Allocator + //! if Allocator is a class template instantiation of the form Allocator, where Args is zero or //! more type arguments ; otherwise, the instantiation of rebind_alloc is ill-formed. //! //! In C++03 compilers rebind_alloc is a struct derived from an allocator @@ -117,162 +183,158 @@ struct allocator_traits template using rebind_traits = allocator_traits >; //! Non-standard extension: Portable allocator rebind for C++03 and C++11 compilers. - //! type is an allocator related to Alloc deduced deduced by rules explained in rebind_alloc. + //! type is an allocator related to Allocator deduced deduced by rules explained in rebind_alloc. template struct portable_rebind_alloc { typedef see_documentation type; }; #else //pointer - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, pointer, value_type*) pointer; //const_pointer - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Alloc, + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Allocator, const_pointer, typename boost::intrusive::pointer_traits::template rebind_pointer) const_pointer; //reference - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - reference, typename container_detail::unvoid::type&) + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, + reference, typename container_detail::unvoid_ref::type) reference; //const_reference - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - const_reference, const typename container_detail::unvoid::type&) + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, + const_reference, typename container_detail::unvoid_ref::type) const_reference; //void_pointer - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Alloc, + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Allocator, void_pointer, typename boost::intrusive::pointer_traits::template rebind_pointer) void_pointer; //const_void_pointer - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Alloc, + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(boost::container::container_detail::, Allocator, const_void_pointer, typename boost::intrusive::pointer_traits::template rebind_pointer) const_void_pointer; //difference_type - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, difference_type, std::ptrdiff_t) difference_type; //size_type - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, size_type, std::size_t) size_type; //propagate_on_container_copy_assignment - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - propagate_on_container_copy_assignment, boost::false_type) + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, + propagate_on_container_copy_assignment, container_detail::false_type) propagate_on_container_copy_assignment; //propagate_on_container_move_assignment - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - propagate_on_container_move_assignment, boost::false_type) + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, + propagate_on_container_move_assignment, container_detail::false_type) propagate_on_container_move_assignment; //propagate_on_container_swap - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Alloc, - propagate_on_container_swap, boost::false_type) + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, + propagate_on_container_swap, container_detail::false_type) propagate_on_container_swap; + //is_always_equal + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, + is_always_equal, container_detail::is_empty) + is_always_equal; + //is_partially_propagable + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, Allocator, + is_partially_propagable, container_detail::false_type) + is_partially_propagable; + //rebind_alloc & rebind_traits #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) //C++11 - template using rebind_alloc = typename boost::intrusive::detail::type_rebinder::type; + template using rebind_alloc = typename boost::intrusive::pointer_rebind::type; template using rebind_traits = allocator_traits< rebind_alloc >; #else // #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) //Some workaround for C++03 or C++11 compilers with no template aliases template - struct rebind_alloc : boost::intrusive::detail::type_rebinder::type + struct rebind_alloc : boost::intrusive::pointer_rebind::type { - typedef typename boost::intrusive::detail::type_rebinder::type Base; + typedef typename boost::intrusive::pointer_rebind::type Base; #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template - rebind_alloc(BOOST_FWD_REF(Args)... args) - : Base(boost::forward(args)...) - {} + template + rebind_alloc(BOOST_FWD_REF(Args)... args) : Base(boost::forward(args)...) {} #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - rebind_alloc(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - : Base(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)) \ - {} \ - // - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_ALLOCATOR_TRAITS_REBIND_ALLOC(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N\ + explicit rebind_alloc(BOOST_MOVE_UREF##N) : Base(BOOST_MOVE_FWD##N){}\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_ALLOCATOR_TRAITS_REBIND_ALLOC) + #undef BOOST_CONTAINER_ALLOCATOR_TRAITS_REBIND_ALLOC #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) }; template struct rebind_traits - : allocator_traits::type> + : allocator_traits::type> {}; #endif // #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) + + //portable_rebind_alloc template struct portable_rebind_alloc - { typedef typename boost::intrusive::detail::type_rebinder::type type; }; + { typedef typename boost::intrusive::pointer_rebind::type type; }; #endif //BOOST_CONTAINER_DOXYGEN_INVOKED //! Returns: a.allocate(n) //! - static pointer allocate(Alloc &a, size_type n) + static pointer allocate(Allocator &a, size_type n) { return a.allocate(n); } //! Returns: a.deallocate(p, n) //! //! Throws: Nothing - static void deallocate(Alloc &a, pointer p, size_type n) + static void deallocate(Allocator &a, pointer p, size_type n) { a.deallocate(p, n); } //! Effects: calls a.allocate(n, p) if that call is well-formed; //! otherwise, invokes a.allocate(n) - static pointer allocate(Alloc &a, size_type n, const_void_pointer p) + static pointer allocate(Allocator &a, size_type n, const_void_pointer p) { const bool value = boost::container::container_detail:: has_member_function_callable_with_allocate - ::value; - ::boost::integral_constant flag; + ::value; + container_detail::bool_ flag; return allocator_traits::priv_allocate(flag, a, n, p); } //! Effects: calls a.destroy(p) if that call is well-formed; //! otherwise, invokes p->~T(). template - static void destroy(Alloc &a, T*p) BOOST_CONTAINER_NOEXCEPT + static void destroy(Allocator &a, T*p) BOOST_NOEXCEPT_OR_NOTHROW { typedef T* destroy_pointer; const bool value = boost::container::container_detail:: has_member_function_callable_with_destroy - ::value; - ::boost::integral_constant flag; + ::value; + container_detail::bool_ flag; allocator_traits::priv_destroy(flag, a, p); } //! Returns: a.max_size() if that expression is well-formed; otherwise, //! numeric_limits::max(). - static size_type max_size(const Alloc &a) BOOST_CONTAINER_NOEXCEPT + static size_type max_size(const Allocator &a) BOOST_NOEXCEPT_OR_NOTHROW { - const bool value = boost::container::container_detail:: - has_member_function_callable_with_max_size - ::value; - ::boost::integral_constant flag; + const bool value = allocator_traits_detail::has_max_size::value; + container_detail::bool_ flag; return allocator_traits::priv_max_size(flag, a); } //! Returns: a.select_on_container_copy_construction() if that expression is well-formed; //! otherwise, a. - static - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - typename container_detail::if_c - < boost::container::container_detail:: - has_member_function_callable_with_select_on_container_copy_construction - ::value - , Alloc - , const Alloc & - >::type - #else - Alloc - #endif - select_on_container_copy_construction(const Alloc &a) + static BOOST_CONTAINER_DOC1ST(Allocator, + typename container_detail::if_c + < allocator_traits_detail::has_select_on_container_copy_construction::value + BOOST_MOVE_I Allocator BOOST_MOVE_I const Allocator & >::type) + select_on_container_copy_construction(const Allocator &a) { - const bool value = boost::container::container_detail:: - has_member_function_callable_with_select_on_container_copy_construction - ::value; - ::boost::integral_constant flag; + const bool value = allocator_traits_detail::has_select_on_container_copy_construction + ::value; + container_detail::bool_ flag; return allocator_traits::priv_select_on_container_copy_construction(flag, a); } @@ -280,122 +342,124 @@ struct allocator_traits //! Effects: calls a.construct(p, std::forward(args)...) if that call is well-formed; //! otherwise, invokes ::new (static_cast(p)) T(std::forward(args)...) template - static void construct(Alloc & a, T* p, BOOST_FWD_REF(Args)... args) + static void construct(Allocator & a, T* p, BOOST_FWD_REF(Args)... args) { - ::boost::integral_constant::value> flag; + static const bool value = ::boost::move_detail::and_ + < container_detail::is_not_std_allocator + , boost::container::container_detail::has_member_function_callable_with_construct + < Allocator, T*, Args... > + >::value; + container_detail::bool_ flag; allocator_traits::priv_construct(flag, a, p, ::boost::forward(args)...); } #endif - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + + //! Returns: a.storage_is_unpropagable(p) if is_partially_propagable::value is true; otherwise, + //! false. + static bool storage_is_unpropagable(const Allocator &a, pointer p) BOOST_NOEXCEPT_OR_NOTHROW + { + container_detail::bool_ flag; + return allocator_traits::priv_storage_is_unpropagable(flag, a, p); + } + + //! Returns: true if is_always_equal::value == true, otherwise, + //! a == b. + static bool equal(const Allocator &a, const Allocator &b) BOOST_NOEXCEPT_OR_NOTHROW + { + container_detail::bool_ flag; + return allocator_traits::priv_equal(flag, a, b); + } + #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + private: + static pointer priv_allocate(container_detail::true_type, Allocator &a, size_type n, const_void_pointer p) + { return a.allocate(n, p); } + + static pointer priv_allocate(container_detail::false_type, Allocator &a, size_type n, const_void_pointer) + { return a.allocate(n); } + + template + static void priv_destroy(container_detail::true_type, Allocator &a, T* p) BOOST_NOEXCEPT_OR_NOTHROW + { a.destroy(p); } + + template + static void priv_destroy(container_detail::false_type, Allocator &, T* p) BOOST_NOEXCEPT_OR_NOTHROW + { p->~T(); (void)p; } + + static size_type priv_max_size(container_detail::true_type, const Allocator &a) BOOST_NOEXCEPT_OR_NOTHROW + { return a.max_size(); } + + static size_type priv_max_size(container_detail::false_type, const Allocator &) BOOST_NOEXCEPT_OR_NOTHROW + { return size_type(-1)/sizeof(value_type); } + + static Allocator priv_select_on_container_copy_construction(container_detail::true_type, const Allocator &a) + { return a.select_on_container_copy_construction(); } + + static const Allocator &priv_select_on_container_copy_construction(container_detail::false_type, const Allocator &a) BOOST_NOEXCEPT_OR_NOTHROW + { return a; } + + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) + template + static void priv_construct(container_detail::true_type, Allocator &a, T *p, BOOST_FWD_REF(Args) ...args) + { a.construct( p, ::boost::forward(args)...); } + + template + static void priv_construct(container_detail::false_type, Allocator &, T *p, BOOST_FWD_REF(Args) ...args) + { ::new((void*)p, boost_container_new_t()) T(::boost::forward(args)...); } + #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) + public: + + #define BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_IMPL(N) \ + template\ + static void construct(Allocator &a, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + static const bool value = ::boost::move_detail::and_ \ + < container_detail::is_not_std_allocator \ + , boost::container::container_detail::has_member_function_callable_with_construct \ + < Allocator, T* BOOST_MOVE_I##N BOOST_MOVE_FWD_T##N > \ + >::value; \ + container_detail::bool_ flag;\ + (priv_construct)(flag, a, p BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + }\ + // + BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_IMPL) + #undef BOOST_CONTAINER_ALLOCATOR_TRAITS_CONSTRUCT_IMPL + private: - static pointer priv_allocate(boost::true_type, Alloc &a, size_type n, const_void_pointer p) - { return a.allocate(n, p); } + ///////////////////////////////// + // priv_construct + ///////////////////////////////// + #define BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL(N) \ + template\ + static void priv_construct(container_detail::true_type, Allocator &a, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + { a.construct( p BOOST_MOVE_I##N BOOST_MOVE_FWD##N ); }\ + \ + template\ + static void priv_construct(container_detail::false_type, Allocator &, T *p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + { ::new((void*)p, boost_container_new_t()) T(BOOST_MOVE_FWD##N); }\ + // + BOOST_MOVE_ITERATE_0TO8(BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL) + #undef BOOST_CONTAINER_ALLOCATOR_TRAITS_PRIV_CONSTRUCT_IMPL - static pointer priv_allocate(boost::false_type, Alloc &a, size_type n, const_void_pointer) - { return allocator_traits::allocate(a, n); } + #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template - static void priv_destroy(boost::true_type, Alloc &a, T* p) BOOST_CONTAINER_NOEXCEPT - { a.destroy(p); } + template + static void priv_construct(container_detail::false_type, Allocator &, T *p, const ::boost::container::default_init_t&) + { ::new((void*)p) T; } - template - static void priv_destroy(boost::false_type, Alloc &, T* p) BOOST_CONTAINER_NOEXCEPT - { p->~T(); (void)p; } + static bool priv_storage_is_unpropagable(container_detail::true_type, const Allocator &a, pointer p) + { return a.storage_is_unpropagable(p); } - static size_type priv_max_size(boost::true_type, const Alloc &a) BOOST_CONTAINER_NOEXCEPT - { return a.max_size(); } + static bool priv_storage_is_unpropagable(container_detail::false_type, const Allocator &, pointer) + { return false; } - static size_type priv_max_size(boost::false_type, const Alloc &) BOOST_CONTAINER_NOEXCEPT - { return (std::numeric_limits::max)(); } + static bool priv_equal(container_detail::true_type, const Allocator &, const Allocator &) + { return true; } - static Alloc priv_select_on_container_copy_construction(boost::true_type, const Alloc &a) - { return a.select_on_container_copy_construction(); } + static bool priv_equal(container_detail::false_type, const Allocator &a, const Allocator &b) + { return a == b; } - static const Alloc &priv_select_on_container_copy_construction(boost::false_type, const Alloc &a) BOOST_CONTAINER_NOEXCEPT - { return a; } - - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template - static void priv_construct(boost::false_type, Alloc &a, T *p, BOOST_FWD_REF(Args) ...args) - { - const bool value = boost::container::container_detail:: - has_member_function_callable_with_construct - < Alloc, T*, Args... >::value; - ::boost::integral_constant flag; - priv_construct_dispatch2(flag, a, p, ::boost::forward(args)...); - } - - template - static void priv_construct(boost::true_type, Alloc &a, T *p, BOOST_FWD_REF(Args) ...args) - { - priv_construct_dispatch2(boost::false_type(), a, p, ::boost::forward(args)...); - } - - template - static void priv_construct_dispatch2(boost::true_type, Alloc &a, T *p, BOOST_FWD_REF(Args) ...args) - { a.construct( p, ::boost::forward(args)...); } - - template - static void priv_construct_dispatch2(boost::false_type, Alloc &, T *p, BOOST_FWD_REF(Args) ...args) - { ::new((void*)p) T(::boost::forward(args)...); } - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - public: - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - static void construct(Alloc &a, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - ::boost::integral_constant::value> flag; \ - allocator_traits::priv_construct(flag, a, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - // - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - private: - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - static void priv_construct(boost::false_type, Alloc &a, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST,_)) \ - { \ - const bool value = \ - boost::container::container_detail::has_member_function_callable_with_construct \ - < Alloc, T* BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_FWD_TYPE, _) >::value; \ - ::boost::integral_constant flag; \ - priv_construct_dispatch2(flag, a, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - } \ - \ - template \ - static void priv_construct(boost::true_type, Alloc &a, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST,_)) \ - { \ - priv_construct_dispatch2(boost::false_type(), a, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - } \ - \ - template \ - static void priv_construct_dispatch2(boost::true_type, Alloc &a, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST,_)) \ - { a.construct( p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); } \ - \ - template \ - static void priv_construct_dispatch2(boost::false_type, Alloc &, T *p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _) ) \ - { ::new((void*)p) T(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - // - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - - template - static void priv_construct_dispatch2(boost::false_type, Alloc &, T *p, ::boost::container::default_init_t) - { ::new((void*)p) T; } #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED }; } //namespace container { diff --git a/3party/boost/boost/container/container_fwd.hpp b/3party/boost/boost/container/container_fwd.hpp index 415de0f378..a9b421c2b2 100644 --- a/3party/boost/boost/container/container_fwd.hpp +++ b/3party/boost/boost/container/container_fwd.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2014. 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) // @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_CONTAINER_FWD_HPP #define BOOST_CONTAINER_CONTAINER_FWD_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -41,29 +45,23 @@ //! //! And finally it defines the following types -////////////////////////////////////////////////////////////////////////////// -// Standard predeclarations -////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED +//Std forward declarations +#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP + #include +#endif + namespace boost{ namespace intrusive{ //Create namespace to avoid compilation errors }} namespace boost{ namespace container{ namespace container_detail{ - -namespace bi = boost::intrusive; - + namespace bi = boost::intrusive; }}} #include -#include -#include -#include -#include -#include #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED @@ -86,27 +84,34 @@ enum tree_type_enum #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED +template +class new_allocator; + template > + ,class Allocator = new_allocator > class vector; template > + ,class Allocator = new_allocator > class stable_vector; template class static_vector; +template < class T, std::size_t N + , class Allocator= new_allocator > +class small_vector; + template > + ,class Allocator = new_allocator > class deque; template > + ,class Allocator = new_allocator > class list; template > + ,class Allocator = new_allocator > class slist; template @@ -116,67 +121,67 @@ typedef tree_opt tree_assoc_defaults; template - ,class Allocator = std::allocator + ,class Allocator = new_allocator ,class Options = tree_assoc_defaults > class set; template - ,class Allocator = std::allocator + ,class Allocator = new_allocator ,class Options = tree_assoc_defaults > class multiset; template - ,class Allocator = std::allocator > + ,class Allocator = new_allocator > ,class Options = tree_assoc_defaults > class map; template - ,class Allocator = std::allocator > + ,class Allocator = new_allocator > ,class Options = tree_assoc_defaults > class multimap; template - ,class Allocator = std::allocator > + ,class Allocator = new_allocator > class flat_set; template - ,class Allocator = std::allocator > + ,class Allocator = new_allocator > class flat_multiset; template - ,class Allocator = std::allocator > > + ,class Allocator = new_allocator > > class flat_map; template - ,class Allocator = std::allocator > > + ,class Allocator = new_allocator > > class flat_multimap; template - ,class Allocator = std::allocator > + ,class Allocator = new_allocator > class basic_string; typedef basic_string - ,std::allocator > + ,new_allocator > string; typedef basic_string - ,std::allocator > + ,new_allocator > wstring; static const std::size_t ADP_nodes_per_block = 256u; @@ -268,6 +273,7 @@ struct dummy } //detail_really_deep_namespace { + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED }} //namespace boost { namespace container { diff --git a/3party/boost/boost/container/deque.hpp b/3party/boost/boost/container/deque.hpp index 675dae6cf3..bdfecc1212 100644 --- a/3party/boost/boost/container/deque.hpp +++ b/3party/boost/boost/container/deque.hpp @@ -7,40 +7,55 @@ // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_CONTAINER_DEQUE_HPP #define BOOST_CONTAINER_DEQUE_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include - -#include -#include -#include -#include +// container #include #include +#include //new_allocator #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +// container/detail #include -#include +#include //algo_equal(), algo_lexicographical_compare +#include +#include +#include +#include +#include +#include +#include +#include +#include +// move +#include +#include +#include +#include +// move/detail +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif +#include +// other +#include +#include +// std +#include + +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include +#endif namespace boost { namespace container { @@ -53,13 +68,8 @@ template struct deque_value_traits { typedef T value_type; - static const bool trivial_dctr = boost::has_trivial_destructor::value; + static const bool trivial_dctr = container_detail::is_trivially_destructible::value; static const bool trivial_dctr_after_move = ::boost::has_trivial_destructor_after_move::value; - static const bool trivial_copy = has_trivial_copy::value; - static const bool nothrow_copy = has_nothrow_copy::value; - static const bool trivial_assign = has_trivial_assign::value; - //static const bool nothrow_assign = has_nothrow_assign::value; - static const bool nothrow_assign = false; }; // Note: this function is simply a kludge to work around several compilers' @@ -96,13 +106,13 @@ namespace container_detail { // [map, map + map_size) is a valid, non-empty range. // [start.node, finish.node] is a valid range contained within // [map, map + map_size). -// Allocator pointer in the range [map, map + map_size) points to an allocated node +// A pointer in the range [map, map + map_size) points to an allocated node // if and only if the pointer is in the range [start.node, finish.node]. template class deque_iterator { public: - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; typedef typename boost::intrusive::pointer_traits::element_type value_type; typedef typename boost::intrusive::pointer_traits::difference_type difference_type; typedef typename if_c @@ -136,34 +146,34 @@ class deque_iterator Pointer get_last() const { return m_last; } index_pointer get_node() const { return m_node; } - deque_iterator(val_alloc_ptr x, index_pointer y) BOOST_CONTAINER_NOEXCEPT + deque_iterator(val_alloc_ptr x, index_pointer y) BOOST_NOEXCEPT_OR_NOTHROW : m_cur(x), m_first(*y), m_last(*y + s_buffer_size()), m_node(y) {} - deque_iterator() BOOST_CONTAINER_NOEXCEPT - : m_cur(), m_first(), m_last(), m_node() + deque_iterator() BOOST_NOEXCEPT_OR_NOTHROW + : m_cur(), m_first(), m_last(), m_node() //Value initialization to achieve "null iterators" (N3644) {} - deque_iterator(deque_iterator const& x) BOOST_CONTAINER_NOEXCEPT + deque_iterator(deque_iterator const& x) BOOST_NOEXCEPT_OR_NOTHROW : m_cur(x.get_cur()), m_first(x.get_first()), m_last(x.get_last()), m_node(x.get_node()) {} - deque_iterator(Pointer cur, Pointer first, Pointer last, index_pointer node) BOOST_CONTAINER_NOEXCEPT + deque_iterator(Pointer cur, Pointer first, Pointer last, index_pointer node) BOOST_NOEXCEPT_OR_NOTHROW : m_cur(cur), m_first(first), m_last(last), m_node(node) {} - deque_iterator unconst() const BOOST_CONTAINER_NOEXCEPT + deque_iterator unconst() const BOOST_NOEXCEPT_OR_NOTHROW { return deque_iterator(this->get_cur(), this->get_first(), this->get_last(), this->get_node()); } - reference operator*() const BOOST_CONTAINER_NOEXCEPT + reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW { return *this->m_cur; } - pointer operator->() const BOOST_CONTAINER_NOEXCEPT + pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW { return this->m_cur; } - difference_type operator-(const deque_iterator& x) const BOOST_CONTAINER_NOEXCEPT + difference_type operator-(const deque_iterator& x) const BOOST_NOEXCEPT_OR_NOTHROW { if(!this->m_cur && !x.m_cur){ return 0; @@ -172,7 +182,7 @@ class deque_iterator (this->m_cur - this->m_first) + (x.m_last - x.m_cur); } - deque_iterator& operator++() BOOST_CONTAINER_NOEXCEPT + deque_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW { ++this->m_cur; if (this->m_cur == this->m_last) { @@ -182,14 +192,14 @@ class deque_iterator return *this; } - deque_iterator operator++(int) BOOST_CONTAINER_NOEXCEPT + deque_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW { deque_iterator tmp(*this); ++*this; return tmp; } - deque_iterator& operator--() BOOST_CONTAINER_NOEXCEPT + deque_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW { if (this->m_cur == this->m_first) { this->priv_set_node(this->m_node - 1); @@ -199,14 +209,14 @@ class deque_iterator return *this; } - deque_iterator operator--(int) BOOST_CONTAINER_NOEXCEPT + deque_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW { deque_iterator tmp(*this); --*this; return tmp; } - deque_iterator& operator+=(difference_type n) BOOST_CONTAINER_NOEXCEPT + deque_iterator& operator+=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW { difference_type offset = n + (this->m_cur - this->m_first); if (offset >= 0 && offset < difference_type(this->s_buffer_size())) @@ -222,44 +232,44 @@ class deque_iterator return *this; } - deque_iterator operator+(difference_type n) const BOOST_CONTAINER_NOEXCEPT + deque_iterator operator+(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW { deque_iterator tmp(*this); return tmp += n; } - deque_iterator& operator-=(difference_type n) BOOST_CONTAINER_NOEXCEPT + deque_iterator& operator-=(difference_type n) BOOST_NOEXCEPT_OR_NOTHROW { return *this += -n; } - deque_iterator operator-(difference_type n) const BOOST_CONTAINER_NOEXCEPT + deque_iterator operator-(difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW { deque_iterator tmp(*this); return tmp -= n; } - reference operator[](difference_type n) const BOOST_CONTAINER_NOEXCEPT + reference operator[](difference_type n) const BOOST_NOEXCEPT_OR_NOTHROW { return *(*this + n); } - friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator==(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_cur == r.m_cur; } - friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator!=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_cur != r.m_cur; } - friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator<(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return (l.m_node == r.m_node) ? (l.m_cur < r.m_cur) : (l.m_node < r.m_node); } - friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator>(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return r < l; } - friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator<=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return !(r < l); } - friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator>=(const deque_iterator& l, const deque_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return !(l < r); } - void priv_set_node(index_pointer new_node) BOOST_CONTAINER_NOEXCEPT + void priv_set_node(index_pointer new_node) BOOST_NOEXCEPT_OR_NOTHROW { this->m_node = new_node; this->m_first = *new_node; this->m_last = this->m_first + this->s_buffer_size(); } - friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_CONTAINER_NOEXCEPT + friend deque_iterator operator+(difference_type n, deque_iterator x) BOOST_NOEXCEPT_OR_NOTHROW { return x += n; } }; @@ -298,19 +308,19 @@ class deque_base typedef deque_value_traits traits_t; typedef ptr_alloc_t map_allocator_type; - static size_type s_buffer_size() BOOST_CONTAINER_NOEXCEPT + static size_type s_buffer_size() BOOST_NOEXCEPT_OR_NOTHROW { return deque_buf_size::value; } val_alloc_ptr priv_allocate_node() { return this->alloc().allocate(s_buffer_size()); } - void priv_deallocate_node(val_alloc_ptr p) BOOST_CONTAINER_NOEXCEPT + void priv_deallocate_node(val_alloc_ptr p) BOOST_NOEXCEPT_OR_NOTHROW { this->alloc().deallocate(p, s_buffer_size()); } ptr_alloc_ptr priv_allocate_map(size_type n) { return this->ptr_alloc().allocate(n); } - void priv_deallocate_map(ptr_alloc_ptr p, size_type n) BOOST_CONTAINER_NOEXCEPT + void priv_deallocate_map(ptr_alloc_ptr p, size_type n) BOOST_NOEXCEPT_OR_NOTHROW { this->ptr_alloc().deallocate(p, n); } typedef container_detail::deque_iterator iterator; @@ -346,12 +356,12 @@ class deque_base protected: - void swap_members(deque_base &x) BOOST_CONTAINER_NOEXCEPT + void swap_members(deque_base &x) BOOST_NOEXCEPT_OR_NOTHROW { - std::swap(this->members_.m_start, x.members_.m_start); - std::swap(this->members_.m_finish, x.members_.m_finish); - std::swap(this->members_.m_map, x.members_.m_map); - std::swap(this->members_.m_map_size, x.members_.m_map_size); + ::boost::adl_move_swap(this->members_.m_start, x.members_.m_start); + ::boost::adl_move_swap(this->members_.m_finish, x.members_.m_finish); + ::boost::adl_move_swap(this->members_.m_map, x.members_.m_map); + ::boost::adl_move_swap(this->members_.m_map_size, x.members_.m_map_size); } void priv_initialize_map(size_type num_elements) @@ -386,9 +396,9 @@ class deque_base void priv_create_nodes(ptr_alloc_ptr nstart, ptr_alloc_ptr nfinish) { - ptr_alloc_ptr cur; + ptr_alloc_ptr cur = nstart; BOOST_TRY { - for (cur = nstart; cur < nfinish; ++cur) + for (; cur < nfinish; ++cur) *cur = this->priv_allocate_node(); } BOOST_CATCH(...){ @@ -398,13 +408,13 @@ class deque_base BOOST_CATCH_END } - void priv_destroy_nodes(ptr_alloc_ptr nstart, ptr_alloc_ptr nfinish) BOOST_CONTAINER_NOEXCEPT + void priv_destroy_nodes(ptr_alloc_ptr nstart, ptr_alloc_ptr nfinish) BOOST_NOEXCEPT_OR_NOTHROW { for (ptr_alloc_ptr n = nstart; n < nfinish; ++n) this->priv_deallocate_node(*n); } - void priv_clear_map() BOOST_CONTAINER_NOEXCEPT + void priv_clear_map() BOOST_NOEXCEPT_OR_NOTHROW { if (this->members_.m_map) { this->priv_destroy_nodes(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1); @@ -449,16 +459,16 @@ class deque_base iterator m_finish; } members_; - ptr_alloc_t &ptr_alloc() BOOST_CONTAINER_NOEXCEPT + ptr_alloc_t &ptr_alloc() BOOST_NOEXCEPT_OR_NOTHROW { return members_; } - const ptr_alloc_t &ptr_alloc() const BOOST_CONTAINER_NOEXCEPT + const ptr_alloc_t &ptr_alloc() const BOOST_NOEXCEPT_OR_NOTHROW { return members_; } - allocator_type &alloc() BOOST_CONTAINER_NOEXCEPT + allocator_type &alloc() BOOST_NOEXCEPT_OR_NOTHROW { return members_; } - const allocator_type &alloc() const BOOST_CONTAINER_NOEXCEPT + const allocator_type &alloc() const BOOST_NOEXCEPT_OR_NOTHROW { return members_; } }; #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED @@ -469,7 +479,7 @@ class deque_base //! //! \tparam T The type of object that is stored in the deque //! \tparam Allocator The allocator used for all internal memory management -template > +template > #else template #endif @@ -499,8 +509,8 @@ class deque : protected deque_base typedef BOOST_CONTAINER_IMPDEF(allocator_type) stored_allocator_type; typedef BOOST_CONTAINER_IMPDEF(typename Base::iterator) iterator; typedef BOOST_CONTAINER_IMPDEF(typename Base::const_iterator) const_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) const_reverse_iterator; #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED @@ -534,11 +544,11 @@ class deque : protected deque_base //! Throws: Nothing //! //! Complexity: Constant. - explicit deque(const allocator_type& a) BOOST_CONTAINER_NOEXCEPT + explicit deque(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW : Base(a) {} - //! Effects: Constructs a deque that will use a copy of allocator a + //! Effects: Constructs a deque //! and inserts n value initialized values. //! //! Throws: If allocator_type's default constructor @@ -553,6 +563,38 @@ class deque : protected deque_base //deque_base will deallocate in case of exception... } + //! Effects: Constructs a deque + //! and inserts n default initialized values. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's default initialization or copy constructor throws. + //! + //! Complexity: Linear to n. + //! + //! Note: Non-standard extension + deque(size_type n, default_init_t) + : Base(n, allocator_type()) + { + container_detail::insert_default_initialized_n_proxy proxy; + proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n); + //deque_base will deallocate in case of exception... + } + + //! Effects: Constructs a deque that will use a copy of allocator a + //! and inserts n value initialized values. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's value initialization throws. + //! + //! Complexity: Linear to n. + explicit deque(size_type n, const allocator_type &a) + : Base(n, a) + { + container_detail::insert_value_initialized_n_proxy proxy; + proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n); + //deque_base will deallocate in case of exception... + } + //! Effects: Constructs a deque that will use a copy of allocator a //! and inserts n default initialized values. //! @@ -562,8 +604,8 @@ class deque : protected deque_base //! Complexity: Linear to n. //! //! Note: Non-standard extension - deque(size_type n, default_init_t) - : Base(n, allocator_type()) + deque(size_type n, default_init_t, const allocator_type &a) + : Base(n, a) { container_detail::insert_default_initialized_n_proxy proxy; proxy.uninitialized_copy_n_and_update(this->alloc(), this->begin(), n); @@ -599,10 +641,24 @@ class deque : protected deque_base ) : Base(a) { - typedef typename std::iterator_traits::iterator_category ItCat; - this->priv_range_initialize(first, last, ItCat()); + this->priv_range_initialize(first, last); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs a deque that will use a copy of allocator a + //! and inserts a copy of the range [il.begin(), il.end()) in the deque. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's constructor taking a dereferenced std::initializer_list iterator throws. + //! + //! Complexity: Linear to the range [il.begin(), il.end()). + deque(std::initializer_list il, const allocator_type& a = allocator_type()) + : Base(a) + { + this->priv_range_initialize(il.begin(), il.end()); + } +#endif + //! Effects: Copy constructs a deque. //! //! Postcondition: x == *this. @@ -618,13 +674,13 @@ class deque : protected deque_base } } - //! Effects: Move constructor. Moves mx's resources to *this. + //! Effects: Move constructor. Moves x's resources to *this. //! //! Throws: If allocator_type's copy constructor throws. //! //! Complexity: Constant. deque(BOOST_RV_REF(deque) x) - : Base(boost::move(static_cast(x))) + : Base(BOOST_MOVE_BASE(Base, x)) { this->swap_members(x); } //! Effects: Copy constructs a vector using the specified allocator. @@ -646,23 +702,24 @@ class deque : protected deque_base } //! Effects: Move constructor using the specified allocator. - //! Moves mx's resources to *this if a == allocator_type(). + //! Moves x's resources to *this if a == allocator_type(). //! Otherwise copies values from x to *this. //! //! Throws: If allocation or T's copy constructor throws. //! - //! Complexity: Constant if a == mx.get_allocator(), linear otherwise. - deque(BOOST_RV_REF(deque) mx, const allocator_type &a) + //! Complexity: Constant if a == x.get_allocator(), linear otherwise. + deque(BOOST_RV_REF(deque) x, const allocator_type &a) : Base(a) { - if(mx.alloc() == a){ - this->swap_members(mx); + if(x.alloc() == a){ + this->swap_members(x); } else{ - if(mx.size()){ - this->priv_initialize_map(mx.size()); + if(x.size()){ + this->priv_initialize_map(x.size()); boost::container::uninitialized_copy_alloc - (this->alloc(), mx.begin(), mx.end(), this->members_.m_start); + ( this->alloc(), boost::make_move_iterator(x.begin()) + , boost::make_move_iterator(x.end()), this->members_.m_start); } } } @@ -673,7 +730,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Linear to the number of elements. - ~deque() BOOST_CONTAINER_NOEXCEPT + ~deque() BOOST_NOEXCEPT_OR_NOTHROW { this->priv_destroy_range(this->members_.m_start, this->members_.m_finish); } @@ -713,7 +770,8 @@ class deque : protected deque_base //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. deque& operator= (BOOST_RV_REF(deque) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) + BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value + || allocator_traits_type::is_always_equal::value) { BOOST_ASSERT(this != &x); allocator_type &this_alloc = this->alloc(); @@ -741,6 +799,22 @@ class deque : protected deque_base return *this; } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Makes *this contain the same elements as il. + //! + //! Postcondition: this->size() == il.size(). *this contains a copy + //! of each of x's elements. + //! + //! Throws: If memory allocation throws or T's copy constructor throws. + //! + //! Complexity: Linear to the number of elements in il. + deque& operator=(std::initializer_list il) + { + this->assign(il.begin(), il.end()); + return *this; + } +#endif + //! Effects: Assigns the n copies of val to *this. //! //! Throws: If memory allocation throws or T's copy constructor throws. @@ -761,9 +835,10 @@ class deque : protected deque_base template void assign(InIt first, InIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_not_input_iterator >::type * = 0 #endif ) @@ -783,16 +858,17 @@ class deque : protected deque_base #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) template void assign(FwdIt first, FwdIt last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_input_iterator >::type * = 0 ) { - const size_type len = std::distance(first, last); + const size_type len = boost::container::iterator_distance(first, last); if (len > size()) { FwdIt mid = first; - std::advance(mid, this->size()); + boost::container::iterator_advance(mid, this->size()); boost::container::copy(first, mid, begin()); this->insert(this->cend(), mid, last); } @@ -802,12 +878,23 @@ class deque : protected deque_base } #endif +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Assigns the the range [il.begin(), il.end()) to *this. + //! + //! Throws: If memory allocation throws or + //! T's constructor from dereferencing std::initializer_list iterator throws. + //! + //! Complexity: Linear to il.size(). + void assign(std::initializer_list il) + { this->assign(il.begin(), il.end()); } +#endif + //! Effects: Returns a copy of the internal allocator. //! //! Throws: If allocator's copy constructor throws. //! //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT + allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return Base::alloc(); } //! Effects: Returns a reference to the internal allocator. @@ -817,7 +904,7 @@ class deque : protected deque_base //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return Base::alloc(); } ////////////////////////////////////////////// @@ -833,7 +920,7 @@ class deque : protected deque_base //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return Base::alloc(); } //! Effects: Returns an iterator to the first element contained in the deque. @@ -841,7 +928,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_start; } //! Effects: Returns a const_iterator to the first element contained in the deque. @@ -849,7 +936,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_start; } //! Effects: Returns an iterator to the end of the deque. @@ -857,7 +944,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT + iterator end() BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_finish; } //! Effects: Returns a const_iterator to the end of the deque. @@ -865,7 +952,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_finish; } //! Effects: Returns a reverse_iterator pointing to the beginning @@ -874,7 +961,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(this->members_.m_finish); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -883,7 +970,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->members_.m_finish); } //! Effects: Returns a reverse_iterator pointing to the end @@ -892,7 +979,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(this->members_.m_start); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -901,7 +988,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->members_.m_start); } //! Effects: Returns a const_iterator to the first element contained in the deque. @@ -909,7 +996,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_start; } //! Effects: Returns a const_iterator to the end of the deque. @@ -917,7 +1004,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_finish; } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -926,7 +1013,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->members_.m_finish); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -935,7 +1022,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->members_.m_start); } ////////////////////////////////////////////// @@ -949,7 +1036,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_finish == this->members_.m_start; } //! Effects: Returns the number of the elements contained in the deque. @@ -957,7 +1044,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_finish - this->members_.m_start; } //! Effects: Returns the largest possible size of the deque. @@ -965,7 +1052,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW { return allocator_traits_type::max_size(this->alloc()); } //! Effects: Inserts or erases elements at the end such that @@ -1052,7 +1139,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - reference front() BOOST_CONTAINER_NOEXCEPT + reference front() BOOST_NOEXCEPT_OR_NOTHROW { return *this->members_.m_start; } //! Requires: !empty() @@ -1063,7 +1150,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_reference front() const BOOST_CONTAINER_NOEXCEPT + const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW { return *this->members_.m_start; } //! Requires: !empty() @@ -1074,7 +1161,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - reference back() BOOST_CONTAINER_NOEXCEPT + reference back() BOOST_NOEXCEPT_OR_NOTHROW { return *(end()-1); } //! Requires: !empty() @@ -1085,7 +1172,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_reference back() const BOOST_CONTAINER_NOEXCEPT + const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW { return *(cend()-1); } //! Requires: size() > n. @@ -1096,7 +1183,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - reference operator[](size_type n) BOOST_CONTAINER_NOEXCEPT + reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_start[difference_type(n)]; } //! Requires: size() > n. @@ -1107,9 +1194,70 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant. - const_reference operator[](size_type n) const BOOST_CONTAINER_NOEXCEPT + const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW { return this->members_.m_start[difference_type(n)]; } + //! Requires: size() >= n. + //! + //! Effects: Returns an iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW + { + BOOST_ASSERT(this->size() >= n); + return iterator(this->begin()+n); + } + + //! Requires: size() >= n. + //! + //! Effects: Returns a const_iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW + { + BOOST_ASSERT(this->size() >= n); + return const_iterator(this->cbegin()+n); + } + + //! Requires: size() >= n. + //! + //! Effects: Returns an iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW + { return this->priv_index_of(p); } + + //! Requires: begin() <= p <= end(). + //! + //! Effects: Returns the index of the element pointed by p + //! and size() if p == end(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW + { return this->priv_index_of(p); } + //! Requires: size() > n. //! //! Effects: Returns a reference to the nth element @@ -1138,7 +1286,7 @@ class deque : protected deque_base // ////////////////////////////////////////////// - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type T constructed with //! std::forward(args)... in the beginning of the deque. @@ -1147,7 +1295,7 @@ class deque : protected deque_base //! //! Complexity: Amortized constant time template - void emplace_front(Args&&... args) + void emplace_front(BOOST_FWD_REF(Args)... args) { if(this->priv_push_front_simple_available()){ allocator_traits_type::construct @@ -1157,7 +1305,7 @@ class deque : protected deque_base this->priv_push_front_simple_commit(); } else{ - typedef container_detail::insert_non_movable_emplace_proxy type; + typedef container_detail::insert_nonmovable_emplace_proxy type; this->priv_insert_front_aux_impl(1, type(boost::forward(args)...)); } } @@ -1169,7 +1317,7 @@ class deque : protected deque_base //! //! Complexity: Amortized constant time template - void emplace_back(Args&&... args) + void emplace_back(BOOST_FWD_REF(Args)... args) { if(this->priv_push_back_simple_available()){ allocator_traits_type::construct @@ -1179,22 +1327,22 @@ class deque : protected deque_base this->priv_push_back_simple_commit(); } else{ - typedef container_detail::insert_non_movable_emplace_proxy type; + typedef container_detail::insert_nonmovable_emplace_proxy type; this->priv_insert_back_aux_impl(1, type(boost::forward(args)...)); } } - //! Requires: position must be a valid iterator of *this. + //! Requires: p must be a valid iterator of *this. //! //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... before position + //! std::forward(args)... before p //! //! Throws: If memory allocation throws or the in-place constructor throws. //! - //! Complexity: If position is end(), amortized constant time + //! Complexity: If p is end(), amortized constant time //! Linear time otherwise. template - iterator emplace(const_iterator p, Args&&... args) + iterator emplace(const_iterator p, BOOST_FWD_REF(Args)... args) { if(p == this->cbegin()){ this->emplace_front(boost::forward(args)...); @@ -1210,70 +1358,61 @@ class deque : protected deque_base } } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else //!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - //advanced_insert_int.hpp includes all necessary preprocessor machinery... - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, > ) \ - void emplace_front(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - if(priv_push_front_simple_available()){ \ - allocator_traits_type::construct \ - ( this->alloc() \ - , this->priv_push_front_simple_pos() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - priv_push_front_simple_commit(); \ - } \ - else{ \ - typedef container_detail::BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, n) \ - type; \ - priv_insert_front_aux_impl \ - (1, type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - if(priv_push_back_simple_available()){ \ - allocator_traits_type::construct \ - ( this->alloc() \ - , this->priv_push_back_simple_pos() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - priv_push_back_simple_commit(); \ - } \ - else{ \ - typedef container_detail::BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, n) \ - type; \ - priv_insert_back_aux_impl \ - (1, type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(const_iterator p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - if(p == this->cbegin()){ \ - this->emplace_front(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - return this->begin(); \ - } \ - else if(p == cend()){ \ - this->emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - return (this->end()-1); \ - } \ - else{ \ - typedef container_detail::BOOST_PP_CAT(insert_emplace_proxy_arg, n) \ - type; \ - return this->priv_insert_aux_impl \ - (p, 1, type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_DEQUE_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N\ + void emplace_front(BOOST_MOVE_UREF##N)\ + {\ + if(priv_push_front_simple_available()){\ + allocator_traits_type::construct\ + ( this->alloc(), this->priv_push_front_simple_pos() BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + priv_push_front_simple_commit();\ + }\ + else{\ + typedef container_detail::insert_nonmovable_emplace_proxy##N\ + type;\ + priv_insert_front_aux_impl(1, type(BOOST_MOVE_FWD##N));\ + }\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N\ + void emplace_back(BOOST_MOVE_UREF##N)\ + {\ + if(priv_push_back_simple_available()){\ + allocator_traits_type::construct\ + ( this->alloc(), this->priv_push_back_simple_pos() BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + priv_push_back_simple_commit();\ + }\ + else{\ + typedef container_detail::insert_nonmovable_emplace_proxy##N\ + type;\ + priv_insert_back_aux_impl(1, type(BOOST_MOVE_FWD##N));\ + }\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N\ + iterator emplace(const_iterator p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + if(p == this->cbegin()){\ + this->emplace_front(BOOST_MOVE_FWD##N);\ + return this->begin();\ + }\ + else if(p == cend()){\ + this->emplace_back(BOOST_MOVE_FWD##N);\ + return (--this->end());\ + }\ + else{\ + typedef container_detail::insert_emplace_proxy_arg##N\ + type;\ + return this->priv_insert_aux_impl(p, 1, type(BOOST_MOVE_FWD##N));\ + }\ + } + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_DEQUE_EMPLACE_CODE) + #undef BOOST_CONTAINER_DEQUE_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts a copy of x at the front of the deque. @@ -1285,7 +1424,7 @@ class deque : protected deque_base void push_front(const T &x); //! Effects: Constructs a new element in the front of the deque - //! and moves the resources of mx to this new element. + //! and moves the resources of x to this new element. //! //! Throws: If memory allocation throws. //! @@ -1305,7 +1444,7 @@ class deque : protected deque_base void push_back(const T &x); //! Effects: Constructs a new element in the end of the deque - //! and moves the resources of mx to this new element. + //! and moves the resources of x to this new element. //! //! Throws: If memory allocation throws. //! @@ -1317,29 +1456,29 @@ class deque : protected deque_base #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Requires: position must be a valid iterator of *this. + //! Requires: p must be a valid iterator of *this. //! - //! Effects: Insert a copy of x before position. + //! Effects: Insert a copy of x before p. //! //! Returns: an iterator to the inserted element. //! //! Throws: If memory allocation throws or x's copy constructor throws. //! - //! Complexity: If position is end(), amortized constant time + //! Complexity: If p is end(), amortized constant time //! Linear time otherwise. - iterator insert(const_iterator position, const T &x); + iterator insert(const_iterator p, const T &x); - //! Requires: position must be a valid iterator of *this. + //! Requires: p must be a valid iterator of *this. //! - //! Effects: Insert a new element before position with mx's resources. + //! Effects: Insert a new element before p with x's resources. //! //! Returns: an iterator to the inserted element. //! //! Throws: If memory allocation throws. //! - //! Complexity: If position is end(), amortized constant time + //! Complexity: If p is end(), amortized constant time //! Linear time otherwise. - iterator insert(const_iterator position, T &&x); + iterator insert(const_iterator p, T &&x); #else BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) #endif @@ -1368,13 +1507,14 @@ class deque : protected deque_base //! Throws: If memory allocation throws, T's constructor from a //! dereferenced InIt throws or T's copy constructor throws. //! - //! Complexity: Linear to std::distance [first, last). + //! Complexity: Linear to distance [first, last). template iterator insert(const_iterator pos, InIt first, InIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_not_input_iterator >::type * = 0 #endif ) @@ -1389,19 +1529,35 @@ class deque : protected deque_base return it; } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Requires: pos must be a valid iterator of *this. + //! + //! Effects: Insert a copy of the [il.begin(), il.end()) range before pos. + //! + //! Returns: an iterator to the first inserted element or pos if il.begin() == il.end(). + //! + //! Throws: If memory allocation throws, T's constructor from a + //! dereferenced std::initializer_list throws or T's copy constructor throws. + //! + //! Complexity: Linear to distance [il.begin(), il.end()). + iterator insert(const_iterator pos, std::initializer_list il) + { return insert(pos, il.begin(), il.end()); } +#endif + #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) template iterator insert(const_iterator p, FwdIt first, FwdIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_input_iterator >::type * = 0 #endif ) { container_detail::insert_range_proxy proxy(first); - return priv_insert_aux_impl(p, (size_type)std::distance(first, last), proxy); + return priv_insert_aux_impl(p, boost::container::iterator_distance(first, last), proxy); } #endif @@ -1410,7 +1566,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant time. - void pop_front() BOOST_CONTAINER_NOEXCEPT + void pop_front() BOOST_NOEXCEPT_OR_NOTHROW { if (this->members_.m_start.m_cur != this->members_.m_start.m_last - 1) { allocator_traits_type::destroy @@ -1428,7 +1584,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Constant time. - void pop_back() BOOST_CONTAINER_NOEXCEPT + void pop_back() BOOST_NOEXCEPT_OR_NOTHROW { if (this->members_.m_finish.m_cur != this->members_.m_finish.m_first) { --this->members_.m_finish.m_cur; @@ -1441,7 +1597,7 @@ class deque : protected deque_base this->priv_pop_back_aux(); } - //! Effects: Erases the element at position pos. + //! Effects: Erases the element at p. //! //! Throws: Nothing. //! @@ -1449,17 +1605,17 @@ class deque : protected deque_base //! last element (if pos is near the end) or the first element //! if(pos is near the beginning). //! Constant if pos is the first or the last element. - iterator erase(const_iterator pos) BOOST_CONTAINER_NOEXCEPT + iterator erase(const_iterator pos) BOOST_NOEXCEPT_OR_NOTHROW { iterator next = pos.unconst(); ++next; size_type index = pos - this->members_.m_start; if (index < (this->size()/2)) { - boost::move_backward(this->begin(), pos.unconst(), next); + boost::container::move_backward(this->begin(), pos.unconst(), next); pop_front(); } else { - boost::move(next, this->end(), pos.unconst()); + boost::container::move(next, this->end(), pos.unconst()); pop_back(); } return this->members_.m_start + index; @@ -1473,7 +1629,7 @@ class deque : protected deque_base //! last plus the elements between pos and the //! last element (if pos is near the end) or the first element //! if(pos is near the beginning). - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT + iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW { if (first == this->members_.m_start && last == this->members_.m_finish) { this->clear(); @@ -1483,7 +1639,7 @@ class deque : protected deque_base const size_type n = static_cast(last - first); const size_type elems_before = static_cast(first - this->members_.m_start); if (elems_before < (this->size() - n) - elems_before) { - boost::move_backward(begin(), first.unconst(), last.unconst()); + boost::container::move_backward(begin(), first.unconst(), last.unconst()); iterator new_start = this->members_.m_start + n; if(!Base::traits_t::trivial_dctr_after_move) this->priv_destroy_range(this->members_.m_start, new_start); @@ -1491,7 +1647,7 @@ class deque : protected deque_base this->members_.m_start = new_start; } else { - boost::move(last.unconst(), end(), first.unconst()); + boost::container::move(last.unconst(), end(), first.unconst()); iterator new_finish = this->members_.m_finish - n; if(!Base::traits_t::trivial_dctr_after_move) this->priv_destroy_range(new_finish, this->members_.m_finish); @@ -1508,6 +1664,8 @@ class deque : protected deque_base //! //! Complexity: Constant. void swap(deque &x) + BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_swap::value + || allocator_traits_type::is_always_equal::value) { this->swap_members(x); container_detail::bool_ flag; @@ -1520,7 +1678,7 @@ class deque : protected deque_base //! Throws: Nothing. //! //! Complexity: Linear to the number of elements in the deque. - void clear() BOOST_CONTAINER_NOEXCEPT + void clear() BOOST_NOEXCEPT_OR_NOTHROW { for (index_pointer node = this->members_.m_start.m_node + 1; node < this->members_.m_finish.m_node; @@ -1544,7 +1702,7 @@ class deque : protected deque_base //! //! Complexity: Linear to the number of elements in the container. friend bool operator==(const deque& x, const deque& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } + { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); } //! Effects: Returns true if x and y are unequal //! @@ -1556,7 +1714,7 @@ class deque : protected deque_base //! //! Complexity: Linear to the number of elements in the container. friend bool operator<(const deque& x, const deque& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } + { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } //! Effects: Returns true if x is greater than y //! @@ -1585,6 +1743,13 @@ class deque : protected deque_base #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED private: + size_type priv_index_of(const_iterator p) const + { + BOOST_ASSERT(this->cbegin() <= p); + BOOST_ASSERT(p <= this->cend()); + return static_cast(p - this->cbegin()); + } + void priv_erase_last_n(size_type n) { if(n == this->size()) { @@ -1603,19 +1768,19 @@ class deque : protected deque_base { if (n >= this->size()) throw_out_of_range("deque::at out of range"); } template - iterator priv_insert(const_iterator position, BOOST_FWD_REF(U) x) + iterator priv_insert(const_iterator p, BOOST_FWD_REF(U) x) { - if (position == cbegin()){ + if (p == cbegin()){ this->push_front(::boost::forward(x)); return begin(); } - else if (position == cend()){ + else if (p == cend()){ this->push_back(::boost::forward(x)); return --end(); } else { return priv_insert_aux_impl - ( position, (size_type)1 + ( p, (size_type)1 , container_detail::get_insert_value_proxy(::boost::forward(x))); } } @@ -1680,21 +1845,19 @@ class deque : protected deque_base void priv_destroy_range(iterator p, iterator p2) { - for(;p != p2; ++p){ - allocator_traits_type::destroy - ( this->alloc() - , container_detail::to_raw_pointer(container_detail::iterator_to_pointer(p)) - ); + if(!Base::traits_t::trivial_dctr){ + for(;p != p2; ++p){ + allocator_traits_type::destroy(this->alloc(), container_detail::iterator_to_raw_pointer(p)); + } } } void priv_destroy_range(pointer p, pointer p2) { - for(;p != p2; ++p){ - allocator_traits_type::destroy - ( this->alloc() - , container_detail::to_raw_pointer(container_detail::iterator_to_pointer(p)) - ); + if(!Base::traits_t::trivial_dctr){ + for(;p != p2; ++p){ + allocator_traits_type::destroy(this->alloc(), container_detail::iterator_to_raw_pointer(p)); + } } } @@ -1724,7 +1887,7 @@ class deque : protected deque_base ::boost::container::uninitialized_move_alloc (this->alloc(), this->members_.m_start, start_n, new_start); this->members_.m_start = new_start; - boost::move(start_n, pos, old_start); + boost::container::move(start_n, pos, old_start); proxy.copy_n_and_update(this->alloc(), pos - n, n); } else { @@ -1754,7 +1917,7 @@ class deque : protected deque_base ::boost::container::uninitialized_move_alloc (this->alloc(), finish_n, old_finish, old_finish); this->members_.m_finish = new_finish; - boost::move_backward(pos, finish_n, old_finish); + boost::container::move_backward(pos, finish_n, old_finish); proxy.copy_n_and_update(this->alloc(), pos, n); } else { @@ -1814,9 +1977,9 @@ class deque : protected deque_base // but none of the deque's elements have yet been constructed. void priv_fill_initialize(const value_type& value) { - index_pointer cur; + index_pointer cur = this->members_.m_start.m_node; BOOST_TRY { - for (cur = this->members_.m_start.m_node; cur < this->members_.m_finish.m_node; ++cur){ + for ( ; cur < this->members_.m_finish.m_node; ++cur){ boost::container::uninitialized_fill_alloc (this->alloc(), *cur, *cur + this->s_buffer_size(), value); } @@ -1831,7 +1994,8 @@ class deque : protected deque_base } template - void priv_range_initialize(InIt first, InIt last, std::input_iterator_tag) + typename iterator_enable_if_tag::type + priv_range_initialize(InIt first, InIt last) { this->priv_initialize_map(0); BOOST_TRY { @@ -1846,19 +2010,18 @@ class deque : protected deque_base } template - void priv_range_initialize(FwdIt first, FwdIt last, std::forward_iterator_tag) + typename iterator_disable_if_tag::type + priv_range_initialize(FwdIt first, FwdIt last) { size_type n = 0; - n = std::distance(first, last); + n = boost::container::iterator_distance(first, last); this->priv_initialize_map(n); - index_pointer cur_node; + index_pointer cur_node = this->members_.m_start.m_node; BOOST_TRY { - for (cur_node = this->members_.m_start.m_node; - cur_node < this->members_.m_finish.m_node; - ++cur_node) { + for (; cur_node < this->members_.m_finish.m_node; ++cur_node) { FwdIt mid = first; - std::advance(mid, this->s_buffer_size()); + boost::container::iterator_advance(mid, this->s_buffer_size()); ::boost::container::uninitialized_copy_alloc(this->alloc(), first, mid, *cur_node); first = mid; } @@ -1872,7 +2035,7 @@ class deque : protected deque_base } // Called only if this->members_.m_finish.m_cur == this->members_.m_finish.m_first. - void priv_pop_back_aux() BOOST_CONTAINER_NOEXCEPT + void priv_pop_back_aux() BOOST_NOEXCEPT_OR_NOTHROW { this->priv_deallocate_node(this->members_.m_finish.m_first); this->members_.m_finish.priv_set_node(this->members_.m_finish.m_node - 1); @@ -1887,7 +2050,7 @@ class deque : protected deque_base // if the deque has at least one element (a precondition for this member // function), and if this->members_.m_start.m_cur == this->members_.m_start.m_last, then the deque // must have at least two nodes. - void priv_pop_front_aux() BOOST_CONTAINER_NOEXCEPT + void priv_pop_front_aux() BOOST_NOEXCEPT_OR_NOTHROW { allocator_traits_type::destroy ( this->alloc() @@ -1934,9 +2097,9 @@ class deque : protected deque_base if (new_nodes + 1 > s){ this->priv_reallocate_map(new_nodes, false); } - size_type i; + size_type i = 1; BOOST_TRY { - for (i = 1; i <= new_nodes; ++i) + for (; i <= new_nodes; ++i) *(this->members_.m_finish.m_node + i) = this->priv_allocate_node(); } BOOST_CATCH(...) { @@ -1959,9 +2122,9 @@ class deque : protected deque_base new_nstart = this->members_.m_map + (this->members_.m_map_size - new_num_nodes) / 2 + (add_at_front ? nodes_to_add : 0); if (new_nstart < this->members_.m_start.m_node) - boost::move(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart); + boost::container::move(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart); else - boost::move_backward + boost::container::move_backward (this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart + old_num_nodes); } else { @@ -1971,7 +2134,7 @@ class deque : protected deque_base index_pointer new_map = this->priv_allocate_map(new_map_size); new_nstart = new_map + (new_map_size - new_num_nodes) / 2 + (add_at_front ? nodes_to_add : 0); - boost::move(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart); + boost::container::move(this->members_.m_start.m_node, this->members_.m_finish.m_node + 1, new_nstart); this->priv_deallocate_map(this->members_.m_map, this->members_.m_map_size); this->members_.m_map = new_map; @@ -1994,8 +2157,11 @@ namespace boost { //!specialization for optimizations template struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; +{ + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; +}; } diff --git a/3party/boost/boost/container/detail/adaptive_node_pool.hpp b/3party/boost/boost/container/detail/adaptive_node_pool.hpp index f776b51e67..4a1f07c4a8 100644 --- a/3party/boost/boost/container/detail/adaptive_node_pool.hpp +++ b/3party/boost/boost/container/detail/adaptive_node_pool.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_DETAIL_ADAPTIVE_NODE_POOL_HPP #define BOOST_CONTAINER_DETAIL_ADAPTIVE_NODE_POOL_HPP -#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -19,17 +23,18 @@ #include #include -#include #include #include #include #include #include #include +#include + #include #include #include -#include + namespace boost { namespace container { diff --git a/3party/boost/boost/container/detail/adaptive_node_pool_impl.hpp b/3party/boost/boost/container/detail/adaptive_node_pool_impl.hpp index b7261bf197..24c81dda3b 100644 --- a/3party/boost/boost/container/detail/adaptive_node_pool_impl.hpp +++ b/3party/boost/boost/container/detail/adaptive_node_pool_impl.hpp @@ -11,26 +11,36 @@ #ifndef BOOST_CONTAINER_DETAIL_ADAPTIVE_NODE_POOL_IMPL_HPP #define BOOST_CONTAINER_DETAIL_ADAPTIVE_NODE_POOL_IMPL_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include +// container #include -#include +#include +// container/detail +#include +#include +#include +#include +#include +#include +#include +// intrusive #include #include #include #include -#include -#include -#include -#include -#include +// other #include -#include +#include #include namespace boost { @@ -482,7 +492,7 @@ class private_adaptive_node_pool_impl free_nodes_iterator itf(nodes.begin()), itbf(itbb); size_type splice_node_count = size_type(-1); while(itf != ite){ - void *pElem = container_detail::to_raw_pointer(container_detail::iterator_to_pointer(itf)); + void *pElem = container_detail::to_raw_pointer(container_detail::iterator_to_raw_pointer(itf)); block_info_t &block_info = *this->priv_block_from_node(pElem); BOOST_ASSERT(block_info.free_nodes.size() < m_real_num_node); ++splice_node_count; diff --git a/3party/boost/boost/container/detail/addressof.hpp b/3party/boost/boost/container/detail/addressof.hpp new file mode 100644 index 0000000000..cc582c439d --- /dev/null +++ b/3party/boost/boost/container/detail/addressof.hpp @@ -0,0 +1,41 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2015. 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// +#ifndef BOOST_CONTAINER_DETAIL_ADDRESSOF_HPP +#define BOOST_CONTAINER_DETAIL_ADDRESSOF_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +#include + +namespace boost { +namespace container { +namespace container_detail { + +template +inline T* addressof(T& obj) +{ + return static_cast( + static_cast( + const_cast( + &reinterpret_cast(obj) + ))); +} + +} //namespace container_detail { +} //namespace container { +} //namespace boost { + +#endif //#ifndef BOOST_CONTAINER_DETAIL_ADDRESSOF_HPP diff --git a/3party/boost/boost/container/detail/advanced_insert_int.hpp b/3party/boost/boost/container/detail/advanced_insert_int.hpp index b9eb074fdd..56df588706 100644 --- a/3party/boost/boost/container/detail/advanced_insert_int.hpp +++ b/3party/boost/boost/container/detail/advanced_insert_int.hpp @@ -11,40 +11,55 @@ #ifndef BOOST_CONTAINER_ADVANCED_INSERT_INT_HPP #define BOOST_CONTAINER_ADVANCED_INSERT_INT_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include +// container #include +// container/detail +#include #include -#include -#include -#include //std::iterator_traits +#include +#include +#include +#include +#include +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif +// move +#include +// other #include -#include +#include namespace boost { namespace container { namespace container_detail { -template +template struct move_insert_range_proxy { - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; + typedef typename allocator_traits::size_type size_type; + typedef typename allocator_traits::value_type value_type; explicit move_insert_range_proxy(FwdIt first) : first_(first) {} - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) + void uninitialized_copy_n_and_update(Allocator &a, Iterator p, size_type n) { this->first_ = ::boost::container::uninitialized_move_alloc_n_source (a, this->first_, n, p); } - void copy_n_and_update(A &, Iterator p, size_type n) + void copy_n_and_update(Allocator &, Iterator p, size_type n) { this->first_ = ::boost::container::move_n_source(this->first_, n, p); } @@ -53,22 +68,22 @@ struct move_insert_range_proxy }; -template +template struct insert_range_proxy { - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; + typedef typename allocator_traits::size_type size_type; + typedef typename allocator_traits::value_type value_type; explicit insert_range_proxy(FwdIt first) : first_(first) {} - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) + void uninitialized_copy_n_and_update(Allocator &a, Iterator p, size_type n) { this->first_ = ::boost::container::uninitialized_copy_alloc_n_source(a, this->first_, n, p); } - void copy_n_and_update(A &, Iterator p, size_type n) + void copy_n_and_update(Allocator &, Iterator p, size_type n) { this->first_ = ::boost::container::copy_n_source(this->first_, n, p); } @@ -77,57 +92,61 @@ struct insert_range_proxy }; -template +template struct insert_n_copies_proxy { - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; + typedef typename allocator_traits::size_type size_type; + typedef typename allocator_traits::value_type value_type; explicit insert_n_copies_proxy(const value_type &v) : v_(v) {} - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const + void uninitialized_copy_n_and_update(Allocator &a, Iterator p, size_type n) const { boost::container::uninitialized_fill_alloc_n(a, v_, n, p); } - void copy_n_and_update(A &, Iterator p, size_type n) const - { std::fill_n(p, n, v_); } + void copy_n_and_update(Allocator &, Iterator p, size_type n) const + { + for (; 0 < n; --n, ++p){ + *p = v_; + } + } const value_type &v_; }; -template +template struct insert_value_initialized_n_proxy { - typedef ::boost::container::allocator_traits alloc_traits; - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; + typedef ::boost::container::allocator_traits alloc_traits; + typedef typename allocator_traits::size_type size_type; + typedef typename allocator_traits::value_type value_type; - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const + void uninitialized_copy_n_and_update(Allocator &a, Iterator p, size_type n) const { boost::container::uninitialized_value_init_alloc_n(a, n, p); } - void copy_n_and_update(A &, Iterator, size_type) const + void copy_n_and_update(Allocator &, Iterator, size_type) const { BOOST_ASSERT(false); } }; -template +template struct insert_default_initialized_n_proxy { - typedef ::boost::container::allocator_traits alloc_traits; - typedef typename allocator_traits::size_type size_type; - typedef typename allocator_traits::value_type value_type; + typedef ::boost::container::allocator_traits alloc_traits; + typedef typename allocator_traits::size_type size_type; + typedef typename allocator_traits::value_type value_type; - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const + void uninitialized_copy_n_and_update(Allocator &a, Iterator p, size_type n) const { boost::container::uninitialized_default_init_alloc_n(a, n, p); } - void copy_n_and_update(A &, Iterator, size_type) const + void copy_n_and_update(Allocator &, Iterator, size_type) const { BOOST_ASSERT(false); } }; -template +template struct insert_copy_proxy { - typedef boost::container::allocator_traits alloc_traits; + typedef boost::container::allocator_traits alloc_traits; typedef typename alloc_traits::size_type size_type; typedef typename alloc_traits::value_type value_type; @@ -135,13 +154,13 @@ struct insert_copy_proxy : v_(v) {} - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const + void uninitialized_copy_n_and_update(Allocator &a, Iterator p, size_type n) const { BOOST_ASSERT(n == 1); (void)n; alloc_traits::construct( a, iterator_to_raw_pointer(p), v_); } - void copy_n_and_update(A &, Iterator p, size_type n) const + void copy_n_and_update(Allocator &, Iterator p, size_type n) const { BOOST_ASSERT(n == 1); (void)n; *p =v_; @@ -151,10 +170,10 @@ struct insert_copy_proxy }; -template +template struct insert_move_proxy { - typedef boost::container::allocator_traits alloc_traits; + typedef boost::container::allocator_traits alloc_traits; typedef typename alloc_traits::size_type size_type; typedef typename alloc_traits::value_type value_type; @@ -162,13 +181,13 @@ struct insert_move_proxy : v_(v) {} - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) const + void uninitialized_copy_n_and_update(Allocator &a, Iterator p, size_type n) const { BOOST_ASSERT(n == 1); (void)n; alloc_traits::construct( a, iterator_to_raw_pointer(p), ::boost::move(v_) ); } - void copy_n_and_update(A &, Iterator p, size_type n) const + void copy_n_and_update(Allocator &, Iterator p, size_type n) const { BOOST_ASSERT(n == 1); (void)n; *p = ::boost::move(v_); @@ -177,50 +196,48 @@ struct insert_move_proxy value_type &v_; }; -template -insert_move_proxy get_insert_value_proxy(BOOST_RV_REF(typename std::iterator_traits::value_type) v) +template +insert_move_proxy get_insert_value_proxy(BOOST_RV_REF(typename boost::container::iterator_traits::value_type) v) { - return insert_move_proxy(v); + return insert_move_proxy(v); } -template -insert_copy_proxy get_insert_value_proxy(const typename std::iterator_traits::value_type &v) +template +insert_copy_proxy get_insert_value_proxy(const typename boost::container::iterator_traits::value_type &v) { - return insert_copy_proxy(v); + return insert_copy_proxy(v); } }}} //namespace boost { namespace container { namespace container_detail { -#ifdef BOOST_CONTAINER_PERFECT_FORWARDING +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #include -#include -#include -//#include //For debugging purposes +#include namespace boost { namespace container { namespace container_detail { -template -struct insert_non_movable_emplace_proxy +template +struct insert_nonmovable_emplace_proxy { - typedef boost::container::allocator_traits alloc_traits; + typedef boost::container::allocator_traits alloc_traits; typedef typename alloc_traits::size_type size_type; typedef typename alloc_traits::value_type value_type; typedef typename build_number_seq::type index_tuple_t; - explicit insert_non_movable_emplace_proxy(Args&&... args) + explicit insert_nonmovable_emplace_proxy(BOOST_FWD_REF(Args)... args) : args_(args...) {} - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) + void uninitialized_copy_n_and_update(Allocator &a, Iterator p, size_type n) { this->priv_uninitialized_copy_some_and_update(a, index_tuple_t(), p, n); } private: template - void priv_uninitialized_copy_some_and_update(A &a, const index_tuple&, Iterator p, size_type n) + void priv_uninitialized_copy_some_and_update(Allocator &a, const index_tuple&, Iterator p, size_type n) { BOOST_ASSERT(n == 1); (void)n; alloc_traits::construct( a, iterator_to_raw_pointer(p), ::boost::forward(get(this->args_))... ); @@ -230,30 +247,30 @@ struct insert_non_movable_emplace_proxy tuple args_; }; -template +template struct insert_emplace_proxy - : public insert_non_movable_emplace_proxy + : public insert_nonmovable_emplace_proxy { - typedef insert_non_movable_emplace_proxy base_t; - typedef boost::container::allocator_traits alloc_traits; + typedef insert_nonmovable_emplace_proxy base_t; + typedef boost::container::allocator_traits alloc_traits; typedef typename base_t::value_type value_type; typedef typename base_t::size_type size_type; typedef typename base_t::index_tuple_t index_tuple_t; - explicit insert_emplace_proxy(Args&&... args) + explicit insert_emplace_proxy(BOOST_FWD_REF(Args)... args) : base_t(::boost::forward(args)...) {} - void copy_n_and_update(A &a, Iterator p, size_type n) + void copy_n_and_update(Allocator &a, Iterator p, size_type n) { this->priv_copy_some_and_update(a, index_tuple_t(), p, n); } private: template - void priv_copy_some_and_update(A &a, const index_tuple&, Iterator p, size_type n) + void priv_copy_some_and_update(Allocator &a, const index_tuple&, Iterator p, size_type n) { BOOST_ASSERT(n ==1); (void)n; - aligned_storage::value> v; + typename aligned_storage::value>::type v; value_type *vp = static_cast(static_cast(&v)); alloc_traits::construct(a, vp, ::boost::forward(get(this->args_))...); @@ -269,87 +286,191 @@ struct insert_emplace_proxy } }; +//Specializations to avoid an unneeded temporary when emplacing from a single argument o type value_type +template +struct insert_emplace_proxy::value_type> + : public insert_move_proxy +{ + explicit insert_emplace_proxy(typename boost::container::allocator_traits::value_type &&v) + : insert_move_proxy(v) + {} +}; + +//We use "add_const" here as adding "const" only confuses MSVC12(and maybe later) provoking +//compiler error C2752 ("more than one partial specialization matches"). +//Any problem is solvable with an extra layer of indirection? ;-) +template +struct insert_emplace_proxy::value_type>::type + > + : public insert_copy_proxy +{ + explicit insert_emplace_proxy(const typename boost::container::allocator_traits::value_type &v) + : insert_copy_proxy(v) + {} +}; + +template +struct insert_emplace_proxy::value_type &> + : public insert_copy_proxy +{ + explicit insert_emplace_proxy(const typename boost::container::allocator_traits::value_type &v) + : insert_copy_proxy(v) + {} +}; + +template +struct insert_emplace_proxy::value_type>::type & + > + : public insert_copy_proxy +{ + explicit insert_emplace_proxy(const typename boost::container::allocator_traits::value_type &v) + : insert_copy_proxy(v) + {} +}; + }}} //namespace boost { namespace container { namespace container_detail { -#else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING +#else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#include #include namespace boost { namespace container { namespace container_detail { -#define BOOST_PP_LOCAL_MACRO(N) \ -template \ -struct BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, N) \ -{ \ - typedef boost::container::allocator_traits alloc_traits; \ - typedef typename alloc_traits::size_type size_type; \ - typedef typename alloc_traits::value_type value_type; \ - \ - explicit BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, N) \ - ( BOOST_PP_ENUM(N, BOOST_CONTAINER_PP_PARAM_LIST, _) ) \ - BOOST_PP_EXPR_IF(N, :) BOOST_PP_ENUM(N, BOOST_CONTAINER_PP_PARAM_INIT, _) \ - {} \ - \ - void uninitialized_copy_n_and_update(A &a, Iterator p, size_type n) \ - { \ - BOOST_ASSERT(n == 1); (void)n; \ - alloc_traits::construct \ - ( a, iterator_to_raw_pointer(p) \ - BOOST_PP_ENUM_TRAILING(N, BOOST_CONTAINER_PP_MEMBER_FORWARD, _) \ - ); \ - } \ - \ - void copy_n_and_update(A &, Iterator, size_type) \ - { BOOST_ASSERT(false); } \ - \ - protected: \ - BOOST_PP_REPEAT(N, BOOST_CONTAINER_PP_PARAM_DEFINE, _) \ -}; \ - \ -template \ -struct BOOST_PP_CAT(insert_emplace_proxy_arg, N) \ - : BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, N) \ - < A, Iterator BOOST_PP_ENUM_TRAILING_PARAMS(N, P) > \ -{ \ - typedef BOOST_PP_CAT(insert_non_movable_emplace_proxy_arg, N) \ - base_t; \ - typedef typename base_t::value_type value_type; \ - typedef typename base_t::size_type size_type; \ - typedef boost::container::allocator_traits alloc_traits; \ - \ - explicit BOOST_PP_CAT(insert_emplace_proxy_arg, N) \ - ( BOOST_PP_ENUM(N, BOOST_CONTAINER_PP_PARAM_LIST, _) ) \ - : base_t(BOOST_PP_ENUM(N, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ) \ - {} \ - \ - void copy_n_and_update(A &a, Iterator p, size_type n) \ - { \ - BOOST_ASSERT(n == 1); (void)n; \ - aligned_storage::value> v; \ - value_type *vp = static_cast(static_cast(&v)); \ - alloc_traits::construct(a, vp \ - BOOST_PP_ENUM_TRAILING(N, BOOST_CONTAINER_PP_MEMBER_FORWARD, _)); \ - BOOST_TRY{ \ - *p = ::boost::move(*vp); \ - } \ - BOOST_CATCH(...){ \ - alloc_traits::destroy(a, vp); \ - BOOST_RETHROW \ - } \ - BOOST_CATCH_END \ - alloc_traits::destroy(a, vp); \ - } \ -}; \ -//! -#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) -#include BOOST_PP_LOCAL_ITERATE() +#define BOOST_CONTAINER_ADVANCED_INSERT_INT_CODE(N) \ +template< class Allocator, class Iterator BOOST_MOVE_I##N BOOST_MOVE_CLASS##N >\ +struct insert_nonmovable_emplace_proxy##N\ +{\ + typedef boost::container::allocator_traits alloc_traits;\ + typedef typename alloc_traits::size_type size_type;\ + typedef typename alloc_traits::value_type value_type;\ + \ + explicit insert_nonmovable_emplace_proxy##N(BOOST_MOVE_UREF##N)\ + BOOST_MOVE_COLON##N BOOST_MOVE_FWD_INIT##N {}\ + \ + void uninitialized_copy_n_and_update(Allocator &a, Iterator p, size_type n)\ + {\ + BOOST_ASSERT(n == 1); (void)n;\ + alloc_traits::construct(a, iterator_to_raw_pointer(p) BOOST_MOVE_I##N BOOST_MOVE_MFWD##N);\ + }\ + \ + void copy_n_and_update(Allocator &, Iterator, size_type)\ + { BOOST_ASSERT(false); }\ + \ + protected:\ + BOOST_MOVE_MREF##N\ +};\ +\ +template< class Allocator, class Iterator BOOST_MOVE_I##N BOOST_MOVE_CLASS##N >\ +struct insert_emplace_proxy_arg##N\ + : insert_nonmovable_emplace_proxy##N< Allocator, Iterator BOOST_MOVE_I##N BOOST_MOVE_TARG##N >\ +{\ + typedef insert_nonmovable_emplace_proxy##N\ + < Allocator, Iterator BOOST_MOVE_I##N BOOST_MOVE_TARG##N > base_t;\ + typedef typename base_t::value_type value_type;\ + typedef typename base_t::size_type size_type;\ + typedef boost::container::allocator_traits alloc_traits;\ + \ + explicit insert_emplace_proxy_arg##N(BOOST_MOVE_UREF##N)\ + : base_t(BOOST_MOVE_FWD##N){}\ + \ + void copy_n_and_update(Allocator &a, Iterator p, size_type n)\ + {\ + BOOST_ASSERT(n == 1); (void)n;\ + typename aligned_storage::value>::type v;\ + BOOST_ASSERT((((size_type)(&v)) % alignment_of::value) == 0);\ + value_type *vp = static_cast(static_cast(&v));\ + alloc_traits::construct(a, vp BOOST_MOVE_I##N BOOST_MOVE_MFWD##N);\ + BOOST_TRY{\ + *p = ::boost::move(*vp);\ + }\ + BOOST_CATCH(...){\ + alloc_traits::destroy(a, vp);\ + BOOST_RETHROW\ + }\ + BOOST_CATCH_END\ + alloc_traits::destroy(a, vp);\ + }\ +};\ +// +BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_ADVANCED_INSERT_INT_CODE) +#undef BOOST_CONTAINER_ADVANCED_INSERT_INT_CODE + +#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + +//Specializations to avoid an unneeded temporary when emplacing from a single argument o type value_type +template +struct insert_emplace_proxy_arg1::value_type> > + : public insert_move_proxy +{ + explicit insert_emplace_proxy_arg1(typename boost::container::allocator_traits::value_type &v) + : insert_move_proxy(v) + {} +}; + +template +struct insert_emplace_proxy_arg1::value_type> + : public insert_copy_proxy +{ + explicit insert_emplace_proxy_arg1(const typename boost::container::allocator_traits::value_type &v) + : insert_copy_proxy(v) + {} +}; + +#else //e.g. MSVC10 & MSVC11 + +//Specializations to avoid an unneeded temporary when emplacing from a single argument o type value_type +template +struct insert_emplace_proxy_arg1::value_type> + : public insert_move_proxy +{ + explicit insert_emplace_proxy_arg1(typename boost::container::allocator_traits::value_type &&v) + : insert_move_proxy(v) + {} +}; + +//We use "add_const" here as adding "const" only confuses MSVC10&11 provoking +//compiler error C2752 ("more than one partial specialization matches"). +//Any problem is solvable with an extra layer of indirection? ;-) +template +struct insert_emplace_proxy_arg1::value_type>::type + > + : public insert_copy_proxy +{ + explicit insert_emplace_proxy_arg1(const typename boost::container::allocator_traits::value_type &v) + : insert_copy_proxy(v) + {} +}; + +template +struct insert_emplace_proxy_arg1::value_type &> + : public insert_copy_proxy +{ + explicit insert_emplace_proxy_arg1(const typename boost::container::allocator_traits::value_type &v) + : insert_copy_proxy(v) + {} +}; + +template +struct insert_emplace_proxy_arg1::value_type>::type & + > + : public insert_copy_proxy +{ + explicit insert_emplace_proxy_arg1(const typename boost::container::allocator_traits::value_type &v) + : insert_copy_proxy(v) + {} +}; + +#endif }}} //namespace boost { namespace container { namespace container_detail { -#endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING +#endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #include diff --git a/3party/boost/boost/container/detail/algorithm.hpp b/3party/boost/boost/container/detail/algorithm.hpp new file mode 100644 index 0000000000..67e7876345 --- /dev/null +++ b/3party/boost/boost/container/detail/algorithm.hpp @@ -0,0 +1,35 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2014. +// +// 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// + +#ifndef BOOST_CONTAINER_DETAIL_ALGORITHM_HPP +#define BOOST_CONTAINER_DETAIL_ALGORITHM_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +#include + +namespace boost { +namespace container { + +using boost::intrusive::algo_equal; +using boost::intrusive::algo_lexicographical_compare; + +} //namespace container { +} //namespace boost { + +#endif //#ifndef BOOST_CONTAINER_DETAIL_ALGORITHM_HPP diff --git a/3party/boost/boost/container/detail/algorithms.hpp b/3party/boost/boost/container/detail/algorithms.hpp deleted file mode 100644 index 9358995127..0000000000 --- a/3party/boost/boost/container/detail/algorithms.hpp +++ /dev/null @@ -1,90 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2005-2013. -// -// Distributed under the Boost Software License, Version 1.0. -// (See accompanying file LICENSE_1_0.txt or copy at -// http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DETAIL_ALGORITHMS_HPP -#define BOOST_CONTAINER_DETAIL_ALGORITHMS_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include -#include - -#include -#include -#include - - -#include - -namespace boost { -namespace container { - -template -struct is_value_init_construct_iterator -{ - static const bool value = false; -}; - -template -struct is_value_init_construct_iterator > -{ - static const bool value = true; -}; - -template -struct is_emplace_iterator -{ - static const bool value = false; -}; - -template -struct is_emplace_iterator > -{ - static const bool value = true; -}; - -template -inline void construct_in_place(A &a, T* dest, InpIt source) -{ boost::container::allocator_traits::construct(a, dest, *source); } -//#endif - -template -inline void construct_in_place(A &a, T *dest, value_init_construct_iterator) -{ - boost::container::allocator_traits::construct(a, dest); -} - -template -inline void construct_in_place(A &a, T *dest, default_init_construct_iterator) -{ - boost::container::allocator_traits::construct(a, dest, default_init); -} - -template -inline void construct_in_place(A &a, T *dest, emplace_iterator ei) -{ - ei.construct_in_place(a, dest); -} - -} //namespace container { -} //namespace boost { - -#include - -#endif //#ifndef BOOST_CONTAINER_DETAIL_ALGORITHMS_HPP - diff --git a/3party/boost/boost/container/detail/alloc_helpers.hpp b/3party/boost/boost/container/detail/alloc_helpers.hpp new file mode 100644 index 0000000000..656e0c2a5e --- /dev/null +++ b/3party/boost/boost/container/detail/alloc_helpers.hpp @@ -0,0 +1,60 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2015. 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// +#ifndef BOOST_CONTAINER_DETAIL_ALLOC_TRAITS_HPP +#define BOOST_CONTAINER_DETAIL_ALLOC_TRAITS_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +// move +#include +#include + +namespace boost { +namespace container { +namespace container_detail { + +template +inline void swap_alloc(AllocatorType &, AllocatorType &, container_detail::false_type) + BOOST_NOEXCEPT_OR_NOTHROW +{} + +template +inline void swap_alloc(AllocatorType &l, AllocatorType &r, container_detail::true_type) +{ boost::adl_move_swap(l, r); } + +template +inline void assign_alloc(AllocatorType &, const AllocatorType &, container_detail::false_type) + BOOST_NOEXCEPT_OR_NOTHROW +{} + +template +inline void assign_alloc(AllocatorType &l, const AllocatorType &r, container_detail::true_type) +{ l = r; } + +template +inline void move_alloc(AllocatorType &, AllocatorType &, container_detail::false_type) + BOOST_NOEXCEPT_OR_NOTHROW +{} + +template +inline void move_alloc(AllocatorType &l, AllocatorType &r, container_detail::true_type) +{ l = ::boost::move(r); } + +} //namespace container_detail { +} //namespace container { +} //namespace boost { + +#endif //#ifndef BOOST_CONTAINER_DETAIL_ALLOC_TRAITS_HPP diff --git a/3party/boost/boost/container/detail/alloc_lib_auto_link.hpp b/3party/boost/boost/container/detail/alloc_lib_auto_link.hpp index e424890f13..aea99a65c3 100644 --- a/3party/boost/boost/container/detail/alloc_lib_auto_link.hpp +++ b/3party/boost/boost/container/detail/alloc_lib_auto_link.hpp @@ -10,6 +10,14 @@ #ifndef BOOST_CONTAINER_DETAIL_BOOST_CONT_EXT_AUTO_LINK_HPP #define BOOST_CONTAINER_DETAIL_BOOST_CONT_EXT_AUTO_LINK_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include #include diff --git a/3party/boost/boost/container/detail/allocation_type.hpp b/3party/boost/boost/container/detail/allocation_type.hpp index 65d543ad50..1e8aa67310 100644 --- a/3party/boost/boost/container/detail/allocation_type.hpp +++ b/3party/boost/boost/container/detail/allocation_type.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_ALLOCATION_TYPE_HPP #define BOOST_CONTAINER_ALLOCATION_TYPE_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -36,7 +40,7 @@ enum allocation_type_v try_shrink_in_place_v = 0x40 }; -typedef int allocation_type; +typedef unsigned int allocation_type; #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED static const allocation_type allocate_new = (allocation_type)allocate_new_v; static const allocation_type expand_fwd = (allocation_type)expand_fwd_v; diff --git a/3party/boost/boost/container/detail/allocator_version_traits.hpp b/3party/boost/boost/container/detail/allocator_version_traits.hpp index d4567da0d7..62492da091 100644 --- a/3party/boost/boost/container/detail/allocator_version_traits.hpp +++ b/3party/boost/boost/container/detail/allocator_version_traits.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_DETAIL_ALLOCATOR_VERSION_TRAITS_HPP #define BOOST_CONTAINER_DETAIL_ALLOCATOR_VERSION_TRAITS_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -25,8 +29,7 @@ #include //allocation_type #include //integral_constant #include //pointer_traits -#include //pair -#include //BOOST_TRY +#include //BOOST_TRY namespace boost { namespace container { @@ -56,14 +59,9 @@ struct allocator_version_traits static void deallocate_individual(Allocator &a, multiallocation_chain &holder) { a.deallocate_individual(holder); } - static std::pair - allocation_command(Allocator &a, allocation_type command, - size_type limit_size, size_type preferred_size, - size_type &received_size, const pointer &reuse) - { - return a.allocation_command - (command, limit_size, preferred_size, received_size, reuse); - } + static pointer allocation_command(Allocator &a, allocation_type command, + size_type limit_size, size_type &prefer_in_recvd_out_size, pointer &reuse) + { return a.allocation_command(command, limit_size, prefer_in_recvd_out_size, reuse); } }; template @@ -132,21 +130,16 @@ struct allocator_version_traits rollback.release(); } - static std::pair - allocation_command(Allocator &a, allocation_type command, - size_type, size_type preferred_size, - size_type &received_size, const pointer &) + static pointer allocation_command(Allocator &a, allocation_type command, + size_type, size_type &prefer_in_recvd_out_size, pointer &reuse) { - std::pair ret(pointer(), false); - if(!(command & allocate_new)){ - if(!(command & nothrow_allocation)){ - throw_logic_error("version 1 allocator without allocate_new flag"); - } + pointer ret = pointer(); + if(BOOST_UNLIKELY(!(command & allocate_new) && !(command & nothrow_allocation))){ + throw_logic_error("version 1 allocator without allocate_new flag"); } else{ - received_size = preferred_size; BOOST_TRY{ - ret.first = a.allocate(received_size); + ret = a.allocate(prefer_in_recvd_out_size); } BOOST_CATCH(...){ if(!(command & nothrow_allocation)){ @@ -154,6 +147,7 @@ struct allocator_version_traits } } BOOST_CATCH_END + reuse = pointer(); } return ret; } diff --git a/3party/boost/boost/container/detail/auto_link.hpp b/3party/boost/boost/container/detail/auto_link.hpp index 2e4733363d..da078e8342 100644 --- a/3party/boost/boost/container/detail/auto_link.hpp +++ b/3party/boost/boost/container/detail/auto_link.hpp @@ -10,7 +10,11 @@ #ifndef BOOST_CONTAINER_DETAIL_AUTO_LINK_HPP_INCLUDED #define BOOST_CONTAINER_DETAIL_AUTO_LINK_HPP_INCLUDED -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif diff --git a/3party/boost/boost/container/detail/compare_functors.hpp b/3party/boost/boost/container/detail/compare_functors.hpp new file mode 100644 index 0000000000..4220d50996 --- /dev/null +++ b/3party/boost/boost/container/detail/compare_functors.hpp @@ -0,0 +1,74 @@ +/////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2014. 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/libs/container for documentation. +// +/////////////////////////////////////////////////////////////////////////////// + +#ifndef BOOST_CONTAINER_DETAIL_COMPARE_FUNCTORS_HPP +#define BOOST_CONTAINER_DETAIL_COMPARE_FUNCTORS_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +namespace boost { +namespace container { + +template +class equal_to_value +{ + typedef typename Allocator::value_type value_type; + const value_type &t_; + + public: + explicit equal_to_value(const value_type &t) + : t_(t) + {} + + bool operator()(const value_type &t)const + { return t_ == t; } +}; + +template +struct value_to_node_compare + : Pred +{ + typedef Pred predicate_type; + typedef Node node_type; + + value_to_node_compare() + : Pred() + {} + + explicit value_to_node_compare(Pred pred) + : Pred(pred) + {} + + bool operator()(const Node &a, const Node &b) const + { return static_cast(*this)(a.m_data, b.m_data); } + + bool operator()(const Node &a) const + { return static_cast(*this)(a.m_data); } + + bool operator()(const Node &a, const Node &b) + { return static_cast(*this)(a.m_data, b.m_data); } + + bool operator()(const Node &a) + { return static_cast(*this)(a.m_data); } + + predicate_type & predicate() { return static_cast(*this); } + const predicate_type & predicate() const { return static_cast(*this); } +}; + +} //namespace container { +} //namespace boost { + +#endif //BOOST_CONTAINER_DETAIL_COMPARE_FUNCTORS_HPP diff --git a/3party/boost/boost/container/detail/config_begin.hpp b/3party/boost/boost/container/detail/config_begin.hpp index 6c54befcc7..3f509e320b 100644 --- a/3party/boost/boost/container/detail/config_begin.hpp +++ b/3party/boost/boost/container/detail/config_begin.hpp @@ -9,46 +9,42 @@ ////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_CONTAINER_CONTAINER_DETAIL_CONFIG_INCLUDED #define BOOST_CONTAINER_CONTAINER_DETAIL_CONFIG_INCLUDED +#ifndef BOOST_CONFIG_HPP #include +#endif #endif //BOOST_CONTAINER_CONTAINER_DETAIL_CONFIG_INCLUDED #ifdef BOOST_MSVC - #ifndef _CRT_SECURE_NO_DEPRECATE - #define BOOST_CONTAINER_DETAIL_CRT_SECURE_NO_DEPRECATE - #define _CRT_SECURE_NO_DEPRECATE - #endif - #ifndef _SCL_SECURE_NO_WARNINGS - #define BOOST_CONTAINER_DETAIL_SCL_SECURE_NO_WARNINGS - #define _SCL_SECURE_NO_WARNINGS - #endif #pragma warning (push) - #pragma warning (disable : 4702) // unreachable code - #pragma warning (disable : 4706) // assignment within conditional expression #pragma warning (disable : 4127) // conditional expression is constant #pragma warning (disable : 4146) // unary minus operator applied to unsigned type, result still unsigned - #pragma warning (disable : 4284) // odd return type for operator-> + #pragma warning (disable : 4197) // top-level volatile in cast is ignored #pragma warning (disable : 4244) // possible loss of data #pragma warning (disable : 4251) // "identifier" : class "type" needs to have dll-interface to be used by clients of class "type2" #pragma warning (disable : 4267) // conversion from "X" to "Y", possible loss of data #pragma warning (disable : 4275) // non DLL-interface classkey "identifier" used as base for DLL-interface classkey "identifier" + #pragma warning (disable : 4284) // odd return type for operator-> + #pragma warning (disable : 4324) // structure was padded due to __declspec(align( + #pragma warning (disable : 4345) // behavior change: an object of POD type constructed with an initializer of the form () will be default-initialized #pragma warning (disable : 4355) // "this" : used in base member initializer list #pragma warning (disable : 4503) // "identifier" : decorated name length exceeded, name was truncated + #pragma warning (disable : 4510) // default constructor could not be generated #pragma warning (disable : 4511) // copy constructor could not be generated #pragma warning (disable : 4512) // assignment operator could not be generated #pragma warning (disable : 4514) // unreferenced inline removed #pragma warning (disable : 4521) // Disable "multiple copy constructors specified" #pragma warning (disable : 4522) // "class" : multiple assignment operators specified + #pragma warning (disable : 4541) // 'typeid' used on polymorphic type '' with /GR-; unpredictable behavior may result + #pragma warning (disable : 4584) // X is already a base-class of Y + #pragma warning (disable : 4610) // struct can never be instantiated - user defined constructor required + #pragma warning (disable : 4671) // the copy constructor is inaccessible + #pragma warning (disable : 4673) // throwing '' the following types will not be considered at the catch site #pragma warning (disable : 4675) // "method" should be declared "static" and have exactly one parameter + #pragma warning (disable : 4702) // unreachable code + #pragma warning (disable : 4706) // assignment within conditional expression #pragma warning (disable : 4710) // function not inlined #pragma warning (disable : 4711) // function selected for automatic inline expansion #pragma warning (disable : 4786) // identifier truncated in debug info #pragma warning (disable : 4996) // "function": was declared deprecated - #pragma warning (disable : 4197) // top-level volatile in cast is ignored - #pragma warning (disable : 4541) // 'typeid' used on polymorphic type 'boost::exception' - // with /GR-; unpredictable behavior may result - #pragma warning (disable : 4673) // throwing '' the following types will not be considered at the catch site - #pragma warning (disable : 4671) // the copy constructor is inaccessible - #pragma warning (disable : 4584) // X is already a base-class of Y - #pragma warning (disable : 4510) // default constructor could not be generated #endif //BOOST_MSVC diff --git a/3party/boost/boost/container/detail/config_end.hpp b/3party/boost/boost/container/detail/config_end.hpp index 7217019b85..f93c8f6f79 100644 --- a/3party/boost/boost/container/detail/config_end.hpp +++ b/3party/boost/boost/container/detail/config_end.hpp @@ -9,13 +9,5 @@ ////////////////////////////////////////////////////////////////////////////// #if defined BOOST_MSVC #pragma warning (pop) - #ifdef BOOST_CONTAINER_DETAIL_CRT_SECURE_NO_DEPRECATE - #undef BOOST_CONTAINER_DETAIL_CRT_SECURE_NO_DEPRECATE - #undef _CRT_SECURE_NO_DEPRECATE - #endif - #ifdef BOOST_CONTAINER_DETAIL_SCL_SECURE_NO_WARNINGS - #undef BOOST_CONTAINER_DETAIL_SCL_SECURE_NO_WARNINGS - #undef _SCL_SECURE_NO_WARNINGS - #endif #endif diff --git a/3party/boost/boost/container/detail/construct_in_place.hpp b/3party/boost/boost/container/detail/construct_in_place.hpp new file mode 100644 index 0000000000..f1931e7d44 --- /dev/null +++ b/3party/boost/boost/container/detail/construct_in_place.hpp @@ -0,0 +1,61 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2014. +// +// 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// + +#ifndef BOOST_CONTAINER_DETAIL_CONSTRUCT_IN_PLACE_HPP +#define BOOST_CONTAINER_DETAIL_CONSTRUCT_IN_PLACE_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +#include +#include + +namespace boost { +namespace container { + +template +inline void construct_in_place(Allocator &a, T* dest, InpIt source) +{ boost::container::allocator_traits::construct(a, dest, *source); } + +template +inline void construct_in_place(Allocator &a, T *dest, value_init_construct_iterator) +{ + boost::container::allocator_traits::construct(a, dest); +} + +template +class default_init_construct_iterator; + +template +inline void construct_in_place(Allocator &a, T *dest, default_init_construct_iterator) +{ + boost::container::allocator_traits::construct(a, dest, default_init); +} + +template +class emplace_iterator; + +template +inline void construct_in_place(Allocator &a, T *dest, emplace_iterator ei) +{ + ei.construct_in_place(a, dest); +} + +} //namespace container { +} //namespace boost { + +#endif //#ifndef BOOST_CONTAINER_DETAIL_CONSTRUCT_IN_PLACE_HPP diff --git a/3party/boost/boost/container/detail/utilities.hpp b/3party/boost/boost/container/detail/copy_move_algo.hpp similarity index 58% rename from 3party/boost/boost/container/detail/utilities.hpp rename to 3party/boost/boost/container/detail/copy_move_algo.hpp index 5aca542b26..23fa730838 100644 --- a/3party/boost/boost/container/detail/utilities.hpp +++ b/3party/boost/boost/container/detail/copy_move_algo.hpp @@ -7,224 +7,37 @@ // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_CONTAINER_DETAIL_UTILITIES_HPP #define BOOST_CONTAINER_DETAIL_UTILITIES_HPP -#include -#include +#ifndef BOOST_CONFIG_HPP +# include +#endif -#include -#include //for ::memmove / ::memcpy -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +// container +#include +// container/detail +#include +#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include //std::distance +// move +#include +#include +#include +// other +#include +// std +#include //for emmove/memcpy namespace boost { namespace container { - -////////////////////////////////////////////////////////////////////////////// -// -// swap -// -////////////////////////////////////////////////////////////////////////////// - -namespace container_swap { - -template::value > -struct has_member_swap -{ - static const bool value = boost::container::container_detail:: - has_member_function_callable_with_swap::value; -}; - -template -struct has_member_swap -{ - static const bool value = false; -}; - -} //namespace container_swap { - -template inline -typename container_detail::enable_if_c - ::value, void>::type -swap_dispatch(T &left, T &right) //swap using member swap -{ - left.swap(right); // may throw -} - -template inline -typename container_detail::enable_if_c - ::value && boost::has_move_emulation_enabled::value, void>::type - swap_dispatch(T &left, T &right) -{ - T temp(boost::move(left)); // may throw - left = boost::move(right); // may throw - right = boost::move(temp); // may throw -} - -template inline -typename container_detail::enable_if_c - ::value && !boost::has_move_emulation_enabled::value, void>::type - swap_dispatch(T &left, T &right) -{ - using std::swap; - swap(left, right); // may throw -} - namespace container_detail { -template -inline T* addressof(T& obj) -{ - return static_cast( - static_cast( - const_cast( - &reinterpret_cast(obj) - ))); -} - -template -const T &max_value(const T &a, const T &b) -{ return a > b ? a : b; } - -template -const T &min_value(const T &a, const T &b) -{ return a < b ? a : b; } - -enum NextCapacityOption { NextCapacityDouble, NextCapacity60Percent }; - -template -struct next_capacity_calculator; - -template -struct next_capacity_calculator -{ - static SizeType get(const SizeType max_size - ,const SizeType capacity - ,const SizeType n) - { - const SizeType remaining = max_size - capacity; - if ( remaining < n ) - boost::container::throw_length_error("get_next_capacity, allocator's max_size reached"); - const SizeType additional = max_value(n, capacity); - return ( remaining < additional ) ? max_size : ( capacity + additional ); - } -}; - - -template -struct next_capacity_calculator -{ - static SizeType get(const SizeType max_size - ,const SizeType capacity - ,const SizeType n) - { - const SizeType remaining = max_size - capacity; - if ( remaining < n ) - boost::container::throw_length_error("get_next_capacity, allocator's max_size reached"); - const SizeType m3 = max_size/3; - - if (capacity < m3) - return capacity + max_value(3*(capacity+1)/5, n); - - if (capacity < m3*2) - return capacity + max_value((capacity+1)/2, n); - return max_size; - } -}; - -template -inline T* to_raw_pointer(T* p) -{ return p; } - -template -inline typename boost::intrusive::pointer_traits::element_type* - to_raw_pointer(const Pointer &p) -{ return boost::container::container_detail::to_raw_pointer(p.operator->()); } - -template -inline T* iterator_to_pointer(T* i) -{ return i; } - -template -inline typename std::iterator_traits::pointer - iterator_to_pointer(const Iterator &i) -{ return i.operator->(); } - -template -inline - typename boost::intrusive::pointer_traits - ::pointer>::element_type* - iterator_to_raw_pointer(const Iterator &i) -{ return (to_raw_pointer)((iterator_to_pointer)(i)); } - - -template -inline void swap_alloc(AllocatorType &, AllocatorType &, container_detail::false_type) - BOOST_CONTAINER_NOEXCEPT -{} - -template -inline void swap_alloc(AllocatorType &l, AllocatorType &r, container_detail::true_type) -{ boost::container::swap_dispatch(l, r); } - -template -inline void assign_alloc(AllocatorType &, const AllocatorType &, container_detail::false_type) - BOOST_CONTAINER_NOEXCEPT -{} - -template -inline void assign_alloc(AllocatorType &l, const AllocatorType &r, container_detail::true_type) -{ l = r; } - -template -inline void move_alloc(AllocatorType &, AllocatorType &, container_detail::false_type) - BOOST_CONTAINER_NOEXCEPT -{} - -template -inline void move_alloc(AllocatorType &l, AllocatorType &r, container_detail::true_type) -{ l = ::boost::move(r); } - -//Rounds "orig_size" by excess to round_to bytes -template -inline SizeType get_rounded_size(SizeType orig_size, SizeType round_to) -{ - return ((orig_size-1)/round_to+1)*round_to; -} - -template -struct ct_rounded_size -{ - enum { value = ((OrigSize-1)/RoundTo+1)*RoundTo }; -}; - template struct are_elements_contiguous { @@ -241,6 +54,15 @@ struct are_elements_contiguous static const bool value = true; }; +///////////////////////// +// move iterators +///////////////////////// + +template +struct are_elements_contiguous< ::boost::move_iterator > + : are_elements_contiguous +{}; + ///////////////////////// // predeclarations ///////////////////////// @@ -301,127 +123,149 @@ struct are_elements_contiguous< ::boost::interprocess::offset_ptr struct are_contiguous_and_same -{ - static const bool is_same_io = - is_same< typename remove_const< typename ::std::iterator_traits::value_type >::type - , typename ::std::iterator_traits::value_type - >::value; - static const bool value = is_same_io && - are_elements_contiguous::value && - are_elements_contiguous::value; -}; + : boost::move_detail::and_ + < are_elements_contiguous + , are_elements_contiguous + , is_same< typename remove_const< typename ::boost::container::iterator_traits::value_type >::type + , typename ::boost::container::iterator_traits::value_type + > + > +{}; template struct is_memtransfer_copy_assignable -{ - static const bool value = are_contiguous_and_same::value && - boost::has_trivial_assign< typename ::std::iterator_traits::value_type >::value; -}; + : boost::move_detail::and_ + < are_contiguous_and_same + , container_detail::is_trivially_copy_assignable< typename ::boost::container::iterator_traits::value_type > + > +{}; template struct is_memtransfer_copy_constructible -{ - static const bool value = are_contiguous_and_same::value && - boost::has_trivial_copy< typename ::std::iterator_traits::value_type >::value; -}; + : boost::move_detail::and_ + < are_contiguous_and_same + , container_detail::is_trivially_copy_constructible< typename ::boost::container::iterator_traits::value_type > + > +{}; template struct enable_if_memtransfer_copy_constructible - : public enable_if_c::value, R> + : enable_if, R> {}; template struct disable_if_memtransfer_copy_constructible - : public enable_if_c::value, R> + : disable_if, R> {}; template struct enable_if_memtransfer_copy_assignable - : public enable_if_c::value, R> + : enable_if, R> {}; template struct disable_if_memtransfer_copy_assignable - : public enable_if_c::value, R> + : disable_if, R> {}; template // F models ForwardIterator -inline F memmove(I f, I l, F r) BOOST_CONTAINER_NOEXCEPT +inline F memmove(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW { - typedef typename std::iterator_traits::value_type value_type; - typename std::iterator_traits::difference_type n = std::distance(f, l); - ::memmove((iterator_to_raw_pointer)(r), (iterator_to_raw_pointer)(f), sizeof(value_type)*n); - std::advance(r, n); + typedef typename boost::container::iterator_traits::value_type value_type; + typename boost::container::iterator_traits::difference_type n = boost::container::iterator_distance(f, l); + if(n){ + std::memmove((iterator_to_raw_pointer)(r), (iterator_to_raw_pointer)(f), sizeof(value_type)*n); + boost::container::iterator_advance(r, n); + } return r; } template // F models ForwardIterator -F memmove_n(I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT +F memmove_n(I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW { - typedef typename std::iterator_traits::value_type value_type; - ::memmove((iterator_to_raw_pointer)(r), (iterator_to_raw_pointer)(f), sizeof(value_type)*n); - std::advance(r, n); + typedef typename boost::container::iterator_traits::value_type value_type; + if(n){ + std::memmove((iterator_to_raw_pointer)(r), (iterator_to_raw_pointer)(f), sizeof(value_type)*n); + boost::container::iterator_advance(r, n); + } return r; } template // F models ForwardIterator -I memmove_n_source(I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT +I memmove_n_source(I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW { - typedef typename std::iterator_traits::value_type value_type; - ::memmove((iterator_to_raw_pointer)(r), (iterator_to_raw_pointer)(f), sizeof(value_type)*n); - std::advance(f, n); + if(n){ + typedef typename boost::container::iterator_traits::value_type value_type; + std::memmove((iterator_to_raw_pointer)(r), (iterator_to_raw_pointer)(f), sizeof(value_type)*n); + boost::container::iterator_advance(f, n); + } return f; } template // F models ForwardIterator -I memmove_n_source_dest(I f, typename std::iterator_traits::difference_type n, F &r) BOOST_CONTAINER_NOEXCEPT +I memmove_n_source_dest(I f, typename boost::container::iterator_traits::difference_type n, F &r) BOOST_NOEXCEPT_OR_NOTHROW { - typedef typename std::iterator_traits::value_type value_type; - ::memmove((iterator_to_raw_pointer)(r), (iterator_to_raw_pointer)(f), sizeof(value_type)*n); - std::advance(f, n); - std::advance(r, n); + typedef typename boost::container::iterator_traits::value_type value_type; + if(n){ + std::memmove((iterator_to_raw_pointer)(r), (iterator_to_raw_pointer)(f), sizeof(value_type)*n); + boost::container::iterator_advance(f, n); + boost::container::iterator_advance(r, n); + } return f; } template struct is_memzero_initializable { - typedef typename ::std::iterator_traits::value_type value_type; + typedef typename ::boost::container::iterator_traits::value_type value_type; static const bool value = are_elements_contiguous::value && - ( ::boost::is_integral::value || ::boost::is_enum::value + ( container_detail::is_integral::value || container_detail::is_enum::value #if defined(BOOST_CONTAINER_MEMZEROED_POINTER_IS_NULL) - || ::boost::is_pointer::value + || container_detail::is_pointer::value #endif #if defined(BOOST_CONTAINER_MEMZEROED_FLOATING_POINT_IS_ZERO) - || ::boost::is_floating_point::value + || container_detail::is_floating_point::value #endif #if defined(BOOST_CONTAINER_MEMZEROED_FLOATING_POINT_IS_ZERO) && defined(BOOST_CONTAINER_MEMZEROED_POINTER_IS_NULL) - || ::boost::is_pod::value + || container_detail::is_pod::value #endif ); }; template struct enable_if_memzero_initializable - : public enable_if_c::value, R> + : enable_if_c::value, R> {}; template struct disable_if_memzero_initializable - : public enable_if_c::value, R> + : enable_if_c::value, R> +{}; + +template +struct enable_if_trivially_destructible + : enable_if_c < false/*container_detail::is_trivially_destructible + ::value_type>::value*/ + , R> +{}; + +template +struct disable_if_trivially_destructible + : enable_if_c ::value_type>::value*/ + , R> {}; } //namespace container_detail { - ////////////////////////////////////////////////////////////////////////////// // // uninitialized_move_alloc @@ -437,35 +281,35 @@ struct disable_if_memzero_initializable //! //! Returns: r template - // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_constructible::type - uninitialized_move_alloc(A &a, I f, I l, F r) + uninitialized_move_alloc(Allocator &a, I f, I l, F r) { F back = r; BOOST_TRY{ while (f != l) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), boost::move(*f)); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), boost::move(*f)); ++f; ++r; } } BOOST_CATCH(...){ - for (; back != r; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != r; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END return r; } template - // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_constructible::type - uninitialized_move_alloc(A &, I f, I l, F r) BOOST_CONTAINER_NOEXCEPT + uninitialized_move_alloc(Allocator &, I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove(f, l, r); } ////////////////////////////////////////////////////////////////////////////// @@ -482,35 +326,35 @@ inline typename container_detail::enable_if_memtransfer_copy_constructibleReturns: r template - // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_constructible::type - uninitialized_move_alloc_n(A &a, I f, typename std::iterator_traits::difference_type n, F r) + uninitialized_move_alloc_n(Allocator &a, I f, typename boost::container::iterator_traits::difference_type n, F r) { F back = r; BOOST_TRY{ while (n--) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), boost::move(*f)); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), boost::move(*f)); ++f; ++r; } } BOOST_CATCH(...){ - for (; back != r; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != r; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END return r; } template - // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_constructible::type - uninitialized_move_alloc_n(A &, I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT + uninitialized_move_alloc_n(Allocator &, I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove_n(f, n, r); } ////////////////////////////////////////////////////////////////////////////// @@ -527,35 +371,35 @@ inline typename container_detail::enable_if_memtransfer_copy_constructibleReturns: f (after incremented) template - // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_constructible::type - uninitialized_move_alloc_n_source(A &a, I f, typename std::iterator_traits::difference_type n, F r) + uninitialized_move_alloc_n_source(Allocator &a, I f, typename boost::container::iterator_traits::difference_type n, F r) { F back = r; BOOST_TRY{ while (n--) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), boost::move(*f)); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), boost::move(*f)); ++f; ++r; } } BOOST_CATCH(...){ - for (; back != r; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != r; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END return f; } template - // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_constructible::type - uninitialized_move_alloc_n_source(A &, I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT + uninitialized_move_alloc_n_source(Allocator &, I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove_n_source(f, n, r); } ////////////////////////////////////////////////////////////////////////////// @@ -572,35 +416,35 @@ inline typename container_detail::enable_if_memtransfer_copy_constructibleReturns: r template - // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_constructible::type - uninitialized_copy_alloc(A &a, I f, I l, F r) + uninitialized_copy_alloc(Allocator &a, I f, I l, F r) { F back = r; BOOST_TRY{ while (f != l) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), *f); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), *f); ++f; ++r; } } BOOST_CATCH(...){ - for (; back != r; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != r; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END return r; } template - // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_constructible::type - uninitialized_copy_alloc(A &, I f, I l, F r) BOOST_CONTAINER_NOEXCEPT + uninitialized_copy_alloc(Allocator &, I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove(f, l, r); } ////////////////////////////////////////////////////////////////////////////// @@ -617,35 +461,35 @@ inline typename container_detail::enable_if_memtransfer_copy_constructibleReturns: r template - // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_constructible::type - uninitialized_copy_alloc_n(A &a, I f, typename std::iterator_traits::difference_type n, F r) + uninitialized_copy_alloc_n(Allocator &a, I f, typename boost::container::iterator_traits::difference_type n, F r) { F back = r; BOOST_TRY{ while (n--) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), *f); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), *f); ++f; ++r; } } BOOST_CATCH(...){ - for (; back != r; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != r; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END return r; } template - // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_constructible::type - uninitialized_copy_alloc_n(A &, I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT + uninitialized_copy_alloc_n(Allocator &, I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove_n(f, n, r); } ////////////////////////////////////////////////////////////////////////////// @@ -662,35 +506,35 @@ inline typename container_detail::enable_if_memtransfer_copy_constructibleReturns: f (after incremented) template - // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_constructible::type - uninitialized_copy_alloc_n_source(A &a, I f, typename std::iterator_traits::difference_type n, F r) + uninitialized_copy_alloc_n_source(Allocator &a, I f, typename boost::container::iterator_traits::difference_type n, F r) { F back = r; BOOST_TRY{ while (n--) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), *f); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), *f); ++f; ++r; } } BOOST_CATCH(...){ - for (; back != r; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != r; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END return f; } template - // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_constructible::type - uninitialized_copy_alloc_n_source(A &, I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT + uninitialized_copy_alloc_n_source(Allocator &, I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove_n_source(f, n, r); } ////////////////////////////////////////////////////////////////////////////// @@ -707,37 +551,37 @@ inline typename container_detail::enable_if_memtransfer_copy_constructibleReturns: r template - // F models ForwardIterator inline typename container_detail::disable_if_memzero_initializable::type - uninitialized_value_init_alloc_n(A &a, typename allocator_traits::difference_type n, F r) + uninitialized_value_init_alloc_n(Allocator &a, typename allocator_traits::difference_type n, F r) { F back = r; BOOST_TRY{ while (n--) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r)); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r)); ++r; } } BOOST_CATCH(...){ - for (; back != r; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != r; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END return r; } template - // F models ForwardIterator inline typename container_detail::enable_if_memzero_initializable::type - uninitialized_value_init_alloc_n(A &, typename allocator_traits::difference_type n, F r) + uninitialized_value_init_alloc_n(Allocator &, typename allocator_traits::difference_type n, F r) { - typedef typename std::iterator_traits::value_type value_type; - ::memset((void*)container_detail::iterator_to_raw_pointer(r), 0, sizeof(value_type)*n); - std::advance(r, n); + typedef typename boost::container::iterator_traits::value_type value_type; + std::memset((void*)container_detail::iterator_to_raw_pointer(r), 0, sizeof(value_type)*n); + boost::container::iterator_advance(r, n); return r; } @@ -755,22 +599,22 @@ inline typename container_detail::enable_if_memzero_initializable::type //! //! Returns: r template - // F models ForwardIterator -inline F uninitialized_default_init_alloc_n(A &a, typename allocator_traits::difference_type n, F r) +inline F uninitialized_default_init_alloc_n(Allocator &a, typename allocator_traits::difference_type n, F r) { F back = r; BOOST_TRY{ while (n--) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), default_init); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), default_init); ++r; } } BOOST_CATCH(...){ - for (; back != r; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != r; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END return r; @@ -790,23 +634,23 @@ inline F uninitialized_default_init_alloc_n(A &a, typename allocator_traits:: //! //! Returns: r template - -inline void uninitialized_fill_alloc(A &a, F f, F l, const T &t) +inline void uninitialized_fill_alloc(Allocator &a, F f, F l, const T &t) { F back = f; BOOST_TRY{ while (f != l) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(f), t); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(f), t); ++f; } } BOOST_CATCH(...){ - for (; back != l; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != l; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END } @@ -826,23 +670,23 @@ inline void uninitialized_fill_alloc(A &a, F f, F l, const T &t) //! //! Returns: r template - // F models ForwardIterator -inline F uninitialized_fill_alloc_n(A &a, const T &v, typename allocator_traits::difference_type n, F r) +inline F uninitialized_fill_alloc_n(Allocator &a, const T &v, typename allocator_traits::difference_type n, F r) { F back = r; BOOST_TRY{ while (n--) { - allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), v); + allocator_traits::construct(a, container_detail::iterator_to_raw_pointer(r), v); ++r; } } BOOST_CATCH(...){ - for (; back != r; ++back){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); + for (; back != r; ++back){ + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(back)); } - BOOST_RETHROW; + BOOST_RETHROW; } BOOST_CATCH_END return r; @@ -871,7 +715,7 @@ template // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_assignable::type - copy(I f, I l, F r) BOOST_CONTAINER_NOEXCEPT + copy(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove(f, l, r); } ////////////////////////////////////////////////////////////////////////////// @@ -884,7 +728,7 @@ template // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_assignable::type - copy_n(I f, typename std::iterator_traits::difference_type n, F r) + copy_n(I f, typename boost::container::iterator_traits::difference_type n, F r) { while (n--) { *r = *f; @@ -897,7 +741,7 @@ template // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_assignable::type - copy_n(I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT + copy_n(I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove_n(f, n, r); } ////////////////////////////////////////////////////////////////////////////// @@ -910,7 +754,7 @@ template // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_assignable::type - copy_n_source(I f, typename std::iterator_traits::difference_type n, F r) + copy_n_source(I f, typename boost::container::iterator_traits::difference_type n, F r) { while (n--) { *r = *f; @@ -923,7 +767,7 @@ template // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_assignable::type - copy_n_source(I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT + copy_n_source(I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove_n_source(f, n, r); } ////////////////////////////////////////////////////////////////////////////// @@ -936,7 +780,7 @@ template // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_assignable::type - copy_n_source_dest(I f, typename std::iterator_traits::difference_type n, F &r) + copy_n_source_dest(I f, typename boost::container::iterator_traits::difference_type n, F &r) { while (n--) { *r = *f; @@ -949,7 +793,7 @@ template // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_assignable::type - copy_n_source_dest(I f, typename std::iterator_traits::difference_type n, F &r) BOOST_CONTAINER_NOEXCEPT + copy_n_source_dest(I f, typename boost::container::iterator_traits::difference_type n, F &r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove_n_source_dest(f, n, r); } ////////////////////////////////////////////////////////////////////////////// @@ -975,7 +819,7 @@ template // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_assignable::type - move(I f, I l, F r) BOOST_CONTAINER_NOEXCEPT + move(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove(f, l, r); } ////////////////////////////////////////////////////////////////////////////// @@ -988,7 +832,7 @@ template // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_assignable::type - move_n(I f, typename std::iterator_traits::difference_type n, F r) + move_n(I f, typename boost::container::iterator_traits::difference_type n, F r) { while (n--) { *r = ::boost::move(*f); @@ -1001,34 +845,41 @@ template // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_assignable::type - move_n(I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT + move_n(I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove_n(f, n, r); } + ////////////////////////////////////////////////////////////////////////////// // -// move_n_source +// move_backward // ////////////////////////////////////////////////////////////////////////////// template - // F models ForwardIterator -inline typename container_detail::disable_if_memtransfer_copy_assignable::type - move_n_source(I f, typename std::iterator_traits::difference_type n, F r) + // F models ForwardIterator +inline typename container_detail::disable_if_memtransfer_copy_assignable::type + move_backward(I f, I l, F r) { - while (n--) { - *r = ::boost::move(*f); - ++f; ++r; + while (f != l) { + --l; --r; + *r = ::boost::move(*l); } - return f; + return r; } template - // F models ForwardIterator -inline typename container_detail::enable_if_memtransfer_copy_assignable::type - move_n_source(I f, typename std::iterator_traits::difference_type n, F r) BOOST_CONTAINER_NOEXCEPT -{ return container_detail::memmove_n_source(f, n, r); } + // F models ForwardIterator +inline typename container_detail::enable_if_memtransfer_copy_assignable::type + move_backward(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW +{ + typedef typename boost::container::iterator_traits::value_type value_type; + const typename boost::container::iterator_traits::difference_type n = boost::container::iterator_distance(f, l); + r -= n; + std::memmove((container_detail::iterator_to_raw_pointer)(r), (container_detail::iterator_to_raw_pointer)(f), sizeof(value_type)*n); + return r; +} ////////////////////////////////////////////////////////////////////////////// // @@ -1040,7 +891,7 @@ template // F models ForwardIterator inline typename container_detail::disable_if_memtransfer_copy_assignable::type - move_n_source_dest(I f, typename std::iterator_traits::difference_type n, F &r) + move_n_source_dest(I f, typename boost::container::iterator_traits::difference_type n, F &r) { while (n--) { *r = ::boost::move(*f); @@ -1053,33 +904,60 @@ template // F models ForwardIterator inline typename container_detail::enable_if_memtransfer_copy_assignable::type - move_n_source_dest(I f, typename std::iterator_traits::difference_type n, F &r) BOOST_CONTAINER_NOEXCEPT + move_n_source_dest(I f, typename boost::container::iterator_traits::difference_type n, F &r) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::memmove_n_source_dest(f, n, r); } ////////////////////////////////////////////////////////////////////////////// // -// destroy_n +// move_n_source // ////////////////////////////////////////////////////////////////////////////// template - // I models InputIterator -inline void destroy_alloc_n(A &a, I f, typename std::iterator_traits::difference_type n - ,typename boost::container::container_detail::enable_if_c - < !boost::has_trivial_destructor::value_type>::value >::type* = 0) + // F models ForwardIterator +inline typename container_detail::disable_if_memtransfer_copy_assignable::type + move_n_source(I f, typename boost::container::iterator_traits::difference_type n, F r) +{ + while (n--) { + *r = ::boost::move(*f); + ++f; ++r; + } + return f; +} + +template + // F models ForwardIterator +inline typename container_detail::enable_if_memtransfer_copy_assignable::type + move_n_source(I f, typename boost::container::iterator_traits::difference_type n, F r) BOOST_NOEXCEPT_OR_NOTHROW +{ return container_detail::memmove_n_source(f, n, r); } + +////////////////////////////////////////////////////////////////////////////// +// +// destroy_alloc_n +// +////////////////////////////////////////////////////////////////////////////// + +template + // U models unsigned integral constant +inline typename container_detail::disable_if_trivially_destructible::type + destroy_alloc_n(Allocator &a, I f, U n) { while(n--){ - allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(f++)); + allocator_traits::destroy(a, container_detail::iterator_to_raw_pointer(f)); + ++f; } } template - // I models InputIterator -inline void destroy_alloc_n(A &, I, typename std::iterator_traits::difference_type - ,typename boost::container::container_detail::enable_if_c - < boost::has_trivial_destructor::value_type>::value >::type* = 0) + // U models unsigned integral constant +inline typename container_detail::enable_if_trivially_destructible::type + destroy_alloc_n(Allocator &, I, U) {} ////////////////////////////////////////////////////////////////////////////// @@ -1090,17 +968,17 @@ inline void destroy_alloc_n(A &, I, typename std::iterator_traits::difference template inline typename container_detail::disable_if_memtransfer_copy_assignable::type - deep_swap_alloc_n( A &a, F short_range_f, typename allocator_traits::size_type n_i - , G large_range_f, typename allocator_traits::size_type n_j) + deep_swap_alloc_n( Allocator &a, F short_range_f, typename allocator_traits::size_type n_i + , G large_range_f, typename allocator_traits::size_type n_j) { - typename allocator_traits::size_type n = 0; + typename allocator_traits::size_type n = 0; for (; n != n_i ; ++short_range_f, ++large_range_f, ++n){ - boost::container::swap_dispatch(*short_range_f, *large_range_f); + boost::adl_move_swap(*short_range_f, *large_range_f); } boost::container::uninitialized_move_alloc_n(a, large_range_f, n_j - n_i, short_range_f); // may throw boost::container::destroy_alloc_n(a, large_range_f, n_j - n_i); @@ -1110,18 +988,18 @@ static const std::size_t DeepSwapAllocNMaxStorage = std::size_t(1) << std::size_ template inline typename container_detail::enable_if_c < container_detail::is_memtransfer_copy_assignable::value && (MaxTmpBytes <= DeepSwapAllocNMaxStorage) && false , void>::type - deep_swap_alloc_n( A &a, F short_range_f, typename allocator_traits::size_type n_i - , G large_range_f, typename allocator_traits::size_type n_j) + deep_swap_alloc_n( Allocator &a, F short_range_f, typename allocator_traits::size_type n_i + , G large_range_f, typename allocator_traits::size_type n_j) { - typedef typename allocator_traits::value_type value_type; - typedef typename boost::aligned_storage + typedef typename allocator_traits::value_type value_type; + typedef typename container_detail::aligned_storage ::value>::type storage_type; storage_type storage; @@ -1129,29 +1007,29 @@ inline typename container_detail::enable_if_c void *const large_ptr = static_cast(container_detail::iterator_to_raw_pointer(large_range_f)); void *const short_ptr = static_cast(container_detail::iterator_to_raw_pointer(short_range_f)); void *const stora_ptr = static_cast(container_detail::iterator_to_raw_pointer(storage)); - ::memcpy(stora_ptr, large_ptr, n_i_bytes); - ::memcpy(large_ptr, short_ptr, n_i_bytes); - ::memcpy(short_ptr, stora_ptr, n_i_bytes); - std::advance(large_range_f, n_i); - std::advance(short_range_f, n_i); + std::memcpy(stora_ptr, large_ptr, n_i_bytes); + std::memcpy(large_ptr, short_ptr, n_i_bytes); + std::memcpy(short_ptr, stora_ptr, n_i_bytes); + boost::container::iterator_advance(large_range_f, n_i); + boost::container::iterator_advance(short_range_f, n_i); boost::container::uninitialized_move_alloc_n(a, large_range_f, n_j - n_i, short_range_f); // may throw boost::container::destroy_alloc_n(a, large_range_f, n_j - n_i); } template inline typename container_detail::enable_if_c < container_detail::is_memtransfer_copy_assignable::value && true//(MaxTmpBytes > DeepSwapAllocNMaxStorage) , void>::type - deep_swap_alloc_n( A &a, F short_range_f, typename allocator_traits::size_type n_i - , G large_range_f, typename allocator_traits::size_type n_j) + deep_swap_alloc_n( Allocator &a, F short_range_f, typename allocator_traits::size_type n_i + , G large_range_f, typename allocator_traits::size_type n_j) { - typedef typename allocator_traits::value_type value_type; - typedef typename boost::aligned_storage + typedef typename allocator_traits::value_type value_type; + typedef typename container_detail::aligned_storage ::value>::type storage_type; storage_type storage; const std::size_t sizeof_storage = sizeof(storage); @@ -1172,39 +1050,39 @@ inline typename container_detail::enable_if_c case 4: break; case 0: do{ - ::memcpy(stora_ptr, large_ptr, sizeof_storage); - ::memcpy(large_ptr, short_ptr, sizeof_storage); - ::memcpy(short_ptr, stora_ptr, sizeof_storage); + std::memcpy(stora_ptr, large_ptr, sizeof_storage); + std::memcpy(large_ptr, short_ptr, sizeof_storage); + std::memcpy(short_ptr, stora_ptr, sizeof_storage); large_ptr += sizeof_storage; short_ptr += sizeof_storage; BOOST_CONTAINER_FALLTHOUGH case 3: - ::memcpy(stora_ptr, large_ptr, sizeof_storage); - ::memcpy(large_ptr, short_ptr, sizeof_storage); - ::memcpy(short_ptr, stora_ptr, sizeof_storage); + std::memcpy(stora_ptr, large_ptr, sizeof_storage); + std::memcpy(large_ptr, short_ptr, sizeof_storage); + std::memcpy(short_ptr, stora_ptr, sizeof_storage); large_ptr += sizeof_storage; short_ptr += sizeof_storage; BOOST_CONTAINER_FALLTHOUGH case 2: - ::memcpy(stora_ptr, large_ptr, sizeof_storage); - ::memcpy(large_ptr, short_ptr, sizeof_storage); - ::memcpy(short_ptr, stora_ptr, sizeof_storage); + std::memcpy(stora_ptr, large_ptr, sizeof_storage); + std::memcpy(large_ptr, short_ptr, sizeof_storage); + std::memcpy(short_ptr, stora_ptr, sizeof_storage); large_ptr += sizeof_storage; short_ptr += sizeof_storage; BOOST_CONTAINER_FALLTHOUGH case 1: - ::memcpy(stora_ptr, large_ptr, sizeof_storage); - ::memcpy(large_ptr, short_ptr, sizeof_storage); - ::memcpy(short_ptr, stora_ptr, sizeof_storage); + std::memcpy(stora_ptr, large_ptr, sizeof_storage); + std::memcpy(large_ptr, short_ptr, sizeof_storage); + std::memcpy(short_ptr, stora_ptr, sizeof_storage); large_ptr += sizeof_storage; short_ptr += sizeof_storage; } while(--n); } - ::memcpy(stora_ptr, large_ptr, szt_rem); - ::memcpy(large_ptr, short_ptr, szt_rem); - ::memcpy(short_ptr, stora_ptr, szt_rem); - std::advance(large_range_f, n_i); - std::advance(short_range_f, n_i); + std::memcpy(stora_ptr, large_ptr, szt_rem); + std::memcpy(large_ptr, short_ptr, szt_rem); + std::memcpy(short_ptr, stora_ptr, szt_rem); + boost::container::iterator_advance(large_range_f, n_i); + boost::container::iterator_advance(short_range_f, n_i); boost::container::uninitialized_move_alloc_n(a, large_range_f, n_j - n_i, short_range_f); // may throw boost::container::destroy_alloc_n(a, large_range_f, n_j - n_i); } @@ -1217,12 +1095,12 @@ inline typename container_detail::enable_if_c ////////////////////////////////////////////////////////////////////////////// template - -void copy_assign_range_alloc_n( A &a, I inp_start, typename allocator_traits::size_type n_i - , O out_start, typename allocator_traits::size_type n_o ) +void copy_assign_range_alloc_n( Allocator &a, I inp_start, typename allocator_traits::size_type n_i + , O out_start, typename allocator_traits::size_type n_o ) { if (n_o < n_i){ inp_start = boost::container::copy_n_source_dest(inp_start, n_o, out_start); // may throw @@ -1241,12 +1119,12 @@ void copy_assign_range_alloc_n( A &a, I inp_start, typename allocator_traits: ////////////////////////////////////////////////////////////////////////////// template - -void move_assign_range_alloc_n( A &a, I inp_start, typename allocator_traits::size_type n_i - , O out_start, typename allocator_traits::size_type n_o ) +void move_assign_range_alloc_n( Allocator &a, I inp_start, typename allocator_traits::size_type n_i + , O out_start, typename allocator_traits::size_type n_o ) { if (n_o < n_i){ inp_start = boost::container::move_n_source_dest(inp_start, n_o, out_start); // may throw @@ -1261,6 +1139,4 @@ void move_assign_range_alloc_n( A &a, I inp_start, typename allocator_traits: } //namespace container { } //namespace boost { -#include - #endif //#ifndef BOOST_CONTAINER_DETAIL_UTILITIES_HPP diff --git a/3party/boost/boost/container/detail/destroyers.hpp b/3party/boost/boost/container/detail/destroyers.hpp index 064589584c..52b44c0363 100644 --- a/3party/boost/boost/container/detail/destroyers.hpp +++ b/3party/boost/boost/container/detail/destroyers.hpp @@ -13,16 +13,20 @@ #ifndef BOOST_CONTAINER_DESTROYERS_HPP #define BOOST_CONTAINER_DESTROYERS_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include -#include -#include #include +#include +#include namespace boost { namespace container { @@ -30,22 +34,20 @@ namespace container_detail { //!A deleter for scoped_ptr that deallocates the memory //!allocated for an object using a STL allocator. -template +template struct scoped_deallocator { - typedef allocator_traits allocator_traits_type; + typedef allocator_traits allocator_traits_type; typedef typename allocator_traits_type::pointer pointer; typedef container_detail::integral_constant::value> alloc_version; - typedef container_detail::integral_constant allocator_v1; - typedef container_detail::integral_constant allocator_v2; + version::value> alloc_version; private: - void priv_deallocate(allocator_v1) + void priv_deallocate(version_1) { m_alloc.deallocate(m_ptr, 1); } - void priv_deallocate(allocator_v2) + void priv_deallocate(version_2) { m_alloc.deallocate_one(m_ptr); } BOOST_MOVABLE_BUT_NOT_COPYABLE(scoped_deallocator) @@ -53,9 +55,9 @@ struct scoped_deallocator public: pointer m_ptr; - A& m_alloc; + Allocator& m_alloc; - scoped_deallocator(pointer p, A& a) + scoped_deallocator(pointer p, Allocator& a) : m_ptr(p), m_alloc(a) {} @@ -143,8 +145,6 @@ struct scoped_destroy_deallocator typedef container_detail::integral_constant::value> alloc_version; - typedef container_detail::integral_constant allocator_v1; - typedef container_detail::integral_constant allocator_v2; scoped_destroy_deallocator(pointer p, Allocator& a) : m_ptr(p), m_alloc(a) {} @@ -162,10 +162,10 @@ struct scoped_destroy_deallocator private: - void priv_deallocate(const pointer &p, allocator_v1) + void priv_deallocate(const pointer &p, version_1) { AllocTraits::deallocate(m_alloc, p, 1); } - void priv_deallocate(const pointer &p, allocator_v2) + void priv_deallocate(const pointer &p, version_2) { m_alloc.deallocate_one(p); } pointer m_ptr; @@ -204,7 +204,7 @@ struct scoped_destructor_n if(!m_p) return; value_type *raw_ptr = container_detail::to_raw_pointer(m_p); while(m_n--){ - AllocTraits::destroy(m_a, raw_ptr); + AllocTraits::destroy(m_a, raw_ptr++); } } @@ -239,13 +239,13 @@ struct null_scoped_destructor_n {} }; -template +template class scoped_destructor { - typedef boost::container::allocator_traits AllocTraits; + typedef boost::container::allocator_traits AllocTraits; public: - typedef typename A::value_type value_type; - scoped_destructor(A &a, value_type *pv) + typedef typename Allocator::value_type value_type; + scoped_destructor(Allocator &a, value_type *pv) : pv_(pv), a_(a) {} @@ -266,17 +266,17 @@ class scoped_destructor private: value_type *pv_; - A &a_; + Allocator &a_; }; -template +template class value_destructor { - typedef boost::container::allocator_traits AllocTraits; + typedef boost::container::allocator_traits AllocTraits; public: - typedef typename A::value_type value_type; - value_destructor(A &a, value_type &rv) + typedef typename Allocator::value_type value_type; + value_destructor(Allocator &a, value_type &rv) : rv_(rv), a_(a) {} @@ -287,7 +287,7 @@ class value_destructor private: value_type &rv_; - A &a_; + Allocator &a_; }; template @@ -299,21 +299,19 @@ class allocator_destroyer typedef container_detail::integral_constant::value> alloc_version; - typedef container_detail::integral_constant allocator_v1; - typedef container_detail::integral_constant allocator_v2; private: Allocator & a_; private: - void priv_deallocate(const pointer &p, allocator_v1) + void priv_deallocate(const pointer &p, version_1) { AllocTraits::deallocate(a_,p, 1); } - void priv_deallocate(const pointer &p, allocator_v2) + void priv_deallocate(const pointer &p, version_2) { a_.deallocate_one(p); } public: - allocator_destroyer(Allocator &a) + explicit allocator_destroyer(Allocator &a) : a_(a) {} @@ -324,41 +322,41 @@ class allocator_destroyer } }; -template +template class allocator_destroyer_and_chain_builder { - typedef allocator_traits allocator_traits_type; + typedef allocator_traits allocator_traits_type; typedef typename allocator_traits_type::value_type value_type; - typedef typename A::multiallocation_chain multiallocation_chain; + typedef typename Allocator::multiallocation_chain multiallocation_chain; - A & a_; + Allocator & a_; multiallocation_chain &c_; public: - allocator_destroyer_and_chain_builder(A &a, multiallocation_chain &c) + allocator_destroyer_and_chain_builder(Allocator &a, multiallocation_chain &c) : a_(a), c_(c) {} - void operator()(const typename A::pointer &p) + void operator()(const typename Allocator::pointer &p) { - allocator_traits::destroy(a_, container_detail::to_raw_pointer(p)); + allocator_traits::destroy(a_, container_detail::to_raw_pointer(p)); c_.push_back(p); } }; -template +template class allocator_multialloc_chain_node_deallocator { - typedef allocator_traits allocator_traits_type; + typedef allocator_traits allocator_traits_type; typedef typename allocator_traits_type::value_type value_type; - typedef typename A::multiallocation_chain multiallocation_chain; - typedef allocator_destroyer_and_chain_builder chain_builder; + typedef typename Allocator::multiallocation_chain multiallocation_chain; + typedef allocator_destroyer_and_chain_builder chain_builder; - A & a_; + Allocator & a_; multiallocation_chain c_; public: - allocator_multialloc_chain_node_deallocator(A &a) + allocator_multialloc_chain_node_deallocator(Allocator &a) : a_(a), c_() {} diff --git a/3party/boost/boost/container/detail/flat_tree.hpp b/3party/boost/boost/container/detail/flat_tree.hpp index 7ccf33ca9d..f27421125f 100644 --- a/3party/boost/boost/container/detail/flat_tree.hpp +++ b/3party/boost/boost/container/detail/flat_tree.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_FLAT_TREE_HPP #define BOOST_CONTAINER_FLAT_TREE_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -20,28 +24,29 @@ #include -#include -#include -#include +#include -#include -#include - -#include #include #include #include #include +#include //algo_equal(), algo_lexicographical_compare +#include #include #ifdef BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER #include #endif -#include +#include +#include +#include +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif + +#include //pair namespace boost { - namespace container { - namespace container_detail { template @@ -77,28 +82,29 @@ template struct get_flat_tree_iterators { #ifdef BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - typedef Pointer iterator; + typedef Pointer iterator; typedef typename boost::intrusive:: - pointer_traits::element_type iterator_element_type; + pointer_traits::element_type iterator_element_type; typedef typename boost::intrusive:: pointer_traits:: template - rebind_pointer::type const_iterator; + rebind_pointer::type const_iterator; #else //BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - typedef typename container_detail:: - vec_iterator iterator; - typedef typename container_detail:: - vec_iterator const_iterator; + typedef typename boost::container::container_detail:: + vec_iterator iterator; + typedef typename boost::container::container_detail:: + vec_iterator const_iterator; #endif //BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; + typedef boost::container::reverse_iterator reverse_iterator; + typedef boost::container::reverse_iterator const_reverse_iterator; }; template + class Compare, class Allocator> class flat_tree { - typedef boost::container::vector vector_t; - typedef A allocator_t; + typedef boost::container::vector vector_t; + typedef Allocator allocator_t; + typedef allocator_traits allocator_traits_type; public: typedef flat_tree_value_compare value_compare; @@ -123,11 +129,11 @@ class flat_tree : value_compare(boost::move(static_cast(d))), m_vect(boost::move(d.m_vect)) {} - Data(const Data &d, const A &a) + Data(const Data &d, const Allocator &a) : value_compare(static_cast(d)), m_vect(d.m_vect, a) {} - Data(BOOST_RV_REF(Data) d, const A &a) + Data(BOOST_RV_REF(Data) d, const Allocator &a) : value_compare(boost::move(static_cast(d))), m_vect(boost::move(d.m_vect), a) {} @@ -160,7 +166,7 @@ class flat_tree void swap(Data &d) { value_compare& mycomp = *this, & othercomp = d; - boost::container::swap_dispatch(mycomp, othercomp); + boost::adl_move_swap(mycomp, othercomp); this->m_vect.swap(d.m_vect); } @@ -262,8 +268,10 @@ class flat_tree flat_tree& operator=(BOOST_COPY_ASSIGN_REF(flat_tree) x) { m_data = x.m_data; return *this; } - flat_tree& operator=(BOOST_RV_REF(flat_tree) mx) - { m_data = boost::move(mx.m_data); return *this; } + flat_tree& operator=(BOOST_RV_REF(flat_tree) x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) + { m_data = boost::move(x.m_data); return *this; } public: // accessors: @@ -328,6 +336,8 @@ class flat_tree { return this->m_data.m_vect.max_size(); } void swap(flat_tree& other) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ) { this->m_data.swap(other.m_data); } public: @@ -425,7 +435,7 @@ class flat_tree #endif ) { - const size_type len = static_cast(std::distance(first, last)); + const size_type len = static_cast(boost::container::iterator_distance(first, last)); this->reserve(this->size()+len); this->priv_insert_equal_loop(first, last); } @@ -447,12 +457,12 @@ class flat_tree #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) , typename container_detail::enable_if_c < !container_detail::is_input_iterator::value && - container_detail::is_forward_iterator::value + container_detail::is_forward_iterator::value >::type * = 0 #endif ) { - const size_type len = static_cast(std::distance(first, last)); + const size_type len = static_cast(boost::container::iterator_distance(first, last)); this->reserve(this->size()+len); this->priv_insert_equal_loop_ordered(first, last); } @@ -460,60 +470,22 @@ class flat_tree template void insert_equal(ordered_range_t, BidirIt first, BidirIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_input_iterator::value && - !container_detail::is_forward_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_input_iterator + , container_detail::is_forward_iterator >::type * = 0 #endif ) - { - size_type len = static_cast(std::distance(first, last)); - const size_type BurstSize = 16; - size_type positions[BurstSize]; - - //Prereserve all memory so that iterators are not invalidated - this->reserve(this->size()+len); - const const_iterator b(this->cbegin()); - const_iterator pos(b); - //Loop in burst sizes - bool back_insert = false; - while(len && !back_insert){ - size_type burst = len < BurstSize ? len : BurstSize; - const const_iterator ce(this->cend()); - for(size_type i = 0; i != burst; ++i){ - //Get the insertion position for each key, use std::iterator_traits::value_type - //because it can be different from container::value_type - //(e.g. conversion between std::pair -> boost::container::pair - const typename std::iterator_traits::value_type & val = *first; - pos = const_cast(*this).priv_upper_bound(pos, ce, KeyOfValue()(val)); - if(pos == this->cend()){ //this element and the remaining should be back inserted - burst = i; - back_insert = true; - break; - } - else{ - positions[i] = static_cast(pos - b); - ++first; - --len; - } - } - //Insert all in a single step in the precalculated positions - this->m_data.m_vect.insert_ordered_at(burst, positions + burst, first); - //Next search position updated, iterator still valid because we've preserved the vector - pos += burst; - } - if(first != last){ - //The remaining range should be back inserted - this->m_data.m_vect.insert(this->m_data.m_vect.cend(), len, first, last); - } - } + { this->m_data.m_vect.merge(first, last); } template void insert_unique(ordered_unique_range_t, InIt first, InIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < container_detail::is_input_iterator::value || - container_detail::is_forward_iterator::value + , typename container_detail::enable_if_or + < void + , container_detail::is_input_iterator + , container_detail::is_forward_iterator >::type * = 0 #endif ) @@ -534,68 +506,14 @@ class flat_tree >::type * = 0 #endif ) - { - size_type len = static_cast(std::distance(first, last)); - const size_type BurstSize = 16; - size_type positions[BurstSize]; - size_type skips[BurstSize]; + { this->m_data.m_vect.merge_unique(first, last, value_compare()); } - //Prereserve all memory so that iterators are not invalidated - this->reserve(this->size()+len); - const const_iterator b(this->cbegin()); - const_iterator pos(b); - const value_compare &val_cmp = this->m_data; - skips[0u] = 0u; - //Loop in burst sizes - bool back_insert = false; - while(len && !back_insert){ - const size_type burst = len < BurstSize ? len : BurstSize; - size_type unique_burst = 0u; - const const_iterator ce(this->cend()); - while(unique_burst < burst && len > 0){ - //Get the insertion position for each key, use std::iterator_traits::value_type - //because it can be different from container::value_type - //(e.g. conversion between std::pair -> boost::container::pair - const typename std::iterator_traits::value_type & val = *first; - pos = const_cast(*this).priv_lower_bound(pos, ce, KeyOfValue()(val)); - //Check if already present - if (pos != ce){ - ++first; - --len; - if(!val_cmp(val, *pos)){ - if(unique_burst > 0){ - ++skips[unique_burst-1]; - } - continue; - } - //If not present, calculate position - positions[unique_burst] = static_cast(pos - b); - skips[unique_burst++] = 0u; - } - else{ //this element and the remaining should be back inserted - back_insert = true; - break; - } - } - if(unique_burst){ - //Insert all in a single step in the precalculated positions - this->m_data.m_vect.insert_ordered_at(unique_burst, positions + unique_burst, skips + unique_burst, first); - //Next search position updated, iterator still valid because we've preserved the vector - pos += unique_burst; - } - } - if(first != last){ - //The remaining range should be back inserted - this->m_data.m_vect.insert(this->m_data.m_vect.cend(), len, first, last); - } - } - - #ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template - std::pair emplace_unique(Args&&... args) + std::pair emplace_unique(BOOST_FWD_REF(Args)... args) { - aligned_storage::value> v; + typename aligned_storage::value>::type v; value_type &val = *static_cast(static_cast(&v)); stored_allocator_type &a = this->get_stored_allocator(); stored_allocator_traits::construct(a, &val, ::boost::forward(args)... ); @@ -604,9 +522,9 @@ class flat_tree } template - iterator emplace_hint_unique(const_iterator hint, Args&&... args) + iterator emplace_hint_unique(const_iterator hint, BOOST_FWD_REF(Args)... args) { - aligned_storage::value> v; + typename aligned_storage::value>::type v; value_type &val = *static_cast(static_cast(&v)); stored_allocator_type &a = this->get_stored_allocator(); stored_allocator_traits::construct(a, &val, ::boost::forward(args)... ); @@ -615,9 +533,9 @@ class flat_tree } template - iterator emplace_equal(Args&&... args) + iterator emplace_equal(BOOST_FWD_REF(Args)... args) { - aligned_storage::value> v; + typename aligned_storage::value>::type v; value_type &val = *static_cast(static_cast(&v)); stored_allocator_type &a = this->get_stored_allocator(); stored_allocator_traits::construct(a, &val, ::boost::forward(args)... ); @@ -626,9 +544,9 @@ class flat_tree } template - iterator emplace_hint_equal(const_iterator hint, Args&&... args) + iterator emplace_hint_equal(const_iterator hint, BOOST_FWD_REF(Args)... args) { - aligned_storage::value> v; + typename aligned_storage::value>::type v; value_type &val = *static_cast(static_cast(&v)); stored_allocator_type &a = this->get_stored_allocator(); stored_allocator_traits::construct(a, &val, ::boost::forward(args)... ); @@ -636,64 +554,57 @@ class flat_tree return this->insert_equal(hint, ::boost::move(val)); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair \ - emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - aligned_storage::value> v; \ - value_type &val = *static_cast(static_cast(&v)); \ - stored_allocator_type &a = this->get_stored_allocator(); \ - stored_allocator_traits::construct(a, &val \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - value_destructor d(a, val); \ - return this->insert_unique(::boost::move(val)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint_unique(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - aligned_storage::value> v; \ - value_type &val = *static_cast(static_cast(&v)); \ - stored_allocator_type &a = this->get_stored_allocator(); \ - stored_allocator_traits::construct(a, &val \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - value_destructor d(a, val); \ - return this->insert_unique(hint, ::boost::move(val)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - aligned_storage::value> v; \ - value_type &val = *static_cast(static_cast(&v)); \ - stored_allocator_type &a = this->get_stored_allocator(); \ - stored_allocator_traits::construct(a, &val \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - value_destructor d(a, val); \ - return this->insert_equal(::boost::move(val)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint_equal(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - aligned_storage::value> v; \ - value_type &val = *static_cast(static_cast(&v)); \ - stored_allocator_type &a = this->get_stored_allocator(); \ - stored_allocator_traits::construct(a, &val \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - value_destructor d(a, val); \ - return this->insert_equal(hint, ::boost::move(val)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_FLAT_TREE_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + std::pair emplace_unique(BOOST_MOVE_UREF##N)\ + {\ + typename aligned_storage::value>::type v;\ + value_type &val = *static_cast(static_cast(&v));\ + stored_allocator_type &a = this->get_stored_allocator();\ + stored_allocator_traits::construct(a, &val BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + value_destructor d(a, val);\ + return this->insert_unique(::boost::move(val));\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint_unique(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + typename aligned_storage::value>::type v;\ + value_type &val = *static_cast(static_cast(&v));\ + stored_allocator_type &a = this->get_stored_allocator();\ + stored_allocator_traits::construct(a, &val BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + value_destructor d(a, val);\ + return this->insert_unique(hint, ::boost::move(val));\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_equal(BOOST_MOVE_UREF##N)\ + {\ + typename aligned_storage::value>::type v;\ + value_type &val = *static_cast(static_cast(&v));\ + stored_allocator_type &a = this->get_stored_allocator();\ + stored_allocator_traits::construct(a, &val BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + value_destructor d(a, val);\ + return this->insert_equal(::boost::move(val));\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint_equal(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + typename aligned_storage ::value>::type v;\ + value_type &val = *static_cast(static_cast(&v));\ + stored_allocator_type &a = this->get_stored_allocator();\ + stored_allocator_traits::construct(a, &val BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + value_destructor d(a, val);\ + return this->insert_equal(hint, ::boost::move(val));\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_TREE_EMPLACE_CODE) + #undef BOOST_CONTAINER_FLAT_TREE_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) iterator erase(const_iterator position) { return this->m_data.m_vect.erase(position); } @@ -723,6 +634,18 @@ class flat_tree void shrink_to_fit() { this->m_data.m_vect.shrink_to_fit(); } + iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW + { return this->m_data.m_vect.nth(n); } + + const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW + { return this->m_data.m_vect.nth(n); } + + size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW + { return this->m_data.m_vect.index_of(p); } + + size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW + { return this->m_data.m_vect.index_of(p); } + // set operations: iterator find(const key_type& k) { @@ -785,13 +708,12 @@ class flat_tree friend bool operator==(const flat_tree& x, const flat_tree& y) { - return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); + return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); } friend bool operator<(const flat_tree& x, const flat_tree& y) { - return std::lexicographical_compare(x.begin(), x.end(), - y.begin(), y.end()); + return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } friend bool operator!=(const flat_tree& x, const flat_tree& y) @@ -935,8 +857,8 @@ class flat_tree } template - RanIt priv_upper_bound(RanIt first, const RanIt last, - const key_type & key) const + RanIt priv_upper_bound + (RanIt first, const RanIt last,const key_type & key) const { const Compare &key_cmp = this->m_data.get_comp(); KeyOfValue key_extract; @@ -984,9 +906,9 @@ class flat_tree //Middle is equal to key last = first; last += len; + RanIt const first_ret = this->priv_lower_bound(first, middle, key); return std::pair - ( this->priv_lower_bound(first, middle, key) - , this->priv_upper_bound(++middle, last, key)); + ( first_ret, this->priv_upper_bound(++middle, last, key)); } } return std::pair(first, first); @@ -1019,6 +941,7 @@ class flat_tree for ( ; first != last; ++first){ //If ordered, then try hint version //to achieve constant-time complexity per insertion + //in some cases pos = this->insert_equal(pos, *first); ++pos; } @@ -1028,16 +951,18 @@ class flat_tree } //namespace container_detail { } //namespace container { -/* + //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template -struct has_trivial_destructor_after_move > +template +struct has_trivial_destructor_after_move > { - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; -*/ + } //namespace boost { #include diff --git a/3party/boost/boost/container/detail/function_detector.hpp b/3party/boost/boost/container/detail/function_detector.hpp index 1fe6731a6c..00caced5ba 100644 --- a/3party/boost/boost/container/detail/function_detector.hpp +++ b/3party/boost/boost/container/detail/function_detector.hpp @@ -22,6 +22,14 @@ #ifndef BOOST_CONTAINER_DETAIL_FUNCTION_DETECTOR_HPP #define BOOST_CONTAINER_DETAIL_FUNCTION_DETECTOR_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include namespace boost { diff --git a/3party/boost/boost/container/detail/hash_table.hpp b/3party/boost/boost/container/detail/hash_table.hpp index da7bb536e4..4bc5c901de 100644 --- a/3party/boost/boost/container/detail/hash_table.hpp +++ b/3party/boost/boost/container/detail/hash_table.hpp @@ -1,6 +1,6 @@ /* template , class Pred = equal_to, - class Alloc = allocator > + class Allocator = allocator > class hash_set { public: @@ -9,7 +9,7 @@ public: typedef key_type value_type; typedef Hash hasher; typedef Pred key_equal; - typedef Alloc allocator_type; + typedef Allocator allocator_type; typedef value_type& reference; typedef const value_type& const_reference; typedef typename allocator_traits::pointer pointer; @@ -71,9 +71,9 @@ public: const_iterator cend() const noexcept; template - pair emplace(Args&&... args); + pair emplace(BOOST_FWD_REF(Args)... args); template - iterator emplace_hint(const_iterator position, Args&&... args); + iterator emplace_hint(const_iterator position, BOOST_FWD_REF(Args)... args); pair insert(const value_type& obj); pair insert(value_type&& obj); iterator insert(const_iterator hint, const value_type& obj); @@ -124,7 +124,7 @@ public: }; template , class Pred = equal_to, - class Alloc = allocator > > + class Allocator = allocator > > class hash_map { public: @@ -133,7 +133,7 @@ public: typedef T mapped_type; typedef Hash hasher; typedef Pred key_equal; - typedef Alloc allocator_type; + typedef Allocator allocator_type; typedef pair value_type; typedef value_type& reference; typedef const value_type& const_reference; @@ -196,9 +196,9 @@ public: const_iterator cend() const noexcept; template - pair emplace(Args&&... args); + pair emplace(BOOST_FWD_REF(Args)... args); template - iterator emplace_hint(const_iterator position, Args&&... args); + iterator emplace_hint(const_iterator position, BOOST_FWD_REF(Args)... args); pair insert(const value_type& obj); template pair insert(P&& obj); @@ -259,7 +259,7 @@ public: */ template , class Pred = equal_to, - class Alloc = allocator > + class Allocator = allocator > class hash_table { public: @@ -268,7 +268,7 @@ public: typedef key_type value_type; typedef Hash hasher; typedef Pred key_equal; - typedef Alloc allocator_type; + typedef Allocator allocator_type; typedef value_type& reference; typedef const value_type& const_reference; typedef typename allocator_traits::pointer pointer; @@ -330,9 +330,9 @@ public: const_iterator cend() const noexcept; template - pair emplace(Args&&... args); + pair emplace(BOOST_FWD_REF(Args)... args); template - iterator emplace_hint(const_iterator position, Args&&... args); + iterator emplace_hint(const_iterator position, BOOST_FWD_REF(Args)... args); pair insert(const value_type& obj); pair insert(value_type&& obj); iterator insert(const_iterator hint, const value_type& obj); diff --git a/3party/boost/boost/container/detail/iterator.hpp b/3party/boost/boost/container/detail/iterator.hpp new file mode 100644 index 0000000000..8538acc161 --- /dev/null +++ b/3party/boost/boost/container/detail/iterator.hpp @@ -0,0 +1,40 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2014. +// +// 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// + +#ifndef BOOST_CONTAINER_DETAIL_ITERATOR_HPP +#define BOOST_CONTAINER_DETAIL_ITERATOR_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +#include + +namespace boost { +namespace container { + +using ::boost::intrusive::iterator_traits; +using ::boost::intrusive::iterator_distance; +using ::boost::intrusive::iterator_advance; +using ::boost::intrusive::iterator; +using ::boost::intrusive::iterator_enable_if_tag; +using ::boost::intrusive::iterator_disable_if_tag; +using ::boost::intrusive::iterator_arrow_result; + +} //namespace container { +} //namespace boost { + +#endif //#ifndef BOOST_CONTAINER_DETAIL_ITERATORS_HPP diff --git a/3party/boost/boost/container/detail/iterator_to_raw_pointer.hpp b/3party/boost/boost/container/detail/iterator_to_raw_pointer.hpp new file mode 100644 index 0000000000..83736d8bb1 --- /dev/null +++ b/3party/boost/boost/container/detail/iterator_to_raw_pointer.hpp @@ -0,0 +1,58 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2015. 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// +#ifndef BOOST_CONTAINER_DETAIL_ITERATOR_TO_RAW_POINTER_HPP +#define BOOST_CONTAINER_DETAIL_ITERATOR_TO_RAW_POINTER_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +#include +#include +#include + +namespace boost { +namespace container { +namespace container_detail { + +template +inline T* iterator_to_pointer(T* i) +{ return i; } + +template +inline typename boost::container::iterator_traits::pointer + iterator_to_pointer(const Iterator &i) +{ return i.operator->(); } + +template +struct iterator_to_element_ptr +{ + typedef typename boost::container::iterator_traits::pointer pointer; + typedef typename boost::intrusive::pointer_traits::element_type element_type; + typedef element_type* type; +}; + +template +inline typename iterator_to_element_ptr::type + iterator_to_raw_pointer(const Iterator &i) +{ + return ::boost::intrusive::detail::to_raw_pointer + ( ::boost::container::container_detail::iterator_to_pointer(i) ); +} + +} //namespace container_detail { +} //namespace container { +} //namespace boost { + +#endif //#ifndef BOOST_CONTAINER_DETAIL_ITERATOR_TO_RAW_POINTER_HPP diff --git a/3party/boost/boost/container/detail/iterators.hpp b/3party/boost/boost/container/detail/iterators.hpp index ffc7236422..e8cfcf97a4 100644 --- a/3party/boost/boost/container/detail/iterators.hpp +++ b/3party/boost/boost/container/detail/iterators.hpp @@ -14,31 +14,35 @@ #ifndef BOOST_CONTAINER_DETAIL_ITERATORS_HPP #define BOOST_CONTAINER_DETAIL_ITERATORS_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include -#include #include #include #include +#include +#include -#ifdef BOOST_CONTAINER_PERFECT_FORWARDING -#include +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include #else -#include +#include #endif - -#include +#include namespace boost { namespace container { template class constant_iterator - : public std::iterator + : public ::boost::container::iterator { typedef constant_iterator this_type; @@ -147,9 +151,9 @@ class constant_iterator { return m_num - other.m_num; } }; -template +template class value_init_construct_iterator - : public std::iterator + : public ::boost::container::iterator { typedef value_init_construct_iterator this_type; @@ -258,9 +262,9 @@ class value_init_construct_iterator { return m_num - other.m_num; } }; -template +template class default_init_construct_iterator - : public std::iterator + : public ::boost::container::iterator { typedef default_init_construct_iterator this_type; @@ -372,7 +376,7 @@ class default_init_construct_iterator template class repeat_iterator - : public std::iterator + : public ::boost::container::iterator { typedef repeat_iterator this_type; @@ -482,7 +486,7 @@ class repeat_iterator template class emplace_iterator - : public std::iterator + : public ::boost::container::iterator { typedef emplace_iterator this_type; @@ -563,8 +567,8 @@ class emplace_iterator //const T& operator[](difference_type) const; //const T* operator->() const; - template - void construct_in_place(A &a, T* ptr) + template + void construct_in_place(Allocator &a, T* ptr) { (*m_pe)(a, ptr); } private: @@ -596,54 +600,49 @@ class emplace_iterator { return difference_type(m_num - other.m_num); } }; -#ifdef BOOST_CONTAINER_PERFECT_FORWARDING +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template struct emplace_functor { typedef typename container_detail::build_number_seq::type index_tuple_t; - emplace_functor(Args&&... args) + emplace_functor(BOOST_FWD_REF(Args)... args) : args_(args...) {} - template - void operator()(A &a, T *ptr) + template + void operator()(Allocator &a, T *ptr) { emplace_functor::inplace_impl(a, ptr, index_tuple_t()); } - template - void inplace_impl(A &a, T* ptr, const container_detail::index_tuple&) + template + void inplace_impl(Allocator &a, T* ptr, const container_detail::index_tuple&) { - allocator_traits::construct + allocator_traits::construct (a, ptr, ::boost::forward(container_detail::get(args_))...); } container_detail::tuple args_; }; -#else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING +#else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template <) \ - BOOST_PP_ENUM_PARAMS(n, class P) \ - BOOST_PP_EXPR_IF(n, >) \ - struct BOOST_PP_CAT(BOOST_PP_CAT(emplace_functor, n), arg) \ - { \ - BOOST_PP_CAT(BOOST_PP_CAT(emplace_functor, n), arg) \ - ( BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _) ) \ - BOOST_PP_EXPR_IF(n, :) BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_INIT, _){} \ - \ - template \ - void operator()(A &a, T *ptr) \ - { \ - allocator_traits::construct \ - (a, ptr BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_MEMBER_FORWARD, _) ); \ - } \ - BOOST_PP_REPEAT(n, BOOST_CONTAINER_PP_PARAM_DEFINE, _) \ - }; \ - //! -#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) -#include BOOST_PP_LOCAL_ITERATE() +#define BOOST_MOVE_ITERATOR_EMPLACE_FUNCTOR_CODE(N) \ +BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ +struct emplace_functor##N\ +{\ + explicit emplace_functor##N( BOOST_MOVE_UREF##N )\ + BOOST_MOVE_COLON##N BOOST_MOVE_FWD_INIT##N{}\ + \ + template\ + void operator()(Allocator &a, T *ptr)\ + { allocator_traits::construct(a, ptr BOOST_MOVE_I##N BOOST_MOVE_MFWD##N); }\ + \ + BOOST_MOVE_MREF##N\ +};\ +// +BOOST_MOVE_ITERATE_0TO9(BOOST_MOVE_ITERATOR_EMPLACE_FUNCTOR_CODE) +#undef BOOST_MOVE_ITERATOR_EMPLACE_FUNCTOR_CODE #endif @@ -652,11 +651,13 @@ namespace container_detail { template struct has_iterator_category { + struct two { char _[2]; }; + template static char test(int, typename X::iterator_category*); template - static int test(int, ...); + static two test(int, ...); static const bool value = (1 == sizeof(test(0, 0))); }; @@ -674,6 +675,12 @@ struct is_input_iterator static const bool value = false; }; +template +struct is_not_input_iterator +{ + static const bool value = !is_input_iterator::value; +}; + template::value > struct is_forward_iterator { @@ -698,13 +705,18 @@ struct is_bidirectional_iterator static const bool value = false; }; +template +struct iiterator_node_value_type { + typedef typename IINodeType::value_type type; +}; + template struct iiterator_types { typedef typename IIterator::value_type it_value_type; - typedef typename it_value_type::value_type value_type; - typedef typename std::iterator_traits::pointer it_pointer; - typedef typename std::iterator_traits::difference_type difference_type; + typedef typename iiterator_node_value_type::type value_type; + typedef typename boost::container::iterator_traits::pointer it_pointer; + typedef typename boost::container::iterator_traits::difference_type difference_type; typedef typename ::boost::intrusive::pointer_traits:: template rebind_pointer::type pointer; typedef typename ::boost::intrusive::pointer_traits:: @@ -717,9 +729,9 @@ struct iiterator_types }; template -struct std_iterator +struct iterator_types { - typedef typename std::iterator + typedef typename ::boost::container::iterator < typename iiterator_types::iterator_category , typename iiterator_types::value_type , typename iiterator_types::difference_type @@ -728,9 +740,9 @@ struct std_iterator }; template -struct std_iterator +struct iterator_types { - typedef typename std::iterator + typedef typename ::boost::container::iterator < typename iiterator_types::iterator_category , typename iiterator_types::value_type , typename iiterator_types::difference_type @@ -739,64 +751,65 @@ struct std_iterator }; template -class iterator - : public std_iterator::type +class iterator_from_iiterator { - typedef typename std_iterator::type types_t; + typedef typename iterator_types::type types_t; public: - typedef typename types_t::value_type value_type; - typedef typename types_t::pointer pointer; - typedef typename types_t::reference reference; + typedef typename types_t::pointer pointer; + typedef typename types_t::reference reference; + typedef typename types_t::difference_type difference_type; + typedef typename types_t::iterator_category iterator_category; + typedef typename types_t::value_type value_type; - iterator() + iterator_from_iiterator() {} - explicit iterator(IIterator iit) BOOST_CONTAINER_NOEXCEPT + explicit iterator_from_iiterator(IIterator iit) BOOST_NOEXCEPT_OR_NOTHROW : m_iit(iit) {} - iterator(iterator const& other) BOOST_CONTAINER_NOEXCEPT + iterator_from_iiterator(iterator_from_iiterator const& other) BOOST_NOEXCEPT_OR_NOTHROW : m_iit(other.get()) {} - iterator& operator++() BOOST_CONTAINER_NOEXCEPT + iterator_from_iiterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW { ++this->m_iit; return *this; } - iterator operator++(int) BOOST_CONTAINER_NOEXCEPT + iterator_from_iiterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW { - iterator result (*this); + iterator_from_iiterator result (*this); ++this->m_iit; return result; } - iterator& operator--() BOOST_CONTAINER_NOEXCEPT + iterator_from_iiterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW { - //If the iterator is not a bidirectional iterator, operator-- should not exist - BOOST_STATIC_ASSERT((is_bidirectional_iterator::value)); + //If the iterator_from_iiterator is not a bidirectional iterator, operator-- should not exist + BOOST_STATIC_ASSERT((is_bidirectional_iterator::value)); --this->m_iit; return *this; } - iterator operator--(int) BOOST_CONTAINER_NOEXCEPT + iterator_from_iiterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW { - iterator result (*this); + iterator_from_iiterator result (*this); --this->m_iit; return result; } - friend bool operator== (const iterator& l, const iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator== (const iterator_from_iiterator& l, const iterator_from_iiterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_iit == r.m_iit; } - friend bool operator!= (const iterator& l, const iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator!= (const iterator_from_iiterator& l, const iterator_from_iiterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return !(l == r); } - reference operator*() const BOOST_CONTAINER_NOEXCEPT - { return (*this->m_iit).get_data(); } + reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW + { return this->m_iit->get_data(); } - pointer operator->() const BOOST_CONTAINER_NOEXCEPT + pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW { return ::boost::intrusive::pointer_traits::pointer_to(this->operator*()); } - const IIterator &get() const BOOST_CONTAINER_NOEXCEPT + const IIterator &get() const BOOST_NOEXCEPT_OR_NOTHROW { return this->m_iit; } private: @@ -804,6 +817,9 @@ class iterator }; } //namespace container_detail { + +using ::boost::intrusive::reverse_iterator; + } //namespace container { } //namespace boost { diff --git a/3party/boost/boost/container/detail/math_functions.hpp b/3party/boost/boost/container/detail/math_functions.hpp index b27cfb4aef..e499f633ec 100644 --- a/3party/boost/boost/container/detail/math_functions.hpp +++ b/3party/boost/boost/container/detail/math_functions.hpp @@ -16,6 +16,14 @@ #ifndef BOOST_CONTAINER_DETAIL_MATH_FUNCTIONS_HPP #define BOOST_CONTAINER_DETAIL_MATH_FUNCTIONS_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include #include diff --git a/3party/boost/boost/container/detail/memory_util.hpp b/3party/boost/boost/container/detail/memory_util.hpp deleted file mode 100644 index 572d30acba..0000000000 --- a/3party/boost/boost/container/detail/memory_util.hpp +++ /dev/null @@ -1,86 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2011-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_ALLOCATOR_MEMORY_UTIL_HPP -#define BOOST_CONTAINER_ALLOCATOR_MEMORY_UTIL_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include - -#include -#include -#include - - -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME allocate -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace boost { namespace container { namespace container_detail { -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} -#define BOOST_PP_ITERATION_PARAMS_1 (3, (2, 2, )) -#include BOOST_PP_ITERATE() - -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME destroy -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace boost { namespace container { namespace container_detail { -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} -#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 1, )) -#include BOOST_PP_ITERATE() - -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME max_size -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace boost { namespace container { namespace container_detail { -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} -#define BOOST_PP_ITERATION_PARAMS_1 (3, (0, 0, )) -#include BOOST_PP_ITERATE() - -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME select_on_container_copy_construction -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace boost { namespace container { namespace container_detail { -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} -#define BOOST_PP_ITERATION_PARAMS_1 (3, (0, 0, )) -#include BOOST_PP_ITERATE() - -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME construct -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace boost { namespace container { namespace container_detail { -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} -#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS+1, )) -#include BOOST_PP_ITERATE() - -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME swap -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace boost { namespace container { namespace container_detail { -#define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} -#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 1, )) -#include BOOST_PP_ITERATE() - -namespace boost { -namespace container { -namespace container_detail { - -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(pointer) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(const_pointer) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(reference) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(const_reference) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(void_pointer) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(const_void_pointer) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(size_type) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(propagate_on_container_copy_assignment) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(propagate_on_container_move_assignment) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(propagate_on_container_swap) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(difference_type) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(value_compare) -BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(wrapped_value_compare) - -} //namespace container_detail { -} //namespace container { -} //namespace boost { - -#include - -#endif // ! defined(BOOST_CONTAINER_ALLOCATOR_MEMORY_UTIL_HPP) diff --git a/3party/boost/boost/container/detail/min_max.hpp b/3party/boost/boost/container/detail/min_max.hpp new file mode 100644 index 0000000000..7486db7d05 --- /dev/null +++ b/3party/boost/boost/container/detail/min_max.hpp @@ -0,0 +1,37 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost +// Software License, Version 1.0. (See accompanying file +// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +// +// See http://www.boost.org/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// +#ifndef BOOST_CONTAINER_DETAIL_MIN_MAX_HPP +#define BOOST_CONTAINER_DETAIL_MIN_MAX_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +namespace boost { +namespace container { +namespace container_detail { + +template +const T &max_value(const T &a, const T &b) +{ return a > b ? a : b; } + +template +const T &min_value(const T &a, const T &b) +{ return a < b ? a : b; } + +} //namespace container_detail { +} //namespace container { +} //namespace boost { + +#endif //#ifndef BOOST_CONTAINER_DETAIL_MIN_MAX_HPP diff --git a/3party/boost/boost/container/detail/minimal_char_traits_header.hpp b/3party/boost/boost/container/detail/minimal_char_traits_header.hpp new file mode 100644 index 0000000000..a92a31a2b4 --- /dev/null +++ b/3party/boost/boost/container/detail/minimal_char_traits_header.hpp @@ -0,0 +1,32 @@ +///////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2015 +// +// 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/libs/container for documentation. +// +///////////////////////////////////////////////////////////////////////////// +#ifndef BOOST_CONTAINER_DETAIL_MINIMAL_CHAR_TRAITS_HEADER_HPP +#define BOOST_CONTAINER_DETAIL_MINIMAL_CHAR_TRAITS_HEADER_HPP +# +#ifndef BOOST_CONFIG_HPP +# include +#endif +# +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif +# +#//Try to avoid including , as it's quite big +#if defined(_MSC_VER) && defined(BOOST_DINKUMWARE_STDLIB) + #include //Dinkum libraries for MSVC define std::char_traits there +#elif defined(BOOST_GNU_STDLIB) + #include +#else + #include //Fallback +#endif + +#endif //BOOST_CONTAINER_DETAIL_MINIMAL_CHAR_TRAITS_HEADER_HPP diff --git a/3party/boost/boost/container/detail/mpl.hpp b/3party/boost/boost/container/detail/mpl.hpp index fc1a8a6da2..e1684ea0b1 100644 --- a/3party/boost/boost/container/detail/mpl.hpp +++ b/3party/boost/boost/container/detail/mpl.hpp @@ -13,12 +13,18 @@ #ifndef BOOST_CONTAINER_CONTAINER_DETAIL_MPL_HPP #define BOOST_CONTAINER_CONTAINER_DETAIL_MPL_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include +#include +#include #include @@ -26,110 +32,42 @@ namespace boost { namespace container { namespace container_detail { -template -struct integral_constant -{ - static const T value = val; - typedef integral_constant type; -}; - -template< bool C_ > -struct bool_ : integral_constant -{ - static const bool value = C_; - operator bool() const { return bool_::value; } -}; - -typedef bool_ true_; -typedef bool_ false_; - -typedef true_ true_type; -typedef false_ false_type; - -typedef char yes_type; -struct no_type -{ - char padding[8]; -}; - -template -struct enable_if_c { - typedef T type; -}; - -template -struct enable_if_c {}; - -template -struct enable_if : public enable_if_c {}; - -template -struct disable_if : public enable_if_c {}; - -template -struct disable_if_c : public enable_if_c {}; - -#if defined(_MSC_VER) && (_MSC_VER >= 1400) - -template -struct is_convertible -{ - static const bool value = __is_convertible_to(T, U); -}; - -#else - -template -class is_convertible -{ - typedef char true_t; - class false_t { char dummy[2]; }; - //use any_conversion as first parameter since in MSVC - //overaligned types can't go through ellipsis - static false_t dispatch(...); - static true_t dispatch(U); - static T &trigger(); - public: - static const bool value = sizeof(dispatch(trigger())) == sizeof(true_t); -}; - -#endif - -template< - bool C - , typename T1 - , typename T2 - > -struct if_c -{ - typedef T1 type; -}; - -template< - typename T1 - , typename T2 - > -struct if_c -{ - typedef T2 type; -}; - -template< - typename T1 - , typename T2 - , typename T3 - > -struct if_ -{ - typedef typename if_c<0 != T1::value, T2, T3>::type type; -}; +using boost::move_detail::integral_constant; +using boost::move_detail::true_type; +using boost::move_detail::false_type; +using boost::move_detail::enable_if_c; +using boost::move_detail::enable_if; +using boost::move_detail::enable_if_convertible; +using boost::move_detail::disable_if_c; +using boost::move_detail::disable_if; +using boost::move_detail::disable_if_convertible; +using boost::move_detail::is_convertible; +using boost::move_detail::if_c; +using boost::move_detail::if_; +using boost::move_detail::identity; +using boost::move_detail::bool_; +using boost::move_detail::true_; +using boost::move_detail::false_; +using boost::move_detail::yes_type; +using boost::move_detail::no_type; +using boost::move_detail::bool_; +using boost::move_detail::true_; +using boost::move_detail::false_; +using boost::move_detail::unvoid_ref; +using boost::move_detail::and_; +using boost::move_detail::or_; +using boost::move_detail::not_; +using boost::move_detail::enable_if_and; +using boost::move_detail::disable_if_and; +using boost::move_detail::enable_if_or; +using boost::move_detail::disable_if_or; template struct select1st { - typedef Pair argument_type; - typedef typename Pair::first_type result_type; + typedef Pair argument_type; + typedef typename Pair::first_type result_type; template const typename Pair::first_type& operator()(const OtherPair& x) const @@ -139,40 +77,6 @@ struct select1st { return x; } }; -// identity is an extension: it is not part of the standard. -template -struct identity -{ - typedef T argument_type; - typedef T result_type; - - typedef T type; - const T& operator()(const T& x) const - { return x; } -}; - -template -struct ls_zeros -{ - static const std::size_t value = (S & std::size_t(1)) ? 0 : (1u + ls_zeros<(S >> 1u)>::value); -}; - -template<> -struct ls_zeros<0> -{ - static const std::size_t value = 0; -}; - -template<> -struct ls_zeros<1> -{ - static const std::size_t value = 0; -}; - -template struct unvoid { typedef T type; }; -template <> struct unvoid { struct type { }; }; -template <> struct unvoid { struct type { }; }; - } //namespace container_detail { } //namespace container { } //namespace boost { diff --git a/3party/boost/boost/container/detail/multiallocation_chain.hpp b/3party/boost/boost/container/detail/multiallocation_chain.hpp index 38c331cbcd..32f87c8ae9 100644 --- a/3party/boost/boost/container/detail/multiallocation_chain.hpp +++ b/3party/boost/boost/container/detail/multiallocation_chain.hpp @@ -11,17 +11,27 @@ #ifndef BOOST_CONTAINER_DETAIL_MULTIALLOCATION_CHAIN_HPP #define BOOST_CONTAINER_DETAIL_MULTIALLOCATION_CHAIN_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include #include - +// container #include -#include -#include +// container/detail +#include #include +#include +// intrusive #include #include -#include -#include +// move +#include namespace boost { namespace container { @@ -43,7 +53,7 @@ class basic_multiallocation_chain typedef bi::slist< node , bi::linear , bi::cache_last - , bi::size_type::type> + , bi::size_type::type> > slist_impl_t; slist_impl_t slist_impl_; diff --git a/3party/boost/boost/container/detail/mutex.hpp b/3party/boost/boost/container/detail/mutex.hpp index 89b041c1cb..f8efa7fe6b 100644 --- a/3party/boost/boost/container/detail/mutex.hpp +++ b/3party/boost/boost/container/detail/mutex.hpp @@ -19,6 +19,14 @@ #ifndef BOOST_CONTAINER_MUTEX_HPP #define BOOST_CONTAINER_MUTEX_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + //#define BOOST_CONTAINER_NO_MT //#define BOOST_CONTAINER_NO_SPINLOCKS @@ -134,8 +142,10 @@ #define SLEEP_EX_DURATION 50 /* delay for yield/sleep */ #define SPIN_LOCK_YIELD SleepEx(SLEEP_EX_DURATION, FALSE) #elif defined (__SVR4) && defined (__sun) /* solaris */ + #include #define SPIN_LOCK_YIELD thr_yield(); #elif !defined(LACKS_SCHED_H) + #include #define SPIN_LOCK_YIELD sched_yield(); #else #define SPIN_LOCK_YIELD @@ -156,7 +166,7 @@ #define BOOST_CONTAINER_TRY_LOCK(sl) !BOOST_CONTAINER_CAS_LOCK(sl) #define BOOST_CONTAINER_RELEASE_LOCK(sl) BOOST_CONTAINER_CLEAR_LOCK(sl) #define BOOST_CONTAINER_ACQUIRE_LOCK(sl) (BOOST_CONTAINER_CAS_LOCK(sl)? boost_interprocess_spin_acquire_lock(sl) : 0) - #define BOOST_CONTAINER_INITIAL_LOCK(sl) (*sl = 0) + #define BOOST_MOVE_INITIAL_LOCK(sl) (*sl = 0) #define BOOST_CONTAINER_DESTROY_LOCK(sl) (0) #elif BOOST_MUTEX_HELPER == BOOST_MUTEX_HELPER_WIN32 // @@ -193,7 +203,7 @@ namespace container_detail { void operator=(const spin_mutex &); public: - spin_mutex() { BOOST_CONTAINER_INITIAL_LOCK(&sl); } + spin_mutex() { BOOST_MOVE_INITIAL_LOCK(&sl); } void lock() { BOOST_CONTAINER_ACQUIRE_LOCK(&sl); } void unlock() { BOOST_CONTAINER_RELEASE_LOCK(&sl); } diff --git a/3party/boost/boost/container/detail/next_capacity.hpp b/3party/boost/boost/container/detail/next_capacity.hpp new file mode 100644 index 0000000000..3bc98a3c91 --- /dev/null +++ b/3party/boost/boost/container/detail/next_capacity.hpp @@ -0,0 +1,75 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2015. 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// +#ifndef BOOST_CONTAINER_DETAIL_NEXT_CAPACITY_HPP +#define BOOST_CONTAINER_DETAIL_NEXT_CAPACITY_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +// container +#include +// container/detail +#include + +namespace boost { +namespace container { +namespace container_detail { + +enum NextCapacityOption { NextCapacityDouble, NextCapacity60Percent }; + +template +struct next_capacity_calculator; + +template +struct next_capacity_calculator +{ + static SizeType get(const SizeType max_size + ,const SizeType capacity + ,const SizeType n) + { + const SizeType remaining = max_size - capacity; + if ( remaining < n ) + boost::container::throw_length_error("get_next_capacity, allocator's max_size reached"); + const SizeType additional = max_value(n, capacity); + return ( remaining < additional ) ? max_size : ( capacity + additional ); + } +}; + +template +struct next_capacity_calculator +{ + static SizeType get(const SizeType max_size + ,const SizeType capacity + ,const SizeType n) + { + const SizeType remaining = max_size - capacity; + if ( remaining < n ) + boost::container::throw_length_error("get_next_capacity, allocator's max_size reached"); + const SizeType m3 = max_size/3; + + if (capacity < m3) + return capacity + max_value(3*(capacity+1)/5, n); + + if (capacity < m3*2) + return capacity + max_value((capacity+1)/2, n); + return max_size; + } +}; + +} //namespace container_detail { +} //namespace container { +} //namespace boost { + +#endif //#ifndef BOOST_CONTAINER_DETAIL_NEXT_CAPACITY_HPP diff --git a/3party/boost/boost/container/detail/node_alloc_holder.hpp b/3party/boost/boost/container/detail/node_alloc_holder.hpp index 6483e9600c..3b632a677d 100644 --- a/3party/boost/boost/container/detail/node_alloc_holder.hpp +++ b/3party/boost/boost/container/detail/node_alloc_holder.hpp @@ -11,82 +11,63 @@ #ifndef BOOST_CONTAINER_DETAIL_NODE_ALLOC_HPP_ #define BOOST_CONTAINER_DETAIL_NODE_ALLOC_HPP_ -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include -#include -#include - -#include -#include - -#include -#include -#include +// container #include +// container/detail +#include +#include #include -#include +#include #include -#include -#include -#include - -#ifndef BOOST_CONTAINER_PERFECT_FORWARDING -#include +#include +#include +#include +#include +#include +#include +// intrusive +#include +#include +// move +#include +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include #endif - -#include -#include +// other +#include namespace boost { namespace container { namespace container_detail { -template -struct node_compare - : private ValueCompare -{ - typedef ValueCompare wrapped_value_compare; - typedef typename wrapped_value_compare::key_type key_type; - typedef typename wrapped_value_compare::value_type value_type; - typedef typename wrapped_value_compare::key_of_value key_of_value; +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(value_compare) +BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(predicate_type) - explicit node_compare(const wrapped_value_compare &pred) - : wrapped_value_compare(pred) - {} - - node_compare() - : wrapped_value_compare() - {} - - wrapped_value_compare &value_comp() - { return static_cast(*this); } - - wrapped_value_compare &value_comp() const - { return static_cast(*this); } - - bool operator()(const Node &a, const Node &b) const - { return wrapped_value_compare::operator()(a.get_data(), b.get_data()); } -}; - -template +template struct node_alloc_holder { //If the intrusive container is an associative container, obtain the predicate, which will //be of type node_compare<>. If not an associative container value_compare will be a "nat" type. typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, ICont, value_compare, container_detail::nat) intrusive_value_compare; - //In that case obtain the value predicate from the node predicate via wrapped_value_compare + //In that case obtain the value predicate from the node predicate via predicate_type //if intrusive_value_compare is node_compare<>, nat otherwise - typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, ICont, - wrapped_value_compare, container_detail::nat) value_compare; + typedef BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(boost::container::container_detail::, intrusive_value_compare, + predicate_type, container_detail::nat) value_compare; - typedef allocator_traits allocator_traits_type; + typedef allocator_traits allocator_traits_type; typedef typename allocator_traits_type::value_type value_type; typedef ICont intrusive_container; typedef typename ICont::value_type Node; @@ -94,13 +75,11 @@ struct node_alloc_holder portable_rebind_alloc::type NodeAlloc; typedef allocator_traits node_allocator_traits_type; typedef container_detail::allocator_version_traits node_allocator_version_traits_type; - typedef A ValAlloc; + typedef Allocator ValAlloc; typedef typename node_allocator_traits_type::pointer NodePtr; typedef container_detail::scoped_deallocator Deallocator; typedef typename node_allocator_traits_type::size_type size_type; typedef typename node_allocator_traits_type::difference_type difference_type; - typedef container_detail::integral_constant allocator_v1; - typedef container_detail::integral_constant allocator_v2; typedef container_detail::integral_constant::value> alloc_version; @@ -133,11 +112,11 @@ struct node_alloc_holder { this->icont().swap(x.icont()); } //Constructors for associative containers - explicit node_alloc_holder(const ValAlloc &a, const value_compare &c) + explicit node_alloc_holder(const value_compare &c, const ValAlloc &a) : members_(a, c) {} - explicit node_alloc_holder(const node_alloc_holder &x, const value_compare &c) + explicit node_alloc_holder(const value_compare &c, const node_alloc_holder &x) : members_(NodeAllocTraits::select_on_container_copy_construction(x.node_alloc()), c) {} @@ -176,7 +155,7 @@ struct node_alloc_holder void deallocate_one(const NodePtr &p) { AllocVersionTraits::deallocate_one(this->node_alloc(), p); } - #ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template NodePtr create_node(Args &&...args) @@ -189,32 +168,32 @@ struct node_alloc_holder node_deallocator.release(); //This does not throw typedef typename Node::hook_type hook_type; - ::new(static_cast(container_detail::to_raw_pointer(p))) hook_type; + ::new(static_cast(container_detail::to_raw_pointer(p)), boost_container_new_t()) hook_type; return (p); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else //defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - NodePtr create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr p = this->allocate_one(); \ - Deallocator node_deallocator(p, this->node_alloc()); \ - allocator_traits::construct \ - (this->node_alloc(), container_detail::addressof(p->m_data) \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - node_deallocator.release(); \ - typedef typename Node::hook_type hook_type; \ - ::new(static_cast(container_detail::to_raw_pointer(p))) hook_type; \ - return (p); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_NODE_ALLOC_HOLDER_CONSTRUCT_IMPL(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + NodePtr create_node(BOOST_MOVE_UREF##N)\ + {\ + NodePtr p = this->allocate_one();\ + Deallocator node_deallocator(p, this->node_alloc());\ + allocator_traits::construct\ + ( this->node_alloc()\ + , container_detail::addressof(p->m_data)\ + BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + node_deallocator.release();\ + typedef typename Node::hook_type hook_type;\ + ::new(static_cast(container_detail::to_raw_pointer(p)), boost_container_new_t()) hook_type;\ + return (p);\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_NODE_ALLOC_HOLDER_CONSTRUCT_IMPL) + #undef BOOST_CONTAINER_NODE_ALLOC_HOLDER_CONSTRUCT_IMPL - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template NodePtr create_node_from_it(const It &it) @@ -225,7 +204,7 @@ struct node_alloc_holder node_deallocator.release(); //This does not throw typedef typename Node::hook_type hook_type; - ::new(static_cast(container_detail::to_raw_pointer(p))) hook_type; + ::new(static_cast(container_detail::to_raw_pointer(p)), boost_container_new_t()) hook_type; return (p); } @@ -261,7 +240,7 @@ struct node_alloc_holder Deallocator node_deallocator(NodePtr(), nalloc); container_detail::scoped_destructor sdestructor(nalloc, 0); while(n--){ - p = container_detail::to_raw_pointer(iterator_to_pointer(itbeg)); + p = container_detail::iterator_to_raw_pointer(itbeg); node_deallocator.set(p); ++itbeg; //This can throw @@ -270,7 +249,7 @@ struct node_alloc_holder ++beg; //This does not throw typedef typename Node::hook_type hook_type; - ::new(static_cast(p)) hook_type; + ::new(static_cast(p), boost_container_new_t()) hook_type; //This can throw in some containers (predicate might throw). //(sdestructor will destruct the node and node_deallocator will deallocate it in case of exception) inserter(*p); @@ -288,10 +267,10 @@ struct node_alloc_holder } } - void clear(allocator_v1) + void clear(version_1) { this->icont().clear_and_dispose(Destroyer(this->node_alloc())); } - void clear(allocator_v2) + void clear(version_2) { typename NodeAlloc::multiallocation_chain chain; allocator_destroyer_and_chain_builder builder(this->node_alloc(), chain); @@ -301,10 +280,10 @@ struct node_alloc_holder this->node_alloc().deallocate_individual(chain); } - icont_iterator erase_range(const icont_iterator &first, const icont_iterator &last, allocator_v1) + icont_iterator erase_range(const icont_iterator &first, const icont_iterator &last, version_1) { return this->icont().erase_and_dispose(first, last, Destroyer(this->node_alloc())); } - icont_iterator erase_range(const icont_iterator &first, const icont_iterator &last, allocator_v2) + icont_iterator erase_range(const icont_iterator &first, const icont_iterator &last, version_2) { typedef typename NodeAlloc::multiallocation_chain multiallocation_chain; NodeAlloc & nalloc = this->node_alloc(); @@ -316,11 +295,11 @@ struct node_alloc_holder } template - size_type erase_key(const Key& k, const Comparator &comp, allocator_v1) + size_type erase_key(const Key& k, const Comparator &comp, version_1) { return this->icont().erase_and_dispose(k, comp, Destroyer(this->node_alloc())); } template - size_type erase_key(const Key& k, const Comparator &comp, allocator_v2) + size_type erase_key(const Key& k, const Comparator &comp, version_2) { allocator_multialloc_chain_node_deallocator chain_holder(this->node_alloc()); return this->icont().erase_and_dispose(k, comp, chain_holder.get_chain_builder()); @@ -329,12 +308,26 @@ struct node_alloc_holder protected: struct cloner { - cloner(node_alloc_holder &holder) + explicit cloner(node_alloc_holder &holder) : m_holder(holder) {} NodePtr operator()(const Node &other) const - { return m_holder.create_node(other.get_data()); } + { return m_holder.create_node(other.m_data); } + + node_alloc_holder &m_holder; + }; + + struct move_cloner + { + move_cloner(node_alloc_holder &holder) + : m_holder(holder) + {} + + NodePtr operator()(Node &other) + { //Use m_data instead of get_data to allow moving const key in [multi]map + return m_holder.create_node(::boost::move(other.m_data)); + } node_alloc_holder &m_holder; }; @@ -360,12 +353,12 @@ struct node_alloc_holder template members_holder(BOOST_FWD_REF(ConvertibleToAlloc) c2alloc, const value_compare &c) : NodeAlloc(boost::forward(c2alloc)) - , m_icont(typename ICont::value_compare(c)) + , m_icont(typename ICont::key_compare(c)) {} explicit members_holder(const value_compare &c) : NodeAlloc() - , m_icont(typename ICont::value_compare(c)) + , m_icont(typename ICont::key_compare(c)) {} //The intrusive container diff --git a/3party/boost/boost/container/detail/node_pool.hpp b/3party/boost/boost/container/detail/node_pool.hpp index 56c3d8a165..00e35dfa8d 100644 --- a/3party/boost/boost/container/detail/node_pool.hpp +++ b/3party/boost/boost/container/detail/node_pool.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_DETAIL_NODE_POOL_HPP #define BOOST_CONTAINER_DETAIL_NODE_POOL_HPP -#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -22,12 +26,8 @@ #include #include #include -#include -#include +#include #include -#include -#include //std::unary_function -#include //std::swap #include namespace boost { diff --git a/3party/boost/boost/container/detail/node_pool_impl.hpp b/3party/boost/boost/container/detail/node_pool_impl.hpp index d79bcbe02c..4febf19e90 100644 --- a/3party/boost/boost/container/detail/node_pool_impl.hpp +++ b/3party/boost/boost/container/detail/node_pool_impl.hpp @@ -7,27 +7,32 @@ // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_CONTAINER_DETAIL_NODE_POOL_IMPL_HPP #define BOOST_CONTAINER_DETAIL_NODE_POOL_IMPL_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include - #include -#include -#include -#include -#include -#include + #include #include #include -#include +#include +#include + +#include +#include +#include + +#include #include #include @@ -57,6 +62,10 @@ class private_node_pool_impl < node_t, bi::base_hook , bi::linear , bi::constant_time_size >::type blockslist_t; + + static size_type get_rounded_size(size_type orig_size, size_type round_to) + { return ((orig_size-1)/round_to+1)*round_to; } + public: //!Segment manager typedef @@ -145,7 +154,7 @@ class private_node_pool_impl nodelist_iterator backup_list_last = backup_list.before_begin(); //Execute the algorithm and get an iterator to the last value - size_type blocksize = get_rounded_size + size_type blocksize = (get_rounded_size) (m_real_node_size*m_nodes_per_block, (size_type) alignment_of::value); while(it != itend){ @@ -205,7 +214,7 @@ class private_node_pool_impl { //check for memory leaks BOOST_ASSERT(m_allocated==0); - size_type blocksize = get_rounded_size + size_type blocksize = (get_rounded_size) (m_real_node_size*m_nodes_per_block, (size_type)alignment_of::value); //We iterate though the NodeBlock list to free the memory @@ -251,8 +260,8 @@ class private_node_pool_impl struct is_between { - typedef typename free_nodes_t::value_type argument_type; - typedef bool result_type; + typedef typename free_nodes_t::value_type argument_type; + typedef bool result_type; is_between(const void *addr, std::size_t size) : beg_(static_cast(addr)), end_(beg_+size) @@ -298,7 +307,7 @@ class private_node_pool_impl { BOOST_ASSERT(num_blocks > 0); size_type blocksize = - get_rounded_size(m_real_node_size*m_nodes_per_block, (size_type)alignment_of::value); + (get_rounded_size)(m_real_node_size*m_nodes_per_block, (size_type)alignment_of::value); BOOST_TRY{ for(size_type i = 0; i != num_blocks; ++i){ diff --git a/3party/boost/boost/container/detail/pair.hpp b/3party/boost/boost/container/detail/pair.hpp index 0d7e0a9b7d..35e8846caa 100644 --- a/3party/boost/boost/container/detail/pair.hpp +++ b/3party/boost/boost/container/detail/pair.hpp @@ -13,7 +13,11 @@ #ifndef BOOST_CONTAINER_CONTAINER_DETAIL_PAIR_HPP #define BOOST_CONTAINER_CONTAINER_DETAIL_PAIR_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -24,16 +28,50 @@ #include #include #include +#include //swap -#include //std::pair -#include //std::swap +#include //pair +#include -#include -#include +/* +namespace boost{ -#ifndef BOOST_CONTAINER_PERFECT_FORWARDING -#include -#endif +template +inline rv< std::pair > &move(std::pair &r) +{ + return reinterpret_cast< rv< std::pair > &>(r); +} + +template +inline rv< std::pair > &move(rv< std::pair > &r) +{ + return r; +} + +template +inline typename ::boost::move_detail::enable_if_and + < T & + , boost::container::container_detail::is_std_pair + , ::boost::move_detail::is_rv + >::type + forward(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT +{ + return const_cast(x); +} + +template +inline typename ::boost::move_detail::enable_if_and + < const T & + , boost::container::container_detail::is_std_pair + , ::boost::move_detail::is_not_rv + >::type + forward(const typename ::boost::move_detail::identity::type &x) BOOST_NOEXCEPT +{ + return x; +} + +} //namespace boost { +*/ namespace boost { namespace container { @@ -60,6 +98,24 @@ struct is_pair< std::pair > static const bool value = true; }; +template +struct is_not_pair +{ + static const bool value = !is_pair::value; +}; + +template +struct is_std_pair +{ + static const bool value = false; +}; + +template +struct is_std_pair< std::pair > +{ + static const bool value = true; +}; + struct pair_nat; struct piecewise_construct_t { }; @@ -166,37 +222,7 @@ struct pair //template // pair(piecewise_construct_t, tuple first_args, // tuple second_args); -/* - //Variadic versions - template - pair(BOOST_CONTAINER_PP_PARAM(U, u), typename container_detail::disable_if - < container_detail::is_pair< typename container_detail::remove_ref_const::type >, pair_nat>::type* = 0) - : first(::boost::forward(u)) - , second() - {} - #ifdef BOOST_CONTAINER_PERFECT_FORWARDING - - template - pair(U &&u, V &&v) - : first(::boost::forward(u)) - , second(::boost::forward(v), ::boost::forward(args)...) - {} - - #else - - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - pair(BOOST_CONTAINER_PP_PARAM(U, u) \ - ,BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - : first(::boost::forward(u)) \ - , second(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)) \ - {} \ - //! - #define BOOST_PP_LOCAL_LIMITS (1, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - #endif -*/ //pair copy assignment pair& operator=(BOOST_COPY_ASSIGN_REF(pair) p) { @@ -214,10 +240,11 @@ struct pair } template - typename ::boost::container::container_detail::enable_if_c - < !(::boost::container::container_detail::is_same::value && - ::boost::container::container_detail::is_same::value) - , pair &>::type + typename ::boost::container::container_detail::disable_if_or + < pair & + , ::boost::container::container_detail::is_same + , ::boost::container::container_detail::is_same + >::type operator=(const pair&p) { first = p.first; @@ -226,18 +253,18 @@ struct pair } template - typename ::boost::container::container_detail::enable_if_c - < !(::boost::container::container_detail::is_same::value && - ::boost::container::container_detail::is_same::value) - , pair &>::type + typename ::boost::container::container_detail::disable_if_or + < pair & + , ::boost::container::container_detail::is_same + , ::boost::container::container_detail::is_same + >::type operator=(BOOST_RV_REF_BEG pair BOOST_RV_REF_END p) { first = ::boost::move(p.first); second = ::boost::move(p.second); return *this; } - - //std::pair copy assignment +//std::pair copy assignment pair& operator=(const std::pair &p) { first = p.first; @@ -272,9 +299,8 @@ struct pair //swap void swap(pair& p) { - using std::swap; - swap(this->first, p.first); - swap(this->second, p.second); + ::boost::adl_move_swap(this->first, p.first); + ::boost::adl_move_swap(this->second, p.second); } }; @@ -309,10 +335,7 @@ inline pair make_pair(T1 x, T2 y) template inline void swap(pair& x, pair& y) -{ - swap(x.first, y.first); - swap(x.second, y.second); -} +{ x.swap(y); } } //namespace container_detail { } //namespace container { @@ -330,22 +353,42 @@ struct is_enum< ::boost::container::container_detail::pair > static const bool value = false; }; +template +struct is_class; + //This specialization is needed to avoid instantiation of pair in //is_class, and allow recursive maps. template struct is_class< ::boost::container::container_detail::pair > - : public ::boost::true_type -{}; +{ + static const bool value = true; +}; #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES template struct has_move_emulation_enabled< ::boost::container::container_detail::pair > - : ::boost::true_type -{}; +{ + static const bool value = true; +}; #endif +namespace move_detail{ + +template +struct is_class_or_union; + +template +struct is_class_or_union< ::boost::container::container_detail::pair > +//This specialization is needed to avoid instantiation of pair in +//is_class, and allow recursive maps. +{ + static const bool value = true; +}; + + +} //namespace move_detail{ } //namespace boost { diff --git a/3party/boost/boost/container/detail/placement_new.hpp b/3party/boost/boost/container/detail/placement_new.hpp new file mode 100644 index 0000000000..c50981f685 --- /dev/null +++ b/3party/boost/boost/container/detail/placement_new.hpp @@ -0,0 +1,30 @@ +#ifndef BOOST_CONTAINER_DETAIL_PLACEMENT_NEW_HPP +#define BOOST_CONTAINER_DETAIL_PLACEMENT_NEW_HPP +/////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2015. 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/libs/container for documentation. +// +/////////////////////////////////////////////////////////////////////////////// + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +struct boost_container_new_t{}; + +//avoid including +inline void *operator new(std::size_t, void *p, boost_container_new_t) +{ return p; } + +inline void operator delete(void *, void *, boost_container_new_t) +{} + +#endif //BOOST_CONTAINER_DETAIL_PLACEMENT_NEW_HPP diff --git a/3party/boost/boost/container/detail/pool_common.hpp b/3party/boost/boost/container/detail/pool_common.hpp index 53a7427405..61d0612ed1 100644 --- a/3party/boost/boost/container/detail/pool_common.hpp +++ b/3party/boost/boost/container/detail/pool_common.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_DETAIL_POOL_COMMON_HPP #define BOOST_CONTAINER_DETAIL_POOL_COMMON_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -19,7 +23,6 @@ #include #include -#include namespace boost { namespace container { diff --git a/3party/boost/boost/container/detail/pool_common_alloc.hpp b/3party/boost/boost/container/detail/pool_common_alloc.hpp index 37186a6a99..72e9c8d278 100644 --- a/3party/boost/boost/container/detail/pool_common_alloc.hpp +++ b/3party/boost/boost/container/detail/pool_common_alloc.hpp @@ -11,6 +11,14 @@ #ifndef BOOST_CONTAINER_DETAIL_POOL_COMMON_ALLOC_HPP #define BOOST_CONTAINER_DETAIL_POOL_COMMON_ALLOC_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include #include #include diff --git a/3party/boost/boost/container/detail/preprocessor.hpp b/3party/boost/boost/container/detail/preprocessor.hpp deleted file mode 100644 index 7e4f5eb0ff..0000000000 --- a/3party/boost/boost/container/detail/preprocessor.hpp +++ /dev/null @@ -1,232 +0,0 @@ -////////////////////////////////////////////////////////////////////////////// -// -// (C) Copyright Ion Gaztanaga 2008-2013. Distributed under the Boost -// Software License, Version 1.0. (See accompanying file -// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -// -// See http://www.boost.org/libs/container for documentation. -// -////////////////////////////////////////////////////////////////////////////// - -#ifndef BOOST_CONTAINER_DETAIL_PREPROCESSOR_HPP -#define BOOST_CONTAINER_DETAIL_PREPROCESSOR_HPP - -#if defined(_MSC_VER) -# pragma once -#endif - -#include -#include -#include - -#ifdef BOOST_CONTAINER_PERFECT_FORWARDING -//#error "This file is not needed when perfect forwarding is available" -#endif //BOOST_CONTAINER_PERFECT_FORWARDING - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS 10 - -//Note: -//We define template parameters as const references to -//be able to bind temporaries. After that we will un-const them. -//This cast is ugly but it is necessary until "perfect forwarding" -//is achieved in C++0x. Meanwhile, if we want to be able to -//bind rvalues with non-const references, we have to be ugly -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - #define BOOST_CONTAINER_PP_PARAM_LIST(z, n, data) \ - BOOST_PP_CAT(P, n) && BOOST_PP_CAT(p, n) \ - //! -#else - #define BOOST_CONTAINER_PP_PARAM_LIST(z, n, data) \ - const BOOST_PP_CAT(P, n) & BOOST_PP_CAT(p, n) \ - //! -#endif //#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -#define BOOST_CONTAINER_PP_CONST_REF_PARAM_LIST_Q(z, n, Data) \ -const BOOST_PP_CAT(Q, n) & BOOST_PP_CAT(q, n) \ -//! - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - #define BOOST_CONTAINER_PP_PARAM(U, u) \ - U && u \ - //! -#else - #define BOOST_CONTAINER_PP_PARAM(U, u) \ - const U & u \ - //! -#endif //#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - - #define BOOST_CONTAINER_PP_PARAM_INIT(z, n, data) \ - BOOST_PP_CAT(m_p, n) (::boost::forward< BOOST_PP_CAT(P, n) >( BOOST_PP_CAT(p, n) )) \ - //! - -#else //BOOST_NO_CXX11_RVALUE_REFERENCES - - #define BOOST_CONTAINER_PP_PARAM_INIT(z, n, data) \ - BOOST_PP_CAT(m_p, n) (const_cast(BOOST_PP_CAT(p, n))) \ - //! -#endif //#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - - #if defined(BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG) - - namespace boost { - namespace container { - namespace container_detail { - template - struct ref_holder; - - template - struct ref_holder - { - explicit ref_holder(T &t) - : t_(t) - {} - T &t_; - T & get() { return t_; } - }; - - template - struct ref_holder - { - explicit ref_holder(const T &t) - : t_(t) - {} - const T &t_; - const T & get() { return t_; } - }; - - template - struct ref_holder - { - explicit ref_holder(const T &t) - : t_(t) - {} - const T &t_; - const T & get() { return t_; } - }; - - template - struct ref_holder - { - explicit ref_holder(T &&t) - : t_(t) - {} - T &t_; - T && get() { return ::boost::move(t_); } - }; - - template - struct ref_holder - { - explicit ref_holder(T &&t) - : t_(t) - {} - T &t_; - T && get() { return ::boost::move(t_); } - }; - - } //namespace container_detail { - } //namespace container { - } //namespace boost { - - #define BOOST_CONTAINER_PP_PARAM_DEFINE(z, n, data) \ - ::boost::container::container_detail::ref_holder BOOST_PP_CAT(m_p, n); \ - //! - - #else //BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG - - #define BOOST_CONTAINER_PP_PARAM_DEFINE(z, n, data) \ - BOOST_PP_CAT(P, n) && BOOST_PP_CAT(m_p, n); \ - //! - - #endif //defined(BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG) - -#else //BOOST_NO_CXX11_RVALUE_REFERENCES - - #define BOOST_CONTAINER_PP_PARAM_DEFINE(z, n, data) \ - BOOST_PP_CAT(P, n) & BOOST_PP_CAT(m_p, n); \ - //! -#endif //#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG) - - #define BOOST_CONTAINER_PP_MEMBER_FORWARD(z, n, data) BOOST_PP_CAT(this->m_p, n).get() \ - //! - -#else //!defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG) - - #define BOOST_CONTAINER_PP_MEMBER_FORWARD(z, n, data) \ - ::boost::forward< BOOST_PP_CAT(P, n) >( BOOST_PP_CAT(this->m_p, n) ) \ - //! - -#endif //!defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && defined(BOOST_MOVE_MSVC_10_MEMBER_RVALUE_REF_BUG) - -#define BOOST_CONTAINER_PP_PARAM_INC(z, n, data) \ - BOOST_PP_CAT(++this->m_p, n) \ -//! - -#define BOOST_CONTAINER_PP_IDENTITY(z, n, data) data - - -#define BOOST_CONTAINER_PP_PARAM_FORWARD(z, n, data) \ -::boost::forward< BOOST_PP_CAT(P, n) >( BOOST_PP_CAT(p, n) ) \ -//! - -#define BOOST_CONTAINER_PP_DECLVAL(z, n, data) \ -::boost::move_detail::declval< BOOST_PP_CAT(P, n) >() \ -//! - -#define BOOST_CONTAINER_PP_MEMBER_IT_FORWARD(z, n, data) \ -BOOST_PP_CAT(*this->m_p, n) \ -//! - -#define BOOST_CONTAINER_PP_TEMPLATE_PARAM_VOID_DEFAULT(z, n, data) \ - BOOST_PP_CAT(class P, n) = void \ -//! - -#define BOOST_CONTAINER_PP_TEMPLATE_PARAM_WITH_DEFAULT(z, n, default_type) \ - BOOST_PP_CAT(class P, n) = default_type \ -//! - -#define BOOST_CONTAINER_PP_STATIC_PARAM_REF_DECLARE(z, n, data) \ - static BOOST_PP_CAT(P, n) & BOOST_PP_CAT(p, n); \ -//! - -#define BOOST_CONTAINER_PP_PARAM_PASS(z, n, data) \ - BOOST_PP_CAT(p, n) \ -//! - -#define BOOST_CONTAINER_PP_FWD_TYPE(z, n, data) \ - typename ::boost::move_detail::forward_type< BOOST_PP_CAT(P, n) >::type \ -//! - -#include - -//#else - -//#ifdef BOOST_CONTAINER_PERFECT_FORWARDING -//#error "This file is not needed when perfect forwarding is available" -//#endif //BOOST_CONTAINER_PERFECT_FORWARDING - -#endif //#ifndef BOOST_CONTAINER_DETAIL_PREPROCESSOR_HPP diff --git a/3party/boost/boost/container/detail/singleton.hpp b/3party/boost/boost/container/detail/singleton.hpp index 0843319a16..6fd6a54f30 100644 --- a/3party/boost/boost/container/detail/singleton.hpp +++ b/3party/boost/boost/container/detail/singleton.hpp @@ -22,6 +22,14 @@ #ifndef BOOST_CONTAINER_DETAIL_SINGLETON_DETAIL_HPP #define BOOST_CONTAINER_DETAIL_SINGLETON_DETAIL_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include #include diff --git a/3party/boost/boost/container/detail/std_fwd.hpp b/3party/boost/boost/container/detail/std_fwd.hpp new file mode 100644 index 0000000000..1277df071f --- /dev/null +++ b/3party/boost/boost/container/detail/std_fwd.hpp @@ -0,0 +1,76 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2014. 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// + +#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP +#define BOOST_CONTAINER_DETAIL_STD_FWD_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +////////////////////////////////////////////////////////////////////////////// +// Standard predeclarations +////////////////////////////////////////////////////////////////////////////// + +#if defined(_LIBCPP_VERSION) + #define BOOST_CONTAINER_CLANG_INLINE_STD_NS + #pragma GCC diagnostic push + #if defined(__clang__) + #pragma GCC diagnostic ignored "-Wc++11-extensions" + #endif + #define BOOST_CONTAINER_STD_NS_BEG _LIBCPP_BEGIN_NAMESPACE_STD + #define BOOST_CONTAINER_STD_NS_END _LIBCPP_END_NAMESPACE_STD +#elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE_VERSION) //GCC >= 4.6 + #define BOOST_CONTAINER_STD_NS_BEG namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION + #define BOOST_CONTAINER_STD_NS_END _GLIBCXX_END_NAMESPACE_VERSION } // namespace +#elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE) //GCC >= 4.2 + #define BOOST_CONTAINER_STD_NS_BEG _GLIBCXX_BEGIN_NAMESPACE(std) + #define BOOST_CONTAINER_STD_NS_END _GLIBCXX_END_NAMESPACE +#else + #define BOOST_CONTAINER_STD_NS_BEG namespace std{ + #define BOOST_CONTAINER_STD_NS_END } +#endif + +BOOST_CONTAINER_STD_NS_BEG + +template +class allocator; + +template +struct less; + +template +struct pair; + +template +struct char_traits; + +struct input_iterator_tag; +struct forward_iterator_tag; +struct bidirectional_iterator_tag; +struct random_access_iterator_tag; + +template +class insert_iterator; + +struct allocator_arg_t; + +BOOST_CONTAINER_STD_NS_END + +#ifdef BOOST_CONTAINER_CLANG_INLINE_STD_NS + #pragma GCC diagnostic pop + #undef BOOST_CONTAINER_CLANG_INLINE_STD_NS +#endif //BOOST_CONTAINER_CLANG_INLINE_STD_NS + +#endif //#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP diff --git a/3party/boost/boost/container/detail/to_raw_pointer.hpp b/3party/boost/boost/container/detail/to_raw_pointer.hpp new file mode 100644 index 0000000000..0b4445a942 --- /dev/null +++ b/3party/boost/boost/container/detail/to_raw_pointer.hpp @@ -0,0 +1,33 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2015. 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// +#ifndef BOOST_CONTAINER_DETAIL_TO_RAW_POINTER_HPP +#define BOOST_CONTAINER_DETAIL_TO_RAW_POINTER_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +#include + +namespace boost { +namespace container { +namespace container_detail { + +using ::boost::intrusive::detail::to_raw_pointer; + +} //namespace container_detail { +} //namespace container { +} //namespace boost { + +#endif //#ifndef BOOST_CONTAINER_DETAIL_TO_RAW_POINTER_HPP diff --git a/3party/boost/boost/container/detail/transform_iterator.hpp b/3party/boost/boost/container/detail/transform_iterator.hpp index c4e746c389..ba64c7de79 100644 --- a/3party/boost/boost/container/detail/transform_iterator.hpp +++ b/3party/boost/boost/container/detail/transform_iterator.hpp @@ -14,15 +14,18 @@ #ifndef BOOST_CONTAINER_DETAIL_TRANSFORM_ITERATORS_HPP #define BOOST_CONTAINER_DETAIL_TRANSFORM_ITERATORS_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include - #include -#include +#include namespace boost { namespace container { @@ -58,7 +61,7 @@ struct operator_arrow_proxy template class transform_iterator : public UnaryFunction - , public std::iterator + , public boost::container::iterator < typename Iterator::iterator_category , typename container_detail::remove_reference::type , typename Iterator::difference_type @@ -156,10 +159,10 @@ class transform_iterator { return UnaryFunction::operator()(*m_it); } void advance(typename Iterator::difference_type n) - { std::advance(m_it, n); } + { boost::container::iterator_advance(m_it, n); } typename Iterator::difference_type distance_to(const transform_iterator &other)const - { return std::distance(other.m_it, m_it); } + { return boost::container::iterator_distance(other.m_it, m_it); } }; template diff --git a/3party/boost/boost/container/detail/tree.hpp b/3party/boost/boost/container/detail/tree.hpp index 8ccf2798d4..ce34ffb136 100644 --- a/3party/boost/boost/container/detail/tree.hpp +++ b/3party/boost/boost/container/detail/tree.hpp @@ -11,86 +11,57 @@ #ifndef BOOST_CONTAINER_TREE_HPP #define BOOST_CONTAINER_TREE_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include #include -#include - -#include -#include -#include -#include -#include -#include -#include +// container #include +#include #include -// +// container/detail +#include //algo_equal(), algo_lexicographical_compare +#include +#include +#include +#include +#include +#include +#include +// intrusive #include #include #include #include #include -// -#include -#include -#include -// -#ifndef BOOST_CONTAINER_PERFECT_FORWARDING -#include +// intrusive/detail +#include //pair +#include //tree_value_compare +// move +#include +// move/detail +#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include #endif +// other +#include -#include //std::pair -#include -#include + + +#include namespace boost { namespace container { namespace container_detail { -template -struct tree_value_compare - : public KeyCompare -{ - typedef Value value_type; - typedef KeyCompare key_compare; - typedef KeyOfValue key_of_value; - typedef Key key_type; - - explicit tree_value_compare(const key_compare &kcomp) - : KeyCompare(kcomp) - {} - - tree_value_compare() - : KeyCompare() - {} - - const key_compare &key_comp() const - { return static_cast(*this); } - - key_compare &key_comp() - { return static_cast(*this); } - - template - struct is_key - { - static const bool value = is_same::value; - }; - - template - typename enable_if_c::value, const key_type &>::type - key_forward(const T &key) const - { return key; } - - template - typename enable_if_c::value, const key_type &>::type - key_forward(const T &key) const - { return KeyOfValue()(key); } - - template - bool operator()(const KeyType &key1, const KeyType2 &key2) const - { return key_compare::operator()(this->key_forward(key1), this->key_forward(key2)); } -}; +using boost::intrusive::tree_value_compare; template struct intrusive_tree_hook; @@ -144,7 +115,7 @@ struct tree_internal_data_type template struct tree_internal_data_type< std::pair > { - typedef pair type; + typedef pair::type, T2> type; }; //The node to be store in the tree @@ -179,17 +150,17 @@ struct tree_node internal_type m_data; - template - void do_assign(const std::pair &p) + template + void do_assign(const std::pair &p) { - const_cast(m_data.first) = p.first; + const_cast(m_data.first) = p.first; m_data.second = p.second; } - template - void do_assign(const pair &p) + template + void do_assign(const pair &p) { - const_cast(m_data.first) = p.first; + const_cast(m_data.first) = p.first; m_data.second = p.second; } @@ -197,17 +168,17 @@ struct tree_node void do_assign(const V &v) { m_data = v; } - template - void do_move_assign(std::pair &p) + template + void do_move_assign(std::pair &p) { - const_cast(m_data.first) = ::boost::move(p.first); + const_cast(m_data.first) = ::boost::move(p.first); m_data.second = ::boost::move(p.second); } - template - void do_move_assign(pair &p) + template + void do_move_assign(pair &p) { - const_cast(m_data.first) = ::boost::move(p.first); + const_cast(m_data.first) = ::boost::move(p.first); m_data.second = ::boost::move(p.second); } @@ -216,6 +187,11 @@ struct tree_node { m_data = ::boost::move(v); } }; +template +struct iiterator_node_value_type< tree_node > { + typedef T type; +}; + template class insert_equal_end_hint_functor { @@ -305,20 +281,21 @@ struct intrusive_tree_dispatch >::type type; }; -template +template struct intrusive_tree_type { private: typedef typename boost::container:: - allocator_traits::value_type value_type; + allocator_traits::value_type value_type; typedef typename boost::container:: - allocator_traits::void_pointer void_pointer; + allocator_traits::void_pointer void_pointer; typedef typename boost::container:: - allocator_traits::size_type size_type; + allocator_traits::size_type size_type; typedef typename container_detail::tree_node < value_type, void_pointer , tree_type_value, OptimizeSize> node_type; - typedef node_compare node_compare_type; + typedef value_to_node_compare + node_compare_type; //Deducing the hook type from node_type (e.g. node_type::hook_type) would //provoke an early instantiation of node_type that could ruin recursive //tree definitions, so retype the complete type to avoid any problem. @@ -382,10 +359,10 @@ class RecyclingCloner {} static void do_assign(node_ptr_type &p, const node_type &other, bool_) - { p->do_assign(other.m_data); } + { p->do_move_assign(const_cast(other).m_data); } static void do_assign(node_ptr_type &p, const node_type &other, bool_) - { p->do_move_assign(const_cast(other).m_data); } + { p->do_assign(other.m_data); } node_ptr_type operator()(const node_type &other) const { @@ -416,7 +393,7 @@ class RecyclingCloner }; template -//where KeyValueCompare is tree_value_compare +//where KeyValueCompare is tree_value_compare struct key_node_compare : private KeyValueCompare { @@ -445,35 +422,35 @@ struct key_node_compare { return KeyValueCompare::operator()(this->key_forward(key1), this->key_forward(key2)); } }; -template class tree : protected container_detail::node_alloc_holder - < A + < Allocator , typename container_detail::intrusive_tree_type - < A, tree_value_compare //ValComp + < Allocator, tree_value_compare //ValComp , Options::tree_type, Options::optimize_size>::type > { typedef tree_value_compare - ValComp; + ValComp; typedef typename container_detail::intrusive_tree_type - < A, ValComp, Options::tree_type + < Allocator, ValComp, Options::tree_type , Options::optimize_size>::type Icont; typedef container_detail::node_alloc_holder - AllocHolder; + AllocHolder; typedef typename AllocHolder::NodePtr NodePtr; - typedef tree < Key, Value, KeyOfValue - , KeyCompare, A, Options> ThisType; + typedef tree < Key, T, KeyOfValue + , Compare, Allocator, Options> ThisType; typedef typename AllocHolder::NodeAlloc NodeAlloc; + typedef boost::container:: + allocator_traits allocator_traits_type; typedef typename AllocHolder::ValAlloc ValAlloc; typedef typename AllocHolder::Node Node; typedef typename Icont::iterator iiterator; typedef typename Icont::const_iterator iconst_iterator; typedef container_detail::allocator_destroyer Destroyer; - typedef typename AllocHolder::allocator_v1 allocator_v1; - typedef typename AllocHolder::allocator_v2 allocator_v2; typedef typename AllocHolder::alloc_version alloc_version; typedef intrusive_tree_proxy intrusive_tree_proxy_t; @@ -482,22 +459,22 @@ class tree public: typedef Key key_type; - typedef Value value_type; - typedef A allocator_type; - typedef KeyCompare key_compare; + typedef T value_type; + typedef Allocator allocator_type; + typedef Compare key_compare; typedef ValComp value_compare; typedef typename boost::container:: - allocator_traits::pointer pointer; + allocator_traits::pointer pointer; typedef typename boost::container:: - allocator_traits::const_pointer const_pointer; + allocator_traits::const_pointer const_pointer; typedef typename boost::container:: - allocator_traits::reference reference; + allocator_traits::reference reference; typedef typename boost::container:: - allocator_traits::const_reference const_reference; + allocator_traits::const_reference const_reference; typedef typename boost::container:: - allocator_traits::size_type size_type; + allocator_traits::size_type size_type; typedef typename boost::container:: - allocator_traits::difference_type difference_type; + allocator_traits::difference_type difference_type; typedef difference_type tree_difference_type; typedef pointer tree_pointer; typedef const_pointer tree_const_pointer; @@ -510,17 +487,17 @@ class tree typedef key_node_compare KeyNodeCompare; public: - typedef container_detail::iterator iterator; - typedef container_detail::iterator const_iterator; - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; + typedef container_detail::iterator_from_iiterator iterator; + typedef container_detail::iterator_from_iiterator const_iterator; + typedef boost::container::reverse_iterator reverse_iterator; + typedef boost::container::reverse_iterator const_reverse_iterator; tree() - : AllocHolder(ValComp(key_compare())) + : AllocHolder() {} explicit tree(const key_compare& comp, const allocator_type& a = allocator_type()) - : AllocHolder(a, ValComp(comp)) + : AllocHolder(ValComp(comp), a) {} explicit tree(const allocator_type& a) @@ -531,13 +508,14 @@ class tree tree(bool unique_insertion, InputIterator first, InputIterator last, const key_compare& comp, const allocator_type& a #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < container_detail::is_input_iterator::value - || container_detail::is_same::value + , typename container_detail::enable_if_or + < void + , container_detail::is_same + , container_detail::is_input_iterator >::type * = 0 #endif ) - : AllocHolder(a, value_compare(comp)) + : AllocHolder(value_compare(comp), a) { //Use cend() as hint to achieve linear time for //ordered ranges as required by the standard @@ -559,13 +537,14 @@ class tree tree(bool unique_insertion, InputIterator first, InputIterator last, const key_compare& comp, const allocator_type& a #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !(container_detail::is_input_iterator::value - || container_detail::is_same::value) + , typename container_detail::disable_if_or + < void + , container_detail::is_same + , container_detail::is_input_iterator >::type * = 0 #endif ) - : AllocHolder(a, value_compare(comp)) + : AllocHolder(value_compare(comp), a) { if(unique_insertion){ //Use cend() as hint to achieve linear time for @@ -579,7 +558,7 @@ class tree else{ //Optimized allocation and construction this->allocate_many_and_construct - ( first, std::distance(first, last) + ( first, boost::container::iterator_distance(first, last) , insert_equal_end_hint_functor(this->icont())); } } @@ -588,13 +567,14 @@ class tree tree( ordered_range_t, InputIterator first, InputIterator last , const key_compare& comp = key_compare(), const allocator_type& a = allocator_type() #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < container_detail::is_input_iterator::value - || container_detail::is_same::value - >::type * = 0 + , typename container_detail::enable_if_or + < void + , container_detail::is_same + , container_detail::is_input_iterator + >::type * = 0 #endif ) - : AllocHolder(a, value_compare(comp)) + : AllocHolder(value_compare(comp), a) { for ( ; first != last; ++first){ this->push_back_impl(*first); @@ -605,47 +585,48 @@ class tree tree( ordered_range_t, InputIterator first, InputIterator last , const key_compare& comp = key_compare(), const allocator_type& a = allocator_type() #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !(container_detail::is_input_iterator::value - || container_detail::is_same::value) - >::type * = 0 + , typename container_detail::disable_if_or + < void + , container_detail::is_same + , container_detail::is_input_iterator + >::type * = 0 #endif ) - : AllocHolder(a, value_compare(comp)) + : AllocHolder(value_compare(comp), a) { //Optimized allocation and construction this->allocate_many_and_construct - ( first, std::distance(first, last) + ( first, boost::container::iterator_distance(first, last) , container_detail::push_back_functor(this->icont())); } tree(const tree& x) - : AllocHolder(x, x.value_comp()) + : AllocHolder(x.value_comp(), x) { this->icont().clone_from (x.icont(), typename AllocHolder::cloner(*this), Destroyer(this->node_alloc())); } tree(BOOST_RV_REF(tree) x) - : AllocHolder(::boost::move(static_cast(x)), x.value_comp()) + : AllocHolder(BOOST_MOVE_BASE(AllocHolder, x), x.value_comp()) {} tree(const tree& x, const allocator_type &a) - : AllocHolder(a, x.value_comp()) + : AllocHolder(x.value_comp(), a) { this->icont().clone_from (x.icont(), typename AllocHolder::cloner(*this), Destroyer(this->node_alloc())); } tree(BOOST_RV_REF(tree) x, const allocator_type &a) - : AllocHolder(a, x.value_comp()) + : AllocHolder(x.value_comp(), a) { if(this->node_alloc() == x.node_alloc()){ this->icont().swap(x.icont()); } else{ this->icont().clone_from - (x.icont(), typename AllocHolder::cloner(*this), Destroyer(this->node_alloc())); + (boost::move(x.icont()), typename AllocHolder::move_cloner(*this), Destroyer(this->node_alloc())); } } @@ -684,6 +665,8 @@ class tree } tree& operator=(BOOST_RV_REF(tree) x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) { BOOST_ASSERT(this != &x); NodeAlloc &this_alloc = this->node_alloc(); @@ -710,7 +693,7 @@ class tree //Now recreate the source tree reusing nodes stored by other_tree this->icont().clone_from - (x.icont() + (::boost::move(x.icont()) , RecyclingCloner(*this, other_tree) , Destroyer(this->node_alloc())); @@ -726,10 +709,10 @@ class tree public: // accessors: value_compare value_comp() const - { return this->icont().value_comp().value_comp(); } + { return this->icont().value_comp().predicate(); } key_compare key_comp() const - { return this->icont().value_comp().value_comp().key_comp(); } + { return this->icont().value_comp().predicate().key_comp(); } allocator_type get_allocator() const { return allocator_type(this->node_alloc()); } @@ -808,6 +791,8 @@ class tree { return AllocHolder::max_size(); } void swap(ThisType& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ) { AllocHolder::swap(x); } public: @@ -842,9 +827,9 @@ class tree template iterator insert_unique_commit - (BOOST_FWD_REF(MovableConvertible) mv, insert_commit_data &data) + (BOOST_FWD_REF(MovableConvertible) v, insert_commit_data &data) { - NodePtr tmp = AllocHolder::create_node(boost::forward(mv)); + NodePtr tmp = AllocHolder::create_node(boost::forward(v)); scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); iterator ret(this->icont().insert_unique_commit(*tmp, data)); destroy_deallocator.release(); @@ -863,13 +848,13 @@ class tree } template - std::pair insert_unique(BOOST_FWD_REF(MovableConvertible) mv) + std::pair insert_unique(BOOST_FWD_REF(MovableConvertible) v) { insert_commit_data data; std::pair ret = - this->insert_unique_check(KeyOfValue()(mv), data); + this->insert_unique_check(KeyOfValue()(v), data); if(ret.second){ - ret.first = this->insert_unique_commit(boost::forward(mv), data); + ret.first = this->insert_unique_commit(boost::forward(v), data); } return ret; } @@ -877,9 +862,9 @@ class tree private: template - void push_back_impl(BOOST_FWD_REF(MovableConvertible) mv) + void push_back_impl(BOOST_FWD_REF(MovableConvertible) v) { - NodePtr tmp(AllocHolder::create_node(boost::forward(mv))); + NodePtr tmp(AllocHolder::create_node(boost::forward(v))); //push_back has no-throw guarantee so avoid any deallocator/destroyer this->icont().push_back(*tmp); } @@ -916,18 +901,18 @@ class tree public: - #ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template - std::pair emplace_unique(Args&&... args) + std::pair emplace_unique(BOOST_FWD_REF(Args)... args) { return this->emplace_unique_impl(AllocHolder::create_node(boost::forward(args)...)); } template - iterator emplace_hint_unique(const_iterator hint, Args&&... args) + iterator emplace_hint_unique(const_iterator hint, BOOST_FWD_REF(Args)... args) { return this->emplace_unique_hint_impl(hint, AllocHolder::create_node(boost::forward(args)...)); } template - iterator emplace_equal(Args&&... args) + iterator emplace_equal(BOOST_FWD_REF(Args)... args) { NodePtr tmp(AllocHolder::create_node(boost::forward(args)...)); scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); @@ -937,7 +922,7 @@ class tree } template - iterator emplace_hint_equal(const_iterator hint, Args&&... args) + iterator emplace_hint_equal(const_iterator hint, BOOST_FWD_REF(Args)... args) { NodePtr tmp(AllocHolder::create_node(boost::forward(args)...)); scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); @@ -946,49 +931,41 @@ class tree return ret; } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - return this->emplace_unique_impl \ - (AllocHolder::create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint_unique(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - return this->emplace_unique_hint_impl \ - (hint, AllocHolder::create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr tmp(AllocHolder::create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); \ - iterator ret(this->icont().insert_equal(this->icont().end(), *tmp)); \ - destroy_deallocator.release(); \ - return ret; \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint_equal(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr tmp(AllocHolder::create_node(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); \ - iterator ret(this->icont().insert_equal(hint.get(), *tmp)); \ - destroy_deallocator.release(); \ - return ret; \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_TREE_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + std::pair emplace_unique(BOOST_MOVE_UREF##N)\ + { return this->emplace_unique_impl(AllocHolder::create_node(BOOST_MOVE_FWD##N)); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint_unique(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + { return this->emplace_unique_hint_impl(hint, AllocHolder::create_node(BOOST_MOVE_FWD##N)); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_equal(BOOST_MOVE_UREF##N)\ + {\ + NodePtr tmp(AllocHolder::create_node(BOOST_MOVE_FWD##N));\ + scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc());\ + iterator ret(this->icont().insert_equal(this->icont().end(), *tmp));\ + destroy_deallocator.release();\ + return ret;\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint_equal(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + NodePtr tmp(AllocHolder::create_node(BOOST_MOVE_FWD##N));\ + scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc());\ + iterator ret(this->icont().insert_equal(hint.get(), *tmp));\ + destroy_deallocator.release();\ + return ret;\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_TREE_EMPLACE_CODE) + #undef BOOST_CONTAINER_TREE_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) iterator insert_unique(const_iterator hint, const value_type& v) { @@ -1001,14 +978,14 @@ class tree } template - iterator insert_unique(const_iterator hint, BOOST_FWD_REF(MovableConvertible) mv) + iterator insert_unique(const_iterator hint, BOOST_FWD_REF(MovableConvertible) v) { insert_commit_data data; std::pair ret = - this->insert_unique_check(hint, KeyOfValue()(mv), data); + this->insert_unique_check(hint, KeyOfValue()(v), data); if(!ret.second) return ret.first; - return this->insert_unique_commit(boost::forward(mv), data); + return this->insert_unique_commit(boost::forward(v), data); } template @@ -1028,9 +1005,9 @@ class tree } template - iterator insert_equal(BOOST_FWD_REF(MovableConvertible) mv) + iterator insert_equal(BOOST_FWD_REF(MovableConvertible) v) { - NodePtr tmp(AllocHolder::create_node(boost::forward(mv))); + NodePtr tmp(AllocHolder::create_node(boost::forward(v))); scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); iterator ret(this->icont().insert_equal(this->icont().end(), *tmp)); destroy_deallocator.release(); @@ -1047,9 +1024,9 @@ class tree } template - iterator insert_equal(const_iterator hint, BOOST_FWD_REF(MovableConvertible) mv) + iterator insert_equal(const_iterator hint, BOOST_FWD_REF(MovableConvertible) v) { - NodePtr tmp(AllocHolder::create_node(boost::forward(mv))); + NodePtr tmp(AllocHolder::create_node(boost::forward(v))); scoped_destroy_deallocator destroy_deallocator(tmp, this->node_alloc()); iterator ret(this->icont().insert_equal(hint.get(), *tmp)); destroy_deallocator.release(); @@ -1132,10 +1109,10 @@ class tree { intrusive_tree_proxy_t::rebalance(this->icont()); } friend bool operator==(const tree& x, const tree& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } + { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); } friend bool operator<(const tree& x, const tree& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } + { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } friend bool operator!=(const tree& x, const tree& y) { return !(x == y); } @@ -1155,17 +1132,25 @@ class tree } //namespace container_detail { } //namespace container { -/* + +template +struct has_trivial_destructor_after_move; + //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template +template struct has_trivial_destructor_after_move - > + < + ::boost::container::container_detail::tree + + > { - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; -*/ + } //namespace boost { #include diff --git a/3party/boost/boost/container/detail/type_traits.hpp b/3party/boost/boost/container/detail/type_traits.hpp index 6f20bd5244..e02709ac6e 100644 --- a/3party/boost/boost/container/detail/type_traits.hpp +++ b/3party/boost/boost/container/detail/type_traits.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // (C) Copyright John Maddock 2000. -// (C) Copyright Ion Gaztanaga 2005-2013. +// (C) Copyright Ion Gaztanaga 2005-2015. // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at @@ -8,204 +8,61 @@ // // See http://www.boost.org/libs/container for documentation. // -// The alignment_of implementation comes from John Maddock's boost::alignment_of code +// The alignment and Type traits implementation comes from +// John Maddock's TypeTraits library. // +// Some other tricks come from Howard Hinnant's papers and StackOverflow replies ////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_CONTAINER_CONTAINER_DETAIL_TYPE_TRAITS_HPP #define BOOST_CONTAINER_CONTAINER_DETAIL_TYPE_TRAITS_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif -#include -#include - -#include +#include namespace boost { namespace container { namespace container_detail { -struct nat{}; +using ::boost::move_detail::is_same; +using ::boost::move_detail::is_different; +using ::boost::move_detail::is_pointer; +using ::boost::move_detail::add_reference; +using ::boost::move_detail::add_const; +using ::boost::move_detail::add_const_reference; +using ::boost::move_detail::remove_const; +using ::boost::move_detail::remove_reference; +using ::boost::move_detail::make_unsigned; +using ::boost::move_detail::is_floating_point; +using ::boost::move_detail::is_integral; +using ::boost::move_detail::is_enum; +using ::boost::move_detail::is_pod; +using ::boost::move_detail::is_empty; +using ::boost::move_detail::is_trivially_destructible; +using ::boost::move_detail::is_trivially_default_constructible; +using ::boost::move_detail::is_trivially_copy_constructible; +using ::boost::move_detail::is_trivially_move_constructible; +using ::boost::move_detail::is_trivially_copy_assignable; +using ::boost::move_detail::is_trivially_move_assignable; +using ::boost::move_detail::is_nothrow_default_constructible; +using ::boost::move_detail::is_nothrow_copy_constructible; +using ::boost::move_detail::is_nothrow_move_constructible; +using ::boost::move_detail::is_nothrow_copy_assignable; +using ::boost::move_detail::is_nothrow_move_assignable; +using ::boost::move_detail::is_nothrow_swappable; +using ::boost::move_detail::alignment_of; +using ::boost::move_detail::aligned_storage; +using ::boost::move_detail::nat; +using ::boost::move_detail::max_align_t; -template -struct LowPriorityConversion -{ - // Convertible from T with user-defined-conversion rank. - LowPriorityConversion(const U&) { } -}; - -//boost::alignment_of yields to 10K lines of preprocessed code, so we -//need an alternative -template struct alignment_of; - -template -struct alignment_of_hack -{ - char c; - T t; - alignment_of_hack(); -}; - -template -struct alignment_logic -{ - enum{ value = A < S ? A : S }; -}; - -template< typename T > -struct alignment_of -{ - enum{ value = alignment_logic - < sizeof(alignment_of_hack) - sizeof(T) - , sizeof(T)>::value }; -}; - -//This is not standard, but should work with all compilers -union max_align -{ - char char_; - short short_; - int int_; - long long_; - #ifdef BOOST_HAS_LONG_LONG - long long long_long_; - #endif - float float_; - double double_; - long double long_double_; - void * void_ptr_; -}; - -template -struct remove_reference -{ - typedef T type; -}; - -template -struct remove_reference -{ - typedef T type; -}; - -#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES - -template -struct remove_reference -{ - typedef T type; -}; - -#else - -template -struct remove_reference< ::boost::rv > -{ - typedef T type; -}; - -#endif - -template -struct is_reference -{ - enum { value = false }; -}; - -template -struct is_reference -{ - enum { value = true }; -}; - -template -struct is_pointer -{ - enum { value = false }; -}; - -template -struct is_pointer -{ - enum { value = true }; -}; - -template -struct add_reference -{ - typedef T& type; -}; - -template -struct add_reference -{ - typedef T& type; -}; - -template<> -struct add_reference -{ - typedef nat &type; -}; - -template<> -struct add_reference -{ - typedef const nat &type; -}; - -template -struct add_const_reference -{ typedef const T &type; }; - -template -struct add_const_reference -{ typedef T& type; }; - -template -struct is_same -{ - typedef char yes_type; - struct no_type - { - char padding[8]; - }; - - template - static yes_type is_same_tester(V*, V*); - static no_type is_same_tester(...); - - static T *t; - static U *u; - - static const bool value = sizeof(yes_type) == sizeof(is_same_tester(t,u)); -}; - -template -struct remove_const -{ - typedef T type; -}; - -template -struct remove_const< const T> -{ - typedef T type; -}; - -template -struct remove_ref_const -{ - typedef typename remove_const< typename remove_reference::type >::type type; -}; - -} // namespace container_detail +} //namespace container_detail { } //namespace container { } //namespace boost { -#include - #endif //#ifndef BOOST_CONTAINER_CONTAINER_DETAIL_TYPE_TRAITS_HPP diff --git a/3party/boost/boost/container/detail/value_init.hpp b/3party/boost/boost/container/detail/value_init.hpp index 68f9678358..eb4c976d92 100644 --- a/3party/boost/boost/container/detail/value_init.hpp +++ b/3party/boost/boost/container/detail/value_init.hpp @@ -13,7 +13,11 @@ #ifndef BOOST_CONTAINER_DETAIL_VALUE_INIT_HPP #define BOOST_CONTAINER_DETAIL_VALUE_INIT_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif diff --git a/3party/boost/boost/container/detail/variadic_templates_tools.hpp b/3party/boost/boost/container/detail/variadic_templates_tools.hpp index b07fe3050e..ec8b8ceef0 100644 --- a/3party/boost/boost/container/detail/variadic_templates_tools.hpp +++ b/3party/boost/boost/container/detail/variadic_templates_tools.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_DETAIL_VARIADIC_TEMPLATES_TOOLS_HPP #define BOOST_CONTAINER_DETAIL_VARIADIC_TEMPLATES_TOOLS_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif diff --git a/3party/boost/boost/container/detail/version_type.hpp b/3party/boost/boost/container/detail/version_type.hpp index 548fe3bff8..a20b3eedaa 100644 --- a/3party/boost/boost/container/detail/version_type.hpp +++ b/3party/boost/boost/container/detail/version_type.hpp @@ -16,6 +16,14 @@ #ifndef BOOST_CONTAINER_DETAIL_VERSION_TYPE_HPP #define BOOST_CONTAINER_DETAIL_VERSION_TYPE_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include #include @@ -26,8 +34,6 @@ namespace boost{ namespace container { namespace container_detail { -//using namespace boost; - template struct version_type : public container_detail::integral_constant @@ -91,6 +97,11 @@ struct is_version }; } //namespace container_detail { + +typedef container_detail::integral_constant version_0; +typedef container_detail::integral_constant version_1; +typedef container_detail::integral_constant version_2; + } //namespace container { } //namespace boost{ diff --git a/3party/boost/boost/container/detail/workaround.hpp b/3party/boost/boost/container/detail/workaround.hpp index c290861275..026e65d6bb 100644 --- a/3party/boost/boost/container/detail/workaround.hpp +++ b/3party/boost/boost/container/detail/workaround.hpp @@ -11,6 +11,14 @@ #ifndef BOOST_CONTAINER_DETAIL_WORKAROUND_HPP #define BOOST_CONTAINER_DETAIL_WORKAROUND_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)\ @@ -18,18 +26,6 @@ #define BOOST_CONTAINER_PERFECT_FORWARDING #endif -#if defined(BOOST_NO_CXX11_NOEXCEPT) - #if defined(BOOST_MSVC) - #define BOOST_CONTAINER_NOEXCEPT throw() - #else - #define BOOST_CONTAINER_NOEXCEPT - #endif - #define BOOST_CONTAINER_NOEXCEPT_IF(x) -#else - #define BOOST_CONTAINER_NOEXCEPT noexcept - #define BOOST_CONTAINER_NOEXCEPT_IF(x) noexcept(x) -#endif - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && defined(__GXX_EXPERIMENTAL_CXX0X__)\ && (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__ < 40700) #define BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST @@ -58,6 +54,11 @@ #define BOOST_CONTAINER_MEMZEROED_POINTER_IS_NULL #endif +#define BOOST_CONTAINER_DOC1ST(TYPE1, TYPE2) TYPE2 +#define BOOST_CONTAINER_I , +#define BOOST_CONTAINER_DOCIGN(T) T +#define BOOST_CONTAINER_DOCONLY(T) + #include #endif //#ifndef BOOST_CONTAINER_DETAIL_WORKAROUND_HPP diff --git a/3party/boost/boost/container/flat_map.hpp b/3party/boost/boost/container/flat_map.hpp index 7f64e323cf..ef0e1cb252 100644 --- a/3party/boost/boost/container/flat_map.hpp +++ b/3party/boost/boost/container/flat_map.hpp @@ -7,29 +7,46 @@ // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_CONTAINER_FLAT_MAP_HPP #define BOOST_CONTAINER_FLAT_MAP_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include - -#include -#include -#include -#include -#include -#include -#include +// container #include +#include +#include //new_allocator #include -#include +// container/detail +#include +#include +#include +#include //equal() +// move +#include +#include +// move/detail +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif #include -#include +// intrusive +#include //pair +#include //less, equal +//others +#include + +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include +#endif namespace boost { namespace container { @@ -83,7 +100,7 @@ static D force_copy(S s) //! \tparam Allocator is the allocator to allocate the value_types //! (e.g. allocator< std::pair > ). #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template , class Allocator = std::allocator< std::pair< Key, T> > > +template , class Allocator = new_allocator< std::pair< Key, T> > > #else template #endif @@ -110,6 +127,7 @@ class flat_map typedef typename impl_tree_t::value_type impl_value_type; typedef typename impl_tree_t::const_iterator impl_const_iterator; + typedef typename impl_tree_t::iterator impl_iterator; typedef typename impl_tree_t::allocator_type impl_allocator_type; typedef container_detail::flat_tree_value_compare < Compare @@ -123,6 +141,9 @@ class flat_map ::pointer>::reverse_iterator reverse_iterator_impl; typedef typename container_detail::get_flat_tree_iterators ::pointer>::const_reverse_iterator const_reverse_iterator_impl; + public: + typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type; + private: #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED public: @@ -165,7 +186,7 @@ class flat_map flat_map() : m_flat_tree() { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -176,7 +197,7 @@ class flat_map explicit flat_map(const Compare& comp, const allocator_type& a = allocator_type()) : m_flat_tree(comp, container_detail::force(a)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -186,7 +207,7 @@ class flat_map explicit flat_map(const allocator_type& a) : m_flat_tree(container_detail::force(a)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -200,7 +221,20 @@ class flat_map const allocator_type& a = allocator_type()) : m_flat_tree(true, first, last, comp, container_detail::force(a)) { - //Allocator type must be std::pair + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty flat_map using the specified + //! allocator, and inserts elements from the range [first ,last ). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is last - first. + template + flat_map(InputIterator first, InputIterator last, const allocator_type& a) + : m_flat_tree(true, first, last, Compare(), container_detail::force(a)) + { + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -219,17 +253,62 @@ class flat_map , const Compare& comp = Compare(), const allocator_type& a = allocator_type()) : m_flat_tree(ordered_range, first, last, comp, a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs an empty flat_map using the specified comparison object and + //! allocator, and inserts elements from the range [il.begin() ,il.end()). + //! + //! Complexity: Linear in N if the range [il.begin(), il.end()) is already sorted using + //! comp and otherwise N logN, where N is last - first. + flat_map(std::initializer_list il, const Compare& comp = Compare(), + const allocator_type& a = allocator_type()) + : m_flat_tree(true, il.begin(), il.end(), comp, container_detail::force(a)) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty flat_map using the specified + //! allocator, and inserts elements from the range [il.begin() ,il.end()). + //! + //! Complexity: Linear in N if the range [il.begin(), il.end()) is already sorted using + //! comp and otherwise N logN, where N is last - first. + flat_map(std::initializer_list il, const allocator_type& a) + : m_flat_tree(true, il.begin(), il.end(), Compare(), container_detail::force(a)) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty flat_map using the specified comparison object and + //! allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function + //! is more efficient than the normal range creation for ordered ranges. + //! + //! Requires: [il.begin(), il.end()) must be ordered according to the predicate and must be + //! unique values. + //! + //! Complexity: Linear in N. + //! + //! Note: Non-standard extension. + flat_map(ordered_unique_range_t, std::initializer_list il, const Compare& comp = Compare(), + const allocator_type& a = allocator_type()) + : m_flat_tree(ordered_range, il.begin(), il.end(), comp, a) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } +#endif + //! Effects: Copy constructs a flat_map. //! //! Complexity: Linear in x.size(). flat_map(const flat_map& x) : m_flat_tree(x.m_flat_tree) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -242,7 +321,7 @@ class flat_map flat_map(BOOST_RV_REF(flat_map) x) : m_flat_tree(boost::move(x.m_flat_tree)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -252,7 +331,7 @@ class flat_map flat_map(const flat_map& x, const allocator_type &a) : m_flat_tree(x.m_flat_tree, a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -263,7 +342,7 @@ class flat_map flat_map(BOOST_RV_REF(flat_map) x, const allocator_type &a) : m_flat_tree(boost::move(x.m_flat_tree), a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -283,14 +362,25 @@ class flat_map //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. flat_map& operator=(BOOST_RV_REF(flat_map) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) { m_flat_tree = boost::move(x.m_flat_tree); return *this; } - //! Effects: Returns a copy of the Allocator that +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Assign elements from il to *this + flat_map& operator=(std::initializer_list il) + { + this->clear(); + this->insert(il.begin(), il.end()); + return *this; + } +#endif + + //! Effects: Returns a copy of the allocator that //! was passed to the object's constructor. //! //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT + allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.get_allocator()); } //! Effects: Returns a reference to the internal allocator. @@ -300,7 +390,7 @@ class flat_map //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force(m_flat_tree.get_stored_allocator()); } //! Effects: Returns a reference to the internal allocator. @@ -310,7 +400,7 @@ class flat_map //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force(m_flat_tree.get_stored_allocator()); } ////////////////////////////////////////////// @@ -324,7 +414,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.begin()); } //! Effects: Returns a const_iterator to the first element contained in the container. @@ -332,7 +422,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.begin()); } //! Effects: Returns an iterator to the end of the container. @@ -340,7 +430,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT + iterator end() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.end()); } //! Effects: Returns a const_iterator to the end of the container. @@ -348,7 +438,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.end()); } //! Effects: Returns a reverse_iterator pointing to the beginning @@ -357,7 +447,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.rbegin()); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -366,7 +456,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.rbegin()); } //! Effects: Returns a reverse_iterator pointing to the end @@ -375,7 +465,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.rend()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -384,7 +474,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.rend()); } //! Effects: Returns a const_iterator to the first element contained in the container. @@ -392,7 +482,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.cbegin()); } //! Effects: Returns a const_iterator to the end of the container. @@ -400,7 +490,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.cend()); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -409,7 +499,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.crbegin()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -418,7 +508,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.crend()); } ////////////////////////////////////////////// @@ -432,7 +522,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW { return m_flat_tree.empty(); } //! Effects: Returns the number of the elements contained in the container. @@ -440,7 +530,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW { return m_flat_tree.size(); } //! Effects: Returns the largest possible size of the container. @@ -448,7 +538,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW { return m_flat_tree.max_size(); } //! Effects: Number of elements for which memory has been allocated. @@ -457,7 +547,7 @@ class flat_map //! Throws: Nothing. //! //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT + size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW { return m_flat_tree.capacity(); } //! Effects: If n is less than or equal to capacity(), this call has no @@ -491,7 +581,7 @@ class flat_map //! Effects: If there is no key equivalent to x in the flat_map, inserts //! value_type(x, T()) into the flat_map. //! - //! Returns: Allocator reference to the mapped_type corresponding to x in *this. + //! Returns: A reference to the mapped_type corresponding to x in *this. //! //! Complexity: Logarithmic. mapped_type &operator[](const key_type& k); @@ -499,7 +589,7 @@ class flat_map //! Effects: If there is no key equivalent to x in the flat_map, inserts //! value_type(move(x), T()) into the flat_map (the key is move-constructed) //! - //! Returns: Allocator reference to the mapped_type corresponding to x in *this. + //! Returns: A reference to the mapped_type corresponding to x in *this. //! //! Complexity: Logarithmic. mapped_type &operator[](key_type &&k) ; @@ -508,7 +598,23 @@ class flat_map BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript) #endif - //! Returns: Allocator reference to the element whose key is equivalent to x. + //! @copydoc ::boost::container::flat_set::nth(size_type) + iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW + { return container_detail::force_copy(m_flat_tree.nth(n)); } + + //! @copydoc ::boost::container::flat_set::nth(size_type) const + const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW + { return container_detail::force_copy(m_flat_tree.nth(n)); } + + //! @copydoc ::boost::container::flat_set::index_of(iterator) + size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW + { return m_flat_tree.index_of(container_detail::force_copy(p)); } + + //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const + size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW + { return m_flat_tree.index_of(container_detail::force_copy(p)); } + + //! Returns: A reference to the element whose key is equivalent to x. //! //! Throws: An exception object of type out_of_range if no such element is present. //! @@ -522,7 +628,7 @@ class flat_map return i->second; } - //! Returns: Allocator reference to the element whose key is equivalent to x. + //! Returns: A reference to the element whose key is equivalent to x. //! //! Throws: An exception object of type out_of_range if no such element is present. //! @@ -542,7 +648,7 @@ class flat_map // ////////////////////////////////////////////// - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object x of type T constructed with //! std::forward(args)... if and only if there is no element in the container @@ -557,7 +663,7 @@ class flat_map //! //! Note: If an element is inserted it might invalidate elements. template - std::pair emplace(Args&&... args) + std::pair emplace(BOOST_FWD_REF(Args)... args) { return container_detail::force_copy< std::pair >(m_flat_tree.emplace_unique(boost::forward(args)...)); } //! Effects: Inserts an object of type T constructed with @@ -573,32 +679,34 @@ class flat_map //! //! Note: If an element is inserted it might invalidate elements. template - iterator emplace_hint(const_iterator hint, Args&&... args) + iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args) { return container_detail::force_copy (m_flat_tree.emplace_hint_unique( container_detail::force_copy(hint) , boost::forward(args)...)); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return container_detail::force_copy< std::pair > \ - (m_flat_tree.emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return container_detail::force_copy(m_flat_tree.emplace_hint_unique \ - (container_detail::force_copy(hint) \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + std::pair emplace(BOOST_MOVE_UREF##N)\ + {\ + return container_detail::force_copy< std::pair >\ + (m_flat_tree.emplace_unique(BOOST_MOVE_FWD##N));\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + return container_detail::force_copy(m_flat_tree.emplace_hint_unique\ + (container_detail::force_copy(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE) + #undef BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) //! Effects: Inserts x if and only if there is no element in the container //! with key equivalent to the key of x. @@ -612,7 +720,7 @@ class flat_map //! //! Note: If an element is inserted it might invalidate elements. std::pair insert(const value_type& x) - { return container_detail::force_copy >( + { return container_detail::force_copy >( m_flat_tree.insert_unique(container_detail::force(x))); } //! Effects: Inserts a new value_type move constructed from the pair if and @@ -658,10 +766,10 @@ class flat_map //! right before p) plus insertion linear to the elements with bigger keys than x. //! //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, const value_type& x) + iterator insert(const_iterator p, const value_type& x) { return container_detail::force_copy( - m_flat_tree.insert_unique( container_detail::force_copy(position) + m_flat_tree.insert_unique( container_detail::force_copy(p) , container_detail::force(x))); } @@ -674,10 +782,10 @@ class flat_map //! right before p) plus insertion linear to the elements with bigger keys than x. //! //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, BOOST_RV_REF(value_type) x) + iterator insert(const_iterator p, BOOST_RV_REF(value_type) x) { return container_detail::force_copy - (m_flat_tree.insert_unique( container_detail::force_copy(position) + (m_flat_tree.insert_unique( container_detail::force_copy(p) , boost::move(container_detail::force(x)))); } @@ -690,10 +798,10 @@ class flat_map //! right before p) plus insertion linear to the elements with bigger keys than x. //! //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, BOOST_RV_REF(movable_value_type) x) + iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x) { return container_detail::force_copy( - m_flat_tree.insert_unique(container_detail::force_copy(position), boost::move(x))); + m_flat_tree.insert_unique(container_detail::force_copy(p), boost::move(x))); } //! Requires: first, last are not iterators into *this. @@ -728,20 +836,48 @@ class flat_map void insert(ordered_unique_range_t, InputIterator first, InputIterator last) { m_flat_tree.insert_unique(ordered_unique_range, first, last); } - //! Effects: Erases the element pointed to by position. +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: inserts each element from the range [il.begin(), il.end()) if and only + //! if there is no element with key equivalent to the key of that element. + //! + //! Complexity: At most N log(size()+N) (N is the distance from il.first() to il.end()) + //! search time plus N*size() insertion time. + //! + //! Note: If an element is inserted it might invalidate elements. + void insert(std::initializer_list il) + { m_flat_tree.insert_unique(il.begin(), il.end()); } + + //! Requires: [il.begin(), il.end()) must be ordered according to the predicate and must be + //! unique values. + //! + //! Effects: inserts each element from the range [il.begin(), il.end()) if and only + //! if there is no element with key equivalent to the key of that element. This + //! function is more efficient than the normal range creation for ordered ranges. + //! + //! Complexity: At most N log(size()+N) (N is the distance from first to last) + //! search time plus N*size() insertion time. + //! + //! Note: If an element is inserted it might invalidate elements. + //! + //! Note: Non-standard extension. + void insert(ordered_unique_range_t, std::initializer_list il) + { m_flat_tree.insert_unique(ordered_unique_range, il.begin(), il.end()); } +#endif + + //! Effects: Erases the element pointed to by p. //! //! Returns: Returns an iterator pointing to the element immediately //! following q prior to the element being erased. If no such element exists, //! returns end(). //! - //! Complexity: Linear to the elements with keys bigger than position + //! Complexity: Linear to the elements with keys bigger than p //! //! Note: Invalidates elements with keys //! not less than the erased element. - iterator erase(const_iterator position) + iterator erase(const_iterator p) { return container_detail::force_copy - (m_flat_tree.erase(container_detail::force_copy(position))); + (m_flat_tree.erase(container_detail::force_copy(p))); } //! Effects: Erases all elements in the container with key equivalent to x. @@ -774,6 +910,8 @@ class flat_map //! //! Complexity: Constant. void swap(flat_map& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ) { m_flat_tree.swap(x.m_flat_tree); } //! Effects: erase(a.begin(),a.end()). @@ -781,7 +919,7 @@ class flat_map //! Postcondition: size() == 0. //! //! Complexity: linear in size(). - void clear() BOOST_CONTAINER_NOEXCEPT + void clear() BOOST_NOEXCEPT_OR_NOTHROW { m_flat_tree.clear(); } ////////////////////////////////////////////// @@ -817,7 +955,7 @@ class flat_map iterator find(const key_type& x) { return container_detail::force_copy(m_flat_tree.find(x)); } - //! Returns: Allocator const_iterator pointing to an element with the key + //! Returns: A const_iterator pointing to an element with the key //! equivalent to x, or end() if such an element is not found. //! //! Complexity: Logarithmic.s @@ -837,7 +975,7 @@ class flat_map iterator lower_bound(const key_type& x) { return container_detail::force_copy(m_flat_tree.lower_bound(x)); } - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than k, or a.end() if such an element is not found. //! //! Complexity: Logarithmic @@ -851,7 +989,7 @@ class flat_map iterator upper_bound(const key_type& x) { return container_detail::force_copy(m_flat_tree.upper_bound(x)); } - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than x, or end() if such an element is not found. //! //! Complexity: Logarithmic @@ -874,7 +1012,7 @@ class flat_map //! //! Complexity: Linear to the number of elements in the container. friend bool operator==(const flat_map& x, const flat_map& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } + { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); } //! Effects: Returns true if x and y are unequal //! @@ -886,7 +1024,7 @@ class flat_map //! //! Complexity: Linear to the number of elements in the container. friend bool operator<(const flat_map& x, const flat_map& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } + { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } //! Effects: Returns true if x is greater than y //! @@ -944,10 +1082,13 @@ class flat_map //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template -struct has_trivial_destructor_after_move > +template +struct has_trivial_destructor_after_move > { - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; namespace container { @@ -984,7 +1125,7 @@ namespace container { //! \tparam Allocator is the allocator to allocate the value_types //! (e.g. allocator< std::pair > ). #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template , class Allocator = std::allocator< std::pair< Key, T> > > +template , class Allocator = new_allocator< std::pair< Key, T> > > #else template #endif @@ -1009,6 +1150,7 @@ class flat_multimap typedef typename impl_tree_t::value_type impl_value_type; typedef typename impl_tree_t::const_iterator impl_const_iterator; + typedef typename impl_tree_t::iterator impl_iterator; typedef typename impl_tree_t::allocator_type impl_allocator_type; typedef container_detail::flat_tree_value_compare < Compare @@ -1022,6 +1164,9 @@ class flat_multimap ::pointer>::reverse_iterator reverse_iterator_impl; typedef typename container_detail::get_flat_tree_iterators ::pointer>::const_reverse_iterator const_reverse_iterator_impl; + public: + typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type; + private: #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED public: @@ -1063,7 +1208,7 @@ class flat_multimap flat_multimap() : m_flat_tree() { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -1075,7 +1220,7 @@ class flat_multimap const allocator_type& a = allocator_type()) : m_flat_tree(comp, container_detail::force(a)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -1085,7 +1230,7 @@ class flat_multimap explicit flat_multimap(const allocator_type& a) : m_flat_tree(container_detail::force(a)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -1100,7 +1245,20 @@ class flat_multimap const allocator_type& a = allocator_type()) : m_flat_tree(false, first, last, comp, container_detail::force(a)) { - //Allocator type must be std::pair + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty flat_multimap using the specified + //! allocator, and inserts elements from the range [first ,last ). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is last - first. + template + flat_multimap(InputIterator first, InputIterator last, const allocator_type& a) + : m_flat_tree(false, first, last, Compare(), container_detail::force(a)) + { + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -1119,17 +1277,60 @@ class flat_multimap const allocator_type& a = allocator_type()) : m_flat_tree(ordered_range, first, last, comp, a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs an empty flat_map using the specified comparison object and + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [il.begin(), il.end()) is already sorted using + //! comp and otherwise N logN, where N is last - first. + flat_multimap(std::initializer_list il, const Compare& comp = Compare(), const allocator_type& a = allocator_type()) + : m_flat_tree(false, il.begin(), il.end(), comp, container_detail::force(a)) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty flat_map using the specified + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [il.begin(), il.end()) is already sorted using + //! comp and otherwise N logN, where N is last - first. + flat_multimap(std::initializer_list il, const allocator_type& a) + : m_flat_tree(false, il.begin(), il.end(), Compare(), container_detail::force(a)) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty flat_multimap using the specified comparison object and + //! allocator, and inserts elements from the ordered range [il.begin(), il.end()). This function + //! is more efficient than the normal range creation for ordered ranges. + //! + //! Requires: [il.begin(), il.end()) must be ordered according to the predicate. + //! + //! Complexity: Linear in N. + //! + //! Note: Non-standard extension. + flat_multimap(ordered_range_t, std::initializer_list il, const Compare& comp = Compare(), + const allocator_type& a = allocator_type()) + : m_flat_tree(ordered_range, il.begin(), il.end(), comp, a) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } +#endif + //! Effects: Copy constructs a flat_multimap. //! //! Complexity: Linear in x.size(). flat_multimap(const flat_multimap& x) : m_flat_tree(x.m_flat_tree) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -1141,7 +1342,7 @@ class flat_multimap flat_multimap(BOOST_RV_REF(flat_multimap) x) : m_flat_tree(boost::move(x.m_flat_tree)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -1151,7 +1352,7 @@ class flat_multimap flat_multimap(const flat_multimap& x, const allocator_type &a) : m_flat_tree(x.m_flat_tree, a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -1162,7 +1363,7 @@ class flat_multimap flat_multimap(BOOST_RV_REF(flat_multimap) x, const allocator_type &a) : m_flat_tree(boost::move(x.m_flat_tree), a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -1176,14 +1377,27 @@ class flat_multimap //! //! Complexity: Constant. flat_multimap& operator=(BOOST_RV_REF(flat_multimap) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) { m_flat_tree = boost::move(x.m_flat_tree); return *this; } - //! Effects: Returns a copy of the Allocator that +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Assign content of il to *this + //! + //! Complexity: Linear in il.size(). + flat_multimap& operator=(std::initializer_list il) + { + this->clear(); + this->insert(il.begin(), il.end()); + return *this; + } +#endif + + //! Effects: Returns a copy of the allocator that //! was passed to the object's constructor. //! //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT + allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.get_allocator()); } //! Effects: Returns a reference to the internal allocator. @@ -1193,7 +1407,7 @@ class flat_multimap //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force(m_flat_tree.get_stored_allocator()); } //! Effects: Returns a reference to the internal allocator. @@ -1203,7 +1417,7 @@ class flat_multimap //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force(m_flat_tree.get_stored_allocator()); } ////////////////////////////////////////////// @@ -1217,7 +1431,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.begin()); } //! Effects: Returns a const_iterator to the first element contained in the container. @@ -1225,7 +1439,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.begin()); } //! Effects: Returns an iterator to the end of the container. @@ -1233,7 +1447,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT + iterator end() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.end()); } //! Effects: Returns a const_iterator to the end of the container. @@ -1241,7 +1455,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.end()); } //! Effects: Returns a reverse_iterator pointing to the beginning @@ -1250,7 +1464,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.rbegin()); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -1259,7 +1473,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.rbegin()); } //! Effects: Returns a reverse_iterator pointing to the end @@ -1268,7 +1482,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.rend()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -1277,7 +1491,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.rend()); } //! Effects: Returns a const_iterator to the first element contained in the container. @@ -1285,7 +1499,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.cbegin()); } //! Effects: Returns a const_iterator to the end of the container. @@ -1293,7 +1507,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.cend()); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -1302,7 +1516,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.crbegin()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -1311,7 +1525,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::force_copy(m_flat_tree.crend()); } ////////////////////////////////////////////// @@ -1325,7 +1539,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW { return m_flat_tree.empty(); } //! Effects: Returns the number of the elements contained in the container. @@ -1333,7 +1547,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW { return m_flat_tree.size(); } //! Effects: Returns the largest possible size of the container. @@ -1341,7 +1555,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW { return m_flat_tree.max_size(); } //! Effects: Number of elements for which memory has been allocated. @@ -1350,7 +1564,7 @@ class flat_multimap //! Throws: Nothing. //! //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT + size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW { return m_flat_tree.capacity(); } //! Effects: If n is less than or equal to capacity(), this call has no @@ -1374,13 +1588,23 @@ class flat_multimap void shrink_to_fit() { m_flat_tree.shrink_to_fit(); } - ////////////////////////////////////////////// - // - // modifiers - // - ////////////////////////////////////////////// + //! @copydoc ::boost::container::flat_set::nth(size_type) + iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW + { return container_detail::force_copy(m_flat_tree.nth(n)); } - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + //! @copydoc ::boost::container::flat_set::nth(size_type) const + const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW + { return container_detail::force_copy(m_flat_tree.nth(n)); } + + //! @copydoc ::boost::container::flat_set::index_of(iterator) + size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW + { return m_flat_tree.index_of(container_detail::force_copy(p)); } + + //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const + size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW + { return m_flat_tree.index_of(container_detail::force_copy(p)); } + + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type T constructed with //! std::forward(args)... and returns the iterator pointing to the @@ -1391,7 +1615,7 @@ class flat_multimap //! //! Note: If an element is inserted it might invalidate elements. template - iterator emplace(Args&&... args) + iterator emplace(BOOST_FWD_REF(Args)... args) { return container_detail::force_copy(m_flat_tree.emplace_equal(boost::forward(args)...)); } //! Effects: Inserts an object of type T constructed with @@ -1407,31 +1631,30 @@ class flat_multimap //! //! Note: If an element is inserted it might invalidate elements. template - iterator emplace_hint(const_iterator hint, Args&&... args) + iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args) { return container_detail::force_copy(m_flat_tree.emplace_hint_equal (container_detail::force_copy(hint), boost::forward(args)...)); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return container_detail::force_copy(m_flat_tree.emplace_equal \ - (BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return container_detail::force_copy(m_flat_tree.emplace_hint_equal \ - (container_detail::force_copy(hint) \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace(BOOST_MOVE_UREF##N)\ + { return container_detail::force_copy(m_flat_tree.emplace_equal(BOOST_MOVE_FWD##N)); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + return container_detail::force_copy(m_flat_tree.emplace_hint_equal\ + (container_detail::force_copy(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE) + #undef BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) //! Effects: Inserts x and returns the iterator pointing to the //! newly inserted element. @@ -1477,10 +1700,10 @@ class flat_multimap //! to the elements with bigger keys than x. //! //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, const value_type& x) + iterator insert(const_iterator p, const value_type& x) { return container_detail::force_copy - (m_flat_tree.insert_equal( container_detail::force_copy(position) + (m_flat_tree.insert_equal( container_detail::force_copy(p) , container_detail::force(x))); } @@ -1495,10 +1718,10 @@ class flat_multimap //! to the elements with bigger keys than x. //! //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, BOOST_RV_REF(value_type) x) + iterator insert(const_iterator p, BOOST_RV_REF(value_type) x) { return container_detail::force_copy - (m_flat_tree.insert_equal(container_detail::force_copy(position) + (m_flat_tree.insert_equal(container_detail::force_copy(p) , boost::move(x))); } @@ -1513,10 +1736,10 @@ class flat_multimap //! to the elements with bigger keys than x. //! //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, BOOST_RV_REF(impl_value_type) x) + iterator insert(const_iterator p, BOOST_RV_REF(impl_value_type) x) { return container_detail::force_copy( - m_flat_tree.insert_equal(container_detail::force_copy(position), boost::move(x))); + m_flat_tree.insert_equal(container_detail::force_copy(p), boost::move(x))); } //! Requires: first, last are not iterators into *this. @@ -1549,20 +1772,46 @@ class flat_multimap void insert(ordered_range_t, InputIterator first, InputIterator last) { m_flat_tree.insert_equal(ordered_range, first, last); } - //! Effects: Erases the element pointed to by position. +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: inserts each element from the range [il.begin(), il.end()) . + //! + //! Complexity: At most N log(size()+N) (N is the distance from first to last) + //! search time plus N*size() insertion time. + //! + //! Note: If an element is inserted it might invalidate elements. + void insert(std::initializer_list il) + { m_flat_tree.insert_equal(il.begin(), il.end()); } + + //! Requires: [il.begin(), il.end()) must be ordered according to the predicate. + //! + //! Effects: inserts each element from the range [il.begin(), il.end()) if and only + //! if there is no element with key equivalent to the key of that element. This + //! function is more efficient than the normal range creation for ordered ranges. + //! + //! Complexity: At most N log(size()+N) (N is the distance from first to last) + //! search time plus N*size() insertion time. + //! + //! Note: If an element is inserted it might invalidate elements. + //! + //! Note: Non-standard extension. + void insert(ordered_range_t, std::initializer_list il) + { m_flat_tree.insert_equal(ordered_range, il.begin(), il.end()); } +#endif + + //! Effects: Erases the element pointed to by p. //! //! Returns: Returns an iterator pointing to the element immediately //! following q prior to the element being erased. If no such element exists, //! returns end(). //! - //! Complexity: Linear to the elements with keys bigger than position + //! Complexity: Linear to the elements with keys bigger than p //! //! Note: Invalidates elements with keys //! not less than the erased element. - iterator erase(const_iterator position) + iterator erase(const_iterator p) { return container_detail::force_copy( - m_flat_tree.erase(container_detail::force_copy(position))); + m_flat_tree.erase(container_detail::force_copy(p))); } //! Effects: Erases all elements in the container with key equivalent to x. @@ -1595,6 +1844,8 @@ class flat_multimap //! //! Complexity: Constant. void swap(flat_multimap& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ) { m_flat_tree.swap(x.m_flat_tree); } //! Effects: erase(a.begin(),a.end()). @@ -1602,7 +1853,7 @@ class flat_multimap //! Postcondition: size() == 0. //! //! Complexity: linear in size(). - void clear() BOOST_CONTAINER_NOEXCEPT + void clear() BOOST_NOEXCEPT_OR_NOTHROW { m_flat_tree.clear(); } ////////////////////////////////////////////// @@ -1658,7 +1909,7 @@ class flat_multimap iterator lower_bound(const key_type& x) { return container_detail::force_copy(m_flat_tree.lower_bound(x)); } - //! Returns: Allocator const iterator pointing to the first element with key + //! Returns: A const iterator pointing to the first element with key //! not less than k, or a.end() if such an element is not found. //! //! Complexity: Logarithmic @@ -1672,7 +1923,7 @@ class flat_multimap iterator upper_bound(const key_type& x) {return container_detail::force_copy(m_flat_tree.upper_bound(x)); } - //! Returns: Allocator const iterator pointing to the first element with key + //! Returns: A const iterator pointing to the first element with key //! not less than x, or end() if such an element is not found. //! //! Complexity: Logarithmic @@ -1695,7 +1946,7 @@ class flat_multimap //! //! Complexity: Linear to the number of elements in the container. friend bool operator==(const flat_multimap& x, const flat_multimap& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } + { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); } //! Effects: Returns true if x and y are unequal //! @@ -1707,7 +1958,7 @@ class flat_multimap //! //! Complexity: Linear to the number of elements in the container. friend bool operator<(const flat_multimap& x, const flat_multimap& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } + { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } //! Effects: Returns true if x is greater than y //! @@ -1742,10 +1993,13 @@ namespace boost { //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template -struct has_trivial_destructor_after_move< boost::container::flat_multimap > +template +struct has_trivial_destructor_after_move< boost::container::flat_multimap > { - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; } //namespace boost { @@ -1754,4 +2008,4 @@ struct has_trivial_destructor_after_move< boost::container::flat_multimap -#endif /* BOOST_CONTAINER_FLAT_MAP_HPP */ +#endif // BOOST_CONTAINER_FLAT_MAP_HPP diff --git a/3party/boost/boost/container/flat_set.hpp b/3party/boost/boost/container/flat_set.hpp index 96f2a91f89..8f592798d2 100644 --- a/3party/boost/boost/container/flat_set.hpp +++ b/3party/boost/boost/container/flat_set.hpp @@ -7,26 +7,42 @@ // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_CONTAINER_FLAT_SET_HPP #define BOOST_CONTAINER_FLAT_SET_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include +// container +#include #include -#include -#include -#include +#include //new_allocator +// container/detail #include #include -#include -#include +// move +#include +#include +// move/detail +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif #include +// intrusive/detail +#include //pair +#include //less, equal +// std +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include +#endif namespace boost { namespace container { @@ -47,7 +63,7 @@ namespace container { //! \tparam Compare is the comparison functor used to order keys //! \tparam Allocator is the allocator to be used to allocate memory for this container #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template , class Allocator = std::allocator > +template , class Allocator = new_allocator > #else template #endif @@ -128,6 +144,16 @@ class flat_set : base_t(true, first, last, comp, a) {} + //! Effects: Constructs an empty container using the specified + //! allocator, and inserts elements from the range [first ,last ). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is last - first. + template + flat_set(InputIterator first, InputIterator last, const allocator_type& a) + : base_t(true, first, last, Compare(), a) + {} + //! Effects: Constructs an empty container using the specified comparison object and //! allocator, and inserts elements from the ordered unique range [first ,last). This function //! is more efficient than the normal range creation for ordered ranges. @@ -145,6 +171,42 @@ class flat_set : base_t(ordered_range, first, last, comp, a) {} +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs an empty container using the specified comparison object and + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [il.begin(), il.end()) is already sorted using + //! comp and otherwise N logN, where N is il.begin() - il.end(). + flat_set(std::initializer_list il, const Compare& comp = Compare(), + const allocator_type& a = allocator_type()) + : base_t(true, il.begin(), il.end(), comp, a) + {} + + //! Effects: Constructs an empty container using the specified + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [il.begin(), il.end()) is already sorted using + //! comp and otherwise N logN, where N is il.begin() - il.end(). + flat_set(std::initializer_list il, const allocator_type& a) + : base_t(true, il.begin(), il.end(), Compare(), a) + {} + + //! Effects: Constructs an empty container using the specified comparison object and + //! allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function + //! is more efficient than the normal range creation for ordered ranges. + //! + //! Requires: [il.begin(), il.end()) must be ordered according to the predicate and must be + //! unique values. + //! + //! Complexity: Linear in N. + //! + //! Note: Non-standard extension. + flat_set(ordered_unique_range_t, std::initializer_list il, + const Compare& comp = Compare(), const allocator_type& a = allocator_type()) + : base_t(ordered_range, il.begin(), il.end(), comp, a) + {} +#endif + //! Effects: Copy constructs the container. //! //! Complexity: Linear in x.size(). @@ -152,13 +214,13 @@ class flat_set : base_t(static_cast(x)) {} - //! Effects: Move constructs thecontainer. Constructs *this using mx's resources. + //! Effects: Move constructs thecontainer. Constructs *this using x's resources. //! //! Complexity: Constant. //! - //! Postcondition: mx is emptied. - flat_set(BOOST_RV_REF(flat_set) mx) - : base_t(boost::move(static_cast(mx))) + //! Postcondition: x is emptied. + flat_set(BOOST_RV_REF(flat_set) x) + : base_t(BOOST_MOVE_BASE(base_t, x)) {} //! Effects: Copy constructs a container using the specified allocator. @@ -169,11 +231,11 @@ class flat_set {} //! Effects: Move constructs a container using the specified allocator. - //! Constructs *this using mx's resources. + //! Constructs *this using x's resources. //! - //! Complexity: Constant if a == mx.get_allocator(), linear otherwise - flat_set(BOOST_RV_REF(flat_set) mx, const allocator_type &a) - : base_t(boost::move(static_cast(mx)), a) + //! Complexity: Constant if a == x.get_allocator(), linear otherwise + flat_set(BOOST_RV_REF(flat_set) x, const allocator_type &a) + : base_t(BOOST_MOVE_BASE(base_t, x), a) {} //! Effects: Makes *this a copy of x. @@ -189,15 +251,28 @@ class flat_set //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. flat_set& operator=(BOOST_RV_REF(flat_set) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) + { return static_cast(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); } + +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Copy all elements from il to *this. + //! + //! Complexity: Linear in il.size(). + flat_set& operator=(std::initializer_list il) + { + this->clear(); + this->insert(il.begin(), il.end()); + return *this; + } +#endif #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - //! Effects: Returns a copy of the Allocator that + //! Effects: Returns a copy of the allocator that //! was passed to the object's constructor. //! //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT; + allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a reference to the internal allocator. //! @@ -206,7 +281,7 @@ class flat_set //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT; + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a reference to the internal allocator. //! @@ -215,35 +290,35 @@ class flat_set //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT; + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns an iterator to the first element contained in the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT; + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_iterator to the first element contained in the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT; + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns an iterator to the end of the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT; + iterator end() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_iterator to the end of the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a reverse_iterator pointing to the beginning //! of the reversed container. @@ -251,7 +326,7 @@ class flat_set //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_reverse_iterator pointing to the beginning //! of the reversed container. @@ -259,7 +334,7 @@ class flat_set //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a reverse_iterator pointing to the end //! of the reversed container. @@ -267,7 +342,7 @@ class flat_set //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_reverse_iterator pointing to the end //! of the reversed container. @@ -275,21 +350,21 @@ class flat_set //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_iterator to the first element contained in the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_iterator to the end of the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_reverse_iterator pointing to the beginning //! of the reversed container. @@ -297,7 +372,7 @@ class flat_set //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_reverse_iterator pointing to the end //! of the reversed container. @@ -305,28 +380,28 @@ class flat_set //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns true if the container contains no elements. //! //! Throws: Nothing. //! //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT; + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns the number of the elements contained in the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT; + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns the largest possible size of the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT; + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Number of elements for which memory has been allocated. //! capacity() is always greater than or equal to size(). @@ -334,7 +409,7 @@ class flat_set //! Throws: Nothing. //! //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT; + size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: If n is less than or equal to capacity(), this call has no //! effect. Otherwise, it is a request for allocation of additional memory. @@ -363,7 +438,7 @@ class flat_set // ////////////////////////////////////////////// - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object x of type Key constructed with //! std::forward(args)... if and only if there is no element in the container @@ -378,7 +453,7 @@ class flat_set //! //! Note: If an element is inserted it might invalidate elements. template - std::pair emplace(Args&&... args) + std::pair emplace(BOOST_FWD_REF(Args)... args) { return this->base_t::emplace_unique(boost::forward(args)...); } //! Effects: Inserts an object of type Key constructed with @@ -394,26 +469,24 @@ class flat_set //! //! Note: If an element is inserted it might invalidate elements. template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_unique(hint, boost::forward(args)...); } + iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args) + { return this->base_t::emplace_hint_unique(p, boost::forward(args)...); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); }\ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_unique \ - (hint BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_FLAT_SET_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + std::pair emplace(BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_unique(BOOST_MOVE_FWD##N); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_hint_unique(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_SET_EMPLACE_CODE) + #undef BOOST_CONTAINER_FLAT_SET_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts x if and only if there is no element in the container @@ -471,7 +544,7 @@ class flat_set //! right before p) plus insertion linear to the elements with bigger keys than x. //! //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, value_type &&x); + iterator insert(const_iterator p, value_type &&x); #else BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) #endif @@ -504,19 +577,44 @@ class flat_set void insert(ordered_unique_range_t, InputIterator first, InputIterator last) { this->base_t::insert_unique(ordered_unique_range, first, last); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: inserts each element from the range [il.begin(), il.end()) if and only + //! if there is no element with key equivalent to the key of that element. + //! + //! Complexity: At most N log(size()+N) (N is the distance from il.begin() to il.end()) + //! search time plus N*size() insertion time. + //! + //! Note: If an element is inserted it might invalidate elements. + void insert(std::initializer_list il) + { this->base_t::insert_unique(il.begin(), il.end()); } + + //! Requires: Range [il.begin(), il.end()) must be ordered according to the predicate + //! and must be unique values. + //! + //! Effects: inserts each element from the range [il.begin(), il.end()) .This function + //! is more efficient than the normal range creation for ordered ranges. + //! + //! Complexity: At most N log(size()+N) (N is the distance from il.begin() to il.end()) + //! search time plus N*size() insertion time. + //! + //! Note: Non-standard extension. If an element is inserted it might invalidate elements. + void insert(ordered_unique_range_t, std::initializer_list il) + { this->base_t::insert_unique(ordered_unique_range, il.begin(), il.end()); } +#endif + #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Erases the element pointed to by position. + //! Effects: Erases the element pointed to by p. //! //! Returns: Returns an iterator pointing to the element immediately //! following q prior to the element being erased. If no such element exists, //! returns end(). //! - //! Complexity: Linear to the elements with keys bigger than position + //! Complexity: Linear to the elements with keys bigger than p //! //! Note: Invalidates elements with keys //! not less than the erased element. - iterator erase(const_iterator position); + iterator erase(const_iterator p); //! Effects: Erases all elements in the container with key equivalent to x. //! @@ -541,14 +639,16 @@ class flat_set //! Throws: Nothing. //! //! Complexity: Constant. - void swap(flat_set& x); + void swap(flat_set& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ); //! Effects: erase(a.begin(),a.end()). //! //! Postcondition: size() == 0. //! //! Complexity: linear in size(). - void clear() BOOST_CONTAINER_NOEXCEPT; + void clear() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns the comparison object out //! of which a was constructed. @@ -568,12 +668,63 @@ class flat_set //! Complexity: Logarithmic. iterator find(const key_type& x); - //! Returns: Allocator const_iterator pointing to an element with the key + //! Returns: A const_iterator pointing to an element with the key //! equivalent to x, or end() if such an element is not found. //! //! Complexity: Logarithmic. const_iterator find(const key_type& x) const; + //! Requires: size() >= n. + //! + //! Effects: Returns an iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW; + + //! Requires: size() >= n. + //! + //! Effects: Returns a const_iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW; + + //! Requires: size() >= n. + //! + //! Effects: Returns an iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW; + + //! Requires: begin() <= p <= end(). + //! + //! Effects: Returns the index of the element pointed by p + //! and size() if p == end(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW; + #endif // #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Returns: The number of elements with key equivalent to x. @@ -589,7 +740,7 @@ class flat_set //! Complexity: Logarithmic iterator lower_bound(const key_type& x); - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than k, or a.end() if such an element is not found. //! //! Complexity: Logarithmic @@ -601,7 +752,7 @@ class flat_set //! Complexity: Logarithmic iterator upper_bound(const key_type& x); - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than x, or end() if such an element is not found. //! //! Complexity: Logarithmic @@ -678,10 +829,13 @@ class flat_set //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template -struct has_trivial_destructor_after_move > +template +struct has_trivial_destructor_after_move > { - static const bool value = has_trivial_destructor_after_move::value &&has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; namespace container { @@ -705,7 +859,7 @@ namespace container { //! \tparam Compare is the comparison functor used to order keys //! \tparam Allocator is the allocator to be used to allocate memory for this container #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template , class Allocator = std::allocator > +template , class Allocator = new_allocator > #else template #endif @@ -768,6 +922,12 @@ class flat_multiset : base_t(false, first, last, comp, a) {} + //! @copydoc ::boost::container::flat_set::flat_set(InputIterator, InputIterator, const allocator_type&) + template + flat_multiset(InputIterator first, InputIterator last, const allocator_type& a) + : base_t(false, first, last, Compare(), a) + {} + //! Effects: Constructs an empty flat_multiset using the specified comparison object and //! allocator, and inserts elements from the ordered range [first ,last ). This function //! is more efficient than the normal range creation for ordered ranges. @@ -784,14 +944,33 @@ class flat_multiset : base_t(ordered_range, first, last, comp, a) {} +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! @copydoc ::boost::container::flat_set::flat_set(std::initializer_list, const Compare& comp, const allocator_type&) + flat_multiset(std::initializer_list il, const Compare& comp = Compare(), + const allocator_type& a = allocator_type()) + : base_t(false, il.begin(), il.end(), comp, a) + {} + + //! @copydoc ::boost::container::flat_set::flat_set(std::initializer_list, const allocator_type&) + flat_multiset(std::initializer_list il, const allocator_type& a) + : base_t(false, il.begin(), il.end(), Compare(), a) + {} + + //! @copydoc ::boost::container::flat_set::flat_set(ordered_unique_range_t, std::initializer_list, const Compare& comp, const allocator_type&) + flat_multiset(ordered_unique_range_t, std::initializer_list il, + const Compare& comp = Compare(), const allocator_type& a = allocator_type()) + : base_t(ordered_range, il.begin(), il.end(), comp, a) + {} +#endif + //! @copydoc ::boost::container::flat_set::flat_set(const flat_set &) flat_multiset(const flat_multiset& x) : base_t(static_cast(x)) {} //! @copydoc ::boost::container::flat_set(flat_set &&) - flat_multiset(BOOST_RV_REF(flat_multiset) mx) - : base_t(boost::move(static_cast(mx))) + flat_multiset(BOOST_RV_REF(flat_multiset) x) + : base_t(boost::move(static_cast(x))) {} //! @copydoc ::boost::container::flat_set(const flat_set &, const allocator_type &) @@ -800,8 +979,8 @@ class flat_multiset {} //! @copydoc ::boost::container::flat_set(flat_set &&, const allocator_type &) - flat_multiset(BOOST_RV_REF(flat_multiset) mx, const allocator_type &a) - : base_t(boost::move(static_cast(mx)), a) + flat_multiset(BOOST_RV_REF(flat_multiset) x, const allocator_type &a) + : base_t(BOOST_MOVE_BASE(base_t, x), a) {} //! @copydoc ::boost::container::flat_set::operator=(const flat_set &) @@ -809,68 +988,79 @@ class flat_multiset { return static_cast(this->base_t::operator=(static_cast(x))); } //! @copydoc ::boost::container::flat_set::operator=(flat_set &&) - flat_multiset& operator=(BOOST_RV_REF(flat_multiset) mx) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { return static_cast(this->base_t::operator=(boost::move(static_cast(mx)))); } + flat_multiset& operator=(BOOST_RV_REF(flat_multiset) x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) + { return static_cast(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); } + +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! @copydoc ::boost::container::flat_set::operator=(std::initializer_list) + flat_multiset& operator=(std::initializer_list il) + { + this->clear(); + this->insert(il.begin(), il.end()); + return *this; + } +#endif #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! @copydoc ::boost::container::flat_set::get_allocator() - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT; + allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::get_stored_allocator() - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT; + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::get_stored_allocator() const - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT; + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::begin() - iterator begin() BOOST_CONTAINER_NOEXCEPT; + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::begin() const const_iterator begin() const; //! @copydoc ::boost::container::flat_set::cbegin() const - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::end() - iterator end() BOOST_CONTAINER_NOEXCEPT; + iterator end() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::end() const - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::cend() const - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::rbegin() - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::rbegin() const - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::crbegin() const - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::rend() - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::rend() const - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::crend() const - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::empty() const - bool empty() const BOOST_CONTAINER_NOEXCEPT; + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::size() const - size_type size() const BOOST_CONTAINER_NOEXCEPT; + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::max_size() const - size_type max_size() const BOOST_CONTAINER_NOEXCEPT; + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::capacity() const - size_type capacity() const BOOST_CONTAINER_NOEXCEPT; + size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::reserve(size_type) void reserve(size_type cnt); @@ -886,7 +1076,7 @@ class flat_multiset // ////////////////////////////////////////////// - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type Key constructed with //! std::forward(args)... and returns the iterator pointing to the @@ -897,7 +1087,7 @@ class flat_multiset //! //! Note: If an element is inserted it might invalidate elements. template - iterator emplace(Args&&... args) + iterator emplace(BOOST_FWD_REF(Args)... args) { return this->base_t::emplace_equal(boost::forward(args)...); } //! Effects: Inserts an object of type Key constructed with @@ -912,26 +1102,24 @@ class flat_multiset //! //! Note: If an element is inserted it might invalidate elements. template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_equal(hint, boost::forward(args)...); } + iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args) + { return this->base_t::emplace_hint_equal(p, boost::forward(args)...); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_equal \ - (hint BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_FLAT_MULTISET_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace(BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_equal(BOOST_MOVE_FWD##N); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_hint_equal(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_FLAT_MULTISET_EMPLACE_CODE) + #undef BOOST_CONTAINER_FLAT_MULTISET_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts x and returns the iterator pointing to the @@ -978,7 +1166,7 @@ class flat_multiset //! right before p) plus insertion linear to the elements with bigger keys than x. //! //! Note: If an element is inserted it might invalidate elements. - iterator insert(const_iterator position, value_type &&x); + iterator insert(const_iterator p, value_type &&x); #else BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) #endif @@ -1009,10 +1197,33 @@ class flat_multiset void insert(ordered_range_t, InputIterator first, InputIterator last) { this->base_t::insert_equal(ordered_range, first, last); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: inserts each element from the range [il.begin(), il.end()). + //! + //! Complexity: At most N log(size()+N) (N is the distance from first to last) + //! search time plus N*size() insertion time. + //! + //! Note: If an element is inserted it might invalidate elements. + void insert(std::initializer_list il) + { this->base_t::insert_equal(il.begin(), il.end()); } + + //! Requires: Range [il.begin(), il.end()) must be ordered according to the predicate. + //! + //! Effects: inserts each element from the range [il.begin(), il.end()). This function + //! is more efficient than the normal range creation for ordered ranges. + //! + //! Complexity: At most N log(size()+N) (N is the distance from il.begin() to il.end()) + //! search time plus N*size() insertion time. + //! + //! Note: Non-standard extension. If an element is inserted it might invalidate elements. + void insert(ordered_range_t, std::initializer_list il) + { this->base_t::insert_equal(ordered_range, il.begin(), il.end()); } +#endif + #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! @copydoc ::boost::container::flat_set::erase(const_iterator) - iterator erase(const_iterator position); + iterator erase(const_iterator p); //! @copydoc ::boost::container::flat_set::erase(const key_type&) size_type erase(const key_type& x); @@ -1021,10 +1232,12 @@ class flat_multiset iterator erase(const_iterator first, const_iterator last); //! @copydoc ::boost::container::flat_set::swap - void swap(flat_multiset& x); + void swap(flat_multiset& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ); //! @copydoc ::boost::container::flat_set::clear - void clear() BOOST_CONTAINER_NOEXCEPT; + void clear() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::flat_set::key_comp key_compare key_comp() const; @@ -1038,6 +1251,18 @@ class flat_multiset //! @copydoc ::boost::container::flat_set::find(const key_type& ) const const_iterator find(const key_type& x) const; + //! @copydoc ::boost::container::flat_set::nth(size_type) + iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW; + + //! @copydoc ::boost::container::flat_set::nth(size_type) const + const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW; + + //! @copydoc ::boost::container::flat_set::index_of(iterator) + size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW; + + //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const + size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW; + //! @copydoc ::boost::container::flat_set::count(const key_type& ) const size_type count(const key_type& x) const; @@ -1114,10 +1339,13 @@ class flat_multiset //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template -struct has_trivial_destructor_after_move > +template +struct has_trivial_destructor_after_move > { - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; namespace container { @@ -1128,4 +1356,4 @@ namespace container { #include -#endif /* BOOST_CONTAINER_FLAT_SET_HPP */ +#endif // BOOST_CONTAINER_FLAT_SET_HPP diff --git a/3party/boost/boost/container/list.hpp b/3party/boost/boost/container/list.hpp index 291c190035..5135eaecee 100644 --- a/3party/boost/boost/container/list.hpp +++ b/3party/boost/boost/container/list.hpp @@ -6,43 +6,52 @@ // // See http://www.boost.org/libs/container for documentation. // - +////////////////////////////////////////////////////////////////////////////// #ifndef BOOST_CONTAINER_LIST_HPP #define BOOST_CONTAINER_LIST_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include + +// container #include -#include +#include //new_allocator +#include +// container/detail +#include +#include +#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include #include - -#if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) -#else -//Preprocessor library to emulate perfect forwarding -#include +#include +// move +#include +#include +#include +// move/detail +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +# include #endif +#include -#include -#include -#include -#include -#include +// intrusive +#include +#include +// other +#include +// std +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include +#endif namespace boost { namespace container { @@ -77,6 +86,11 @@ struct list_node { return this->m_data; } }; +template +struct iiterator_node_value_type< list_node > { + typedef T type; +}; + template struct intrusive_list_type { @@ -115,7 +129,7 @@ struct intrusive_list_type //! \tparam T The type of object that is stored in the list //! \tparam Allocator The allocator used for all internal memory management #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template > +template > #else template #endif @@ -132,44 +146,14 @@ class list typedef typename AllocHolder::ValAlloc ValAlloc; typedef typename AllocHolder::Node Node; typedef container_detail::allocator_destroyer Destroyer; - typedef typename AllocHolder::allocator_v1 allocator_v1; - typedef typename AllocHolder::allocator_v2 allocator_v2; typedef typename AllocHolder::alloc_version alloc_version; typedef boost::container::allocator_traits allocator_traits_type; - - class equal_to_value - { - typedef typename AllocHolder::value_type value_type; - const value_type &t_; - - public: - equal_to_value(const value_type &t) - : t_(t) - {} - - bool operator()(const value_type &t)const - { return t_ == t; } - }; - - template - struct ValueCompareToNodeCompare - : Pred - { - ValueCompareToNodeCompare(Pred pred) - : Pred(pred) - {} - - bool operator()(const Node &a, const Node &b) const - { return static_cast(*this)(a.m_data, b.m_data); } - - bool operator()(const Node &a) const - { return static_cast(*this)(a.m_data); } - }; + typedef boost::container::equal_to_value equal_to_value_type; BOOST_COPYABLE_AND_MOVABLE(list) - typedef container_detail::iterator iterator_impl; - typedef container_detail::iterator const_iterator_impl; + typedef container_detail::iterator_from_iiterator iterator_impl; + typedef container_detail::iterator_from_iiterator const_iterator_impl; #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED public: @@ -190,8 +174,8 @@ class list typedef BOOST_CONTAINER_IMPDEF(NodeAlloc) stored_allocator_type; typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator; typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) const_reverse_iterator; ////////////////////////////////////////////// // @@ -213,10 +197,21 @@ class list //! Throws: Nothing //! //! Complexity: Constant. - explicit list(const allocator_type &a) BOOST_CONTAINER_NOEXCEPT + explicit list(const allocator_type &a) BOOST_NOEXCEPT_OR_NOTHROW : AllocHolder(a) {} + //! Effects: Constructs a list + //! and inserts n value-initialized value_types. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's default or copy constructor throws. + //! + //! Complexity: Linear to n. + explicit list(size_type n) + : AllocHolder(Allocator()) + { this->resize(n); } + //! Effects: Constructs a list that will use a copy of allocator a //! and inserts n copies of value. //! @@ -224,8 +219,8 @@ class list //! throws or T's default or copy constructor throws. //! //! Complexity: Linear to n. - explicit list(size_type n) - : AllocHolder(Allocator()) + list(size_type n, const allocator_type &a) + : AllocHolder(a) { this->resize(n); } //! Effects: Constructs a list that will use a copy of allocator a @@ -250,13 +245,13 @@ class list : AllocHolder(x) { this->insert(this->cbegin(), x.begin(), x.end()); } - //! Effects: Move constructor. Moves mx's resources to *this. + //! Effects: Move constructor. Moves x's resources to *this. //! //! Throws: If allocator_type's copy constructor throws. //! //! Complexity: Constant. list(BOOST_RV_REF(list) x) - : AllocHolder(boost::move(static_cast(x))) + : AllocHolder(BOOST_MOVE_BASE(AllocHolder, x)) {} //! Effects: Copy constructs a list using the specified allocator. @@ -271,7 +266,7 @@ class list { this->insert(this->cbegin(), x.begin(), x.end()); } //! Effects: Move constructor sing the specified allocator. - //! Moves mx's resources to *this. + //! Moves x's resources to *this. //! //! Throws: If allocation or value_type's copy constructor throws. //! @@ -283,7 +278,7 @@ class list this->icont().swap(x.icont()); } else{ - this->insert(this->cbegin(), x.begin(), x.end()); + this->insert(this->cbegin(), boost::make_move_iterator(x.begin()), boost::make_move_iterator(x.end())); } } @@ -299,13 +294,28 @@ class list : AllocHolder(a) { this->insert(this->cbegin(), first, last); } + +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs a list that will use a copy of allocator a + //! and inserts a copy of the range [il.begin(), il.end()) in the list. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's constructor taking a dereferenced + //! std::initializer_list iterator throws. + //! + //! Complexity: Linear to the range [il.begin(), il.end()). + list(std::initializer_list il, const Allocator &a = Allocator()) + : AllocHolder(a) + { this->insert(this->cbegin(), il.begin(), il.end()); } +#endif + //! Effects: Destroys the list. All stored values are destroyed //! and used memory is deallocated. //! //! Throws: Nothing. //! //! Complexity: Linear to the number of elements. - ~list() BOOST_CONTAINER_NOEXCEPT + ~list() BOOST_NOEXCEPT_OR_NOTHROW {} //AllocHolder clears the list //! Effects: Makes *this contain the same elements as x. @@ -344,7 +354,8 @@ class list //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. list& operator=(BOOST_RV_REF(list) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) + BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value + || allocator_traits_type::is_always_equal::value) { BOOST_ASSERT(this != &x); NodeAlloc &this_alloc = this->node_alloc(); @@ -370,6 +381,22 @@ class list return *this; } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Makes *this contain the same elements as il. + //! + //! Postcondition: this->size() == il.size(). *this contains a copy + //! of each of x's elements. + //! + //! Throws: If memory allocation throws or T's copy constructor throws. + //! + //! Complexity: Linear to the number of elements in x. + list& operator=(std::initializer_list il) + { + assign(il.begin(), il.end()); + return *this; + } +#endif + //! Effects: Assigns the n copies of val to *this. //! //! Throws: If memory allocation throws or T's copy constructor throws. @@ -390,9 +417,7 @@ class list template void assign(InpIt first, InpIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - >::type * = 0 + , typename container_detail::disable_if_convertible::type * = 0 #endif ) { @@ -407,12 +432,23 @@ class list } } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Assigns the the range [il.begin(), il.end()) to *this. + //! + //! Throws: If memory allocation throws or + //! T's constructor from dereferencing std::initializer_list iterator throws. + //! + //! Complexity: Linear to n. + void assign(std::initializer_list il) + { assign(il.begin(), il.end()); } +#endif + //! Effects: Returns a copy of the internal allocator. //! //! Throws: If allocator's copy constructor throws. //! //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT + allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return allocator_type(this->node_alloc()); } //! Effects: Returns a reference to the internal allocator. @@ -422,7 +458,7 @@ class list //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return this->node_alloc(); } //! Effects: Returns a reference to the internal allocator. @@ -432,7 +468,7 @@ class list //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return this->node_alloc(); } ////////////////////////////////////////////// @@ -446,7 +482,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->icont().begin()); } //! Effects: Returns a const_iterator to the first element contained in the list. @@ -454,7 +490,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->cbegin(); } //! Effects: Returns an iterator to the end of the list. @@ -462,7 +498,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT + iterator end() BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->icont().end()); } //! Effects: Returns a const_iterator to the end of the list. @@ -470,7 +506,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW { return this->cend(); } //! Effects: Returns a reverse_iterator pointing to the beginning @@ -479,7 +515,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(end()); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -488,7 +524,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->crbegin(); } //! Effects: Returns a reverse_iterator pointing to the end @@ -497,7 +533,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(begin()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -506,7 +542,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW { return this->crend(); } //! Effects: Returns a const_iterator to the first element contained in the list. @@ -514,7 +550,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_iterator(this->non_const_icont().begin()); } //! Effects: Returns a const_iterator to the end of the list. @@ -522,7 +558,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW { return const_iterator(this->non_const_icont().end()); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -531,7 +567,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->cend()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -540,7 +576,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->cbegin()); } ////////////////////////////////////////////// @@ -554,7 +590,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW { return !this->size(); } //! Effects: Returns the number of the elements contained in the list. @@ -562,7 +598,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW { return this->icont().size(); } //! Effects: Returns the largest possible size of the list. @@ -570,7 +606,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW { return AllocHolder::max_size(); } //! Effects: Inserts or erases elements at the end such that @@ -614,7 +650,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - reference front() BOOST_CONTAINER_NOEXCEPT + reference front() BOOST_NOEXCEPT_OR_NOTHROW { return *this->begin(); } //! Requires: !empty() @@ -625,7 +661,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_reference front() const BOOST_CONTAINER_NOEXCEPT + const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW { return *this->begin(); } //! Requires: !empty() @@ -636,7 +672,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - reference back() BOOST_CONTAINER_NOEXCEPT + reference back() BOOST_NOEXCEPT_OR_NOTHROW { return *(--this->end()); } //! Requires: !empty() @@ -647,7 +683,7 @@ class list //! Throws: Nothing. //! //! Complexity: Constant. - const_reference back() const BOOST_CONTAINER_NOEXCEPT + const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW { return *(--this->end()); } ////////////////////////////////////////////// @@ -656,7 +692,7 @@ class list // ////////////////////////////////////////////// - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type T constructed with //! std::forward(args)... in the end of the list. @@ -666,7 +702,7 @@ class list //! //! Complexity: Constant template - void emplace_back(Args&&... args) + void emplace_back(BOOST_FWD_REF(Args)... args) { this->emplace(this->cend(), boost::forward(args)...); } //! Effects: Inserts an object of type T constructed with @@ -677,7 +713,7 @@ class list //! //! Complexity: Constant template - void emplace_front(Args&&... args) + void emplace_front(BOOST_FWD_REF(Args)... args) { this->emplace(this->cbegin(), boost::forward(args)...); } //! Effects: Inserts an object of type T constructed with @@ -688,42 +724,34 @@ class list //! //! Complexity: Constant template - iterator emplace(const_iterator p, Args&&... args) + iterator emplace(const_iterator p, BOOST_FWD_REF(Args)... args) { NodePtr pnode(AllocHolder::create_node(boost::forward(args)...)); return iterator(this->icont().insert(p.get(), *pnode)); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - this->emplace(this->cend() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_front(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - this->emplace(this->cbegin() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(const_iterator p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr pnode (AllocHolder::create_node \ - (BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - return iterator(this->icont().insert(p.get(), *pnode)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_LIST_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + void emplace_back(BOOST_MOVE_UREF##N)\ + { this->emplace(this->cend() BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + void emplace_front(BOOST_MOVE_UREF##N)\ + { this->emplace(this->cbegin() BOOST_MOVE_I##N BOOST_MOVE_FWD##N);}\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace(const_iterator p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + NodePtr pnode (AllocHolder::create_node(BOOST_MOVE_FWD##N));\ + return iterator(this->icont().insert(p.get(), *pnode));\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_LIST_EMPLACE_CODE) + #undef BOOST_CONTAINER_LIST_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts a copy of x at the beginning of the list. @@ -735,7 +763,7 @@ class list void push_front(const T &x); //! Effects: Constructs a new element in the beginning of the list - //! and moves the resources of mx to this new element. + //! and moves the resources of x to this new element. //! //! Throws: If memory allocation throws. //! @@ -755,7 +783,7 @@ class list void push_back(const T &x); //! Effects: Constructs a new element in the end of the list - //! and moves the resources of mx to this new element. + //! and moves the resources of x to this new element. //! //! Throws: If memory allocation throws. //! @@ -766,27 +794,27 @@ class list #endif #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Requires: position must be a valid iterator of *this. + //! Requires: p must be a valid iterator of *this. //! - //! Effects: Insert a copy of x before position. + //! Effects: Insert a copy of x before p. //! //! Returns: an iterator to the inserted element. //! //! Throws: If memory allocation throws or x's copy constructor throws. //! //! Complexity: Amortized constant time. - iterator insert(const_iterator position, const T &x); + iterator insert(const_iterator p, const T &x); - //! Requires: position must be a valid iterator of *this. + //! Requires: p must be a valid iterator of *this. //! - //! Effects: Insert a new element before position with mx's resources. + //! Effects: Insert a new element before p with x's resources. //! //! Returns: an iterator to the inserted element. //! //! Throws: If memory allocation throws. //! //! Complexity: Amortized constant time. - iterator insert(const_iterator position, T &&x); + iterator insert(const_iterator p, T &&x); #else BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) #endif @@ -815,14 +843,14 @@ class list //! Throws: If memory allocation throws, T's constructor from a //! dereferenced InpIt throws. //! - //! Complexity: Linear to std::distance [first, last). + //! Complexity: Linear to distance [first, last). template iterator insert(const_iterator p, InpIt first, InpIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) , typename container_detail::enable_if_c < !container_detail::is_convertible::value && (container_detail::is_input_iterator::value - || container_detail::is_same::value + || container_detail::is_same::value ) >::type * = 0 #endif @@ -846,7 +874,7 @@ class list , typename container_detail::enable_if_c < !container_detail::is_convertible::value && !(container_detail::is_input_iterator::value - || container_detail::is_same::value + || container_detail::is_same::value ) >::type * = 0 ) @@ -855,17 +883,32 @@ class list insertion_functor func(this->icont(), p.get()); iterator before_p(p.get()); --before_p; - this->allocate_many_and_construct(first, std::distance(first, last), func); + this->allocate_many_and_construct(first, boost::container::iterator_distance(first, last), func); return ++before_p; } #endif +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Requires: p must be a valid iterator of *this. + //! + //! Effects: Insert a copy of the [il.begin(), il.end()) range before p. + //! + //! Returns: an iterator to the first inserted element or p if if.begin() == il.end(). + //! + //! Throws: If memory allocation throws, T's constructor from a + //! dereferenced std::initializer_list iterator throws. + //! + //! Complexity: Linear to distance [il.begin(), il.end()). + iterator insert(const_iterator p, std::initializer_list il) + { return insert(p, il.begin(), il.end()); } +#endif + //! Effects: Removes the first element from the list. //! //! Throws: Nothing. //! //! Complexity: Amortized constant time. - void pop_front() BOOST_CONTAINER_NOEXCEPT + void pop_front() BOOST_NOEXCEPT_OR_NOTHROW { this->erase(this->cbegin()); } //! Effects: Removes the last element from the list. @@ -873,7 +916,7 @@ class list //! Throws: Nothing. //! //! Complexity: Amortized constant time. - void pop_back() BOOST_CONTAINER_NOEXCEPT + void pop_back() BOOST_NOEXCEPT_OR_NOTHROW { const_iterator tmp = this->cend(); this->erase(--tmp); } //! Requires: p must be a valid iterator of *this. @@ -883,7 +926,7 @@ class list //! Throws: Nothing. //! //! Complexity: Amortized constant time. - iterator erase(const_iterator p) BOOST_CONTAINER_NOEXCEPT + iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->icont().erase_and_dispose(p.get(), Destroyer(this->node_alloc()))); } //! Requires: first and last must be valid iterator to elements in *this. @@ -893,7 +936,7 @@ class list //! Throws: Nothing. //! //! Complexity: Linear to the distance between first and last. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT + iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW { return iterator(AllocHolder::erase_range(first.get(), last.get(), alloc_version())); } //! Effects: Swaps the contents of *this and x. @@ -902,6 +945,8 @@ class list //! //! Complexity: Constant. void swap(list& x) + BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_swap::value + || allocator_traits_type::is_always_equal::value) { AllocHolder::swap(x); } //! Effects: Erases all the elements of the list. @@ -909,7 +954,7 @@ class list //! Throws: Nothing. //! //! Complexity: Linear to the number of elements in the list. - void clear() BOOST_CONTAINER_NOEXCEPT + void clear() BOOST_NOEXCEPT_OR_NOTHROW { AllocHolder::clear(alloc_version()); } ////////////////////////////////////////////// @@ -930,7 +975,7 @@ class list //! //! Note: Iterators of values obtained from list x now point to elements of //! this list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list& x) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, list& x) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_ASSERT(this != &x); BOOST_ASSERT(this->node_alloc() == x.node_alloc()); @@ -949,7 +994,7 @@ class list //! //! Note: Iterators of values obtained from list x now point to elements of //! this list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(list) x) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, BOOST_RV_REF(list) x) BOOST_NOEXCEPT_OR_NOTHROW { this->splice(p, static_cast(x)); } //! Requires: p must point to an element contained @@ -966,7 +1011,7 @@ class list //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list &x, const_iterator i) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, list &x, const_iterator i) BOOST_NOEXCEPT_OR_NOTHROW { //BOOST_ASSERT(this != &x); BOOST_ASSERT(this->node_alloc() == x.node_alloc()); @@ -987,7 +1032,7 @@ class list //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator i) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator i) BOOST_NOEXCEPT_OR_NOTHROW { this->splice(p, static_cast(x), i); } //! Requires: p must point to an element contained @@ -1003,7 +1048,7 @@ class list //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, list &x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, list &x, const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_ASSERT(this->node_alloc() == x.node_alloc()); this->icont().splice(p.get(), x.icont(), first.get(), last.get()); @@ -1022,12 +1067,12 @@ class list //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW { this->splice(p, static_cast(x), first, last); } //! Requires: p must point to an element contained //! by this list. first and last must point to elements contained in list x. - //! n == std::distance(first, last). this' allocator and x's allocator shall compare equal + //! n == distance(first, last). this' allocator and x's allocator shall compare equal //! //! Effects: Transfers the range pointed by first and last from list x to this list, //! before the the element pointed by p. No destructors or copy constructors are called. @@ -1040,7 +1085,7 @@ class list //! list. Iterators of this list and all the references are not invalidated. //! //! Note: Non-standard extension - void splice(const_iterator p, list &x, const_iterator first, const_iterator last, size_type n) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, list &x, const_iterator first, const_iterator last, size_type n) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_ASSERT(this->node_alloc() == x.node_alloc()); this->icont().splice(p.get(), x.icont(), first.get(), last.get(), n); @@ -1048,7 +1093,7 @@ class list //! Requires: p must point to an element contained //! by this list. first and last must point to elements contained in list x. - //! n == std::distance(first, last). this' allocator and x's allocator shall compare equal + //! n == distance(first, last). this' allocator and x's allocator shall compare equal //! //! Effects: Transfers the range pointed by first and last from list x to this list, //! before the the element pointed by p. No destructors or copy constructors are called. @@ -1061,7 +1106,7 @@ class list //! list. Iterators of this list and all the references are not invalidated. //! //! Note: Non-standard extension - void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator first, const_iterator last, size_type n) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, BOOST_RV_REF(list) x, const_iterator first, const_iterator last, size_type n) BOOST_NOEXCEPT_OR_NOTHROW { this->splice(p, static_cast(x), first, last, n); } //! Effects: Removes all the elements that compare equal to value. @@ -1073,7 +1118,7 @@ class list //! Note: The relative order of elements that are not removed is unchanged, //! and iterators to elements that are not removed remain valid. void remove(const T& value) - { this->remove_if(equal_to_value(value)); } + { this->remove_if(equal_to_value_type(value)); } //! Effects: Removes all the elements for which a specified //! predicate is satisfied. @@ -1087,8 +1132,8 @@ class list template void remove_if(Pred pred) { - typedef ValueCompareToNodeCompare Predicate; - this->icont().remove_and_dispose_if(Predicate(pred), Destroyer(this->node_alloc())); + typedef value_to_node_compare value_to_node_compare_type; + this->icont().remove_and_dispose_if(value_to_node_compare_type(pred), Destroyer(this->node_alloc())); } //! Effects: Removes adjacent duplicate elements or adjacent @@ -1115,8 +1160,8 @@ class list template void unique(BinaryPredicate binary_pred) { - typedef ValueCompareToNodeCompare Predicate; - this->icont().unique_and_dispose(Predicate(binary_pred), Destroyer(this->node_alloc())); + typedef value_to_node_compare value_to_node_compare_type; + this->icont().unique_and_dispose(value_to_node_compare_type(binary_pred), Destroyer(this->node_alloc())); } //! Requires: The lists x and *this must be distinct. @@ -1165,8 +1210,8 @@ class list void merge(list &x, const StrictWeakOrdering &comp) { BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().merge(x.icont(), - ValueCompareToNodeCompare(comp)); + typedef value_to_node_compare value_to_node_compare_type; + this->icont().merge(x.icont(), value_to_node_compare_type(comp)); } //! Requires: p must be a comparison function that induces a strict weak @@ -1214,7 +1259,8 @@ class list // nothing if the list has length 0 or 1. if (this->size() < 2) return; - this->icont().sort(ValueCompareToNodeCompare(comp)); + typedef value_to_node_compare value_to_node_compare_type; + this->icont().sort(value_to_node_compare_type(comp)); } //! Effects: Reverses the order of elements in the list. @@ -1224,28 +1270,14 @@ class list //! Complexity: This function is linear time. //! //! Note: Iterators and references are not invalidated - void reverse() BOOST_CONTAINER_NOEXCEPT + void reverse() BOOST_NOEXCEPT_OR_NOTHROW { this->icont().reverse(); } //! Effects: Returns true if x and y are equal //! //! Complexity: Linear to the number of elements in the container. friend bool operator==(const list& x, const list& y) - { - if(x.size() != y.size()){ - return false; - } - typedef typename list::const_iterator const_iterator; - const_iterator end1 = x.end(); - - const_iterator i1 = x.begin(); - const_iterator i2 = y.begin(); - while (i1 != end1 && *i1 == *i2) { - ++i1; - ++i2; - } - return i1 == end1; - } + { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); } //! Effects: Returns true if x and y are unequal //! @@ -1257,7 +1289,7 @@ class list //! //! Complexity: Linear to the number of elements in the container. friend bool operator<(const list& x, const list& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } + { return boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } //! Effects: Returns true if x is greater than y //! @@ -1382,8 +1414,11 @@ class list //!specialization for optimizations template struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; +{ + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; +}; namespace container { diff --git a/3party/boost/boost/container/map.hpp b/3party/boost/boost/container/map.hpp index ec1c30a3db..170f7ae404 100644 --- a/3party/boost/boost/container/map.hpp +++ b/3party/boost/boost/container/map.hpp @@ -7,34 +7,48 @@ // See http://www.boost.org/libs/container for documentation. // ////////////////////////////////////////////////////////////////////////////// - #ifndef BOOST_CONTAINER_MAP_HPP #define BOOST_CONTAINER_MAP_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include +// container #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include //new_allocator #include -#include -#include -#include +// container/detail +#include +#include +#include #include -#include +#include +// move +#include +#include +// move/detail +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif +#include +// intrusive/detail +#include //pair +#include //less, equal +// other +#include +#include +// std +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include +#endif namespace boost { namespace container { @@ -50,13 +64,13 @@ namespace container { //! by this container is the value_type is std::pair. //! //! \tparam Key is the key_type of the map -//! \tparam Value is the mapped_type +//! \tparam T is the mapped_type //! \tparam Compare is the ordering function for Keys (e.g. std::less). //! \tparam Allocator is the allocator to allocate the value_types //! (e.g. allocator< std::pair > ). //! \tparam MapOptions is an packed option type generated using using boost::container::tree_assoc_options. template < class Key, class T, class Compare = std::less - , class Allocator = std::allocator< std::pair< const Key, T> >, class MapOptions = tree_assoc_defaults > + , class Allocator = new_allocator< std::pair< const Key, T> >, class MapOptions = tree_assoc_defaults > #else template #endif @@ -88,10 +102,10 @@ class map // ////////////////////////////////////////////// - typedef Key key_type; - typedef ::boost::container::allocator_traits allocator_traits_type; - typedef T mapped_type; - typedef std::pair value_type; + typedef Key key_type; + typedef ::boost::container::allocator_traits allocator_traits_type; + typedef T mapped_type; + typedef std::pair value_type; typedef typename boost::container::allocator_traits::pointer pointer; typedef typename boost::container::allocator_traits::const_pointer const_pointer; typedef typename boost::container::allocator_traits::reference reference; @@ -121,7 +135,7 @@ class map map() : base_t() { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -129,11 +143,10 @@ class map //! and allocator. //! //! Complexity: Constant. - explicit map(const Compare& comp, - const allocator_type& a = allocator_type()) + explicit map(const Compare& comp, const allocator_type& a = allocator_type()) : base_t(comp, a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -143,7 +156,7 @@ class map explicit map(const allocator_type& a) : base_t(a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -157,7 +170,20 @@ class map const allocator_type& a = allocator_type()) : base_t(true, first, last, comp, a) { - //Allocator type must be std::pair + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty map using the specified + //! allocator, and inserts elements from the range [first ,last ). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is last - first. + template + map(InputIterator first, InputIterator last, const allocator_type& a) + : base_t(true, first, last, Compare(), a) + { + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -176,17 +202,61 @@ class map , const Compare& comp = Compare(), const allocator_type& a = allocator_type()) : base_t(ordered_range, first, last, comp, a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs an empty map using the specified comparison object and + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is il.first() - il.end(). + map(std::initializer_list il, const Compare& comp = Compare(), const allocator_type& a = allocator_type()) + : base_t(true, il.begin(), il.end(), comp, a) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty map using the specified + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is il.first() - il.end(). + map(std::initializer_list il, const allocator_type& a) + : base_t(true, il.begin(), il.end(), Compare(), a) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty set using the specified comparison object and + //! allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function + //! is more efficient than the normal range creation for ordered ranges. + //! + //! Requires: [il.begin(), il.end()) must be ordered according to the predicate and must be + //! unique values. + //! + //! Complexity: Linear in N. + //! + //! Note: Non-standard extension. + map(ordered_unique_range_t, std::initializer_list il, const Compare& comp = Compare(), + const allocator_type& a = allocator_type()) + : base_t(ordered_range, il.begin(), il.end(), comp, a) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } +#endif + //! Effects: Copy constructs a map. //! //! Complexity: Linear in x.size(). map(const map& x) : base_t(static_cast(x)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -196,9 +266,9 @@ class map //! //! Postcondition: x is emptied. map(BOOST_RV_REF(map) x) - : base_t(boost::move(static_cast(x))) + : base_t(BOOST_MOVE_BASE(base_t, x)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -208,7 +278,7 @@ class map map(const map& x, const allocator_type &a) : base_t(static_cast(x), a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -219,9 +289,9 @@ class map //! //! Postcondition: x is emptied. map(BOOST_RV_REF(map) x, const allocator_type &a) - : base_t(boost::move(static_cast(x)), a) + : base_t(BOOST_MOVE_BASE(base_t, x), a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -240,12 +310,25 @@ class map //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. map& operator=(BOOST_RV_REF(map) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) + + { return static_cast(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); } + +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Assign content of il to *this. + //! + map& operator=(std::initializer_list il) + { + this->clear(); + insert(il.begin(), il.end()); + return *this; + } +#endif #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Returns a copy of the Allocator that + //! Effects: Returns a copy of the allocator that //! was passed to the object's constructor. //! //! Complexity: Constant. @@ -258,7 +341,7 @@ class map //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT; + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a reference to the internal allocator. //! @@ -267,49 +350,49 @@ class map //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT; + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns an iterator to the first element contained in the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT; + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_iterator to the first element contained in the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT; + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_iterator to the first element contained in the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns an iterator to the end of the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT; + iterator end() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_iterator to the end of the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_iterator to the end of the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a reverse_iterator pointing to the beginning //! of the reversed container. @@ -317,7 +400,7 @@ class map //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_reverse_iterator pointing to the beginning //! of the reversed container. @@ -325,7 +408,7 @@ class map //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_reverse_iterator pointing to the beginning //! of the reversed container. @@ -333,7 +416,7 @@ class map //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a reverse_iterator pointing to the end //! of the reversed container. @@ -341,7 +424,7 @@ class map //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_reverse_iterator pointing to the end //! of the reversed container. @@ -349,7 +432,7 @@ class map //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns a const_reverse_iterator pointing to the end //! of the reversed container. @@ -357,28 +440,28 @@ class map //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns true if the container contains no elements. //! //! Throws: Nothing. //! //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT; + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns the number of the elements contained in the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT; + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns the largest possible size of the container. //! //! Throws: Nothing. //! //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT; + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW; #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) @@ -386,7 +469,7 @@ class map //! Effects: If there is no key equivalent to x in the map, inserts //! value_type(x, T()) into the map. //! - //! Returns: Allocator reference to the mapped_type corresponding to x in *this. + //! Returns: A reference to the mapped_type corresponding to x in *this. //! //! Complexity: Logarithmic. mapped_type& operator[](const key_type &k); @@ -394,7 +477,7 @@ class map //! Effects: If there is no key equivalent to x in the map, inserts //! value_type(boost::move(x), T()) into the map (the key is move-constructed) //! - //! Returns: Allocator reference to the mapped_type corresponding to x in *this. + //! Returns: A reference to the mapped_type corresponding to x in *this. //! //! Complexity: Logarithmic. mapped_type& operator[](key_type &&k); @@ -402,7 +485,7 @@ class map BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript) #endif - //! Returns: Allocator reference to the element whose key is equivalent to x. + //! Returns: A reference to the element whose key is equivalent to x. //! Throws: An exception object of type out_of_range if no such element is present. //! Complexity: logarithmic. T& at(const key_type& k) @@ -414,7 +497,7 @@ class map return i->second; } - //! Returns: Allocator reference to the element whose key is equivalent to x. + //! Returns: A reference to the element whose key is equivalent to x. //! Throws: An exception object of type out_of_range if no such element is present. //! Complexity: logarithmic. const T& at(const key_type& k) const @@ -496,8 +579,8 @@ class map //! //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. - iterator insert(const_iterator position, const value_type& x) - { return this->base_t::insert_unique(position, x); } + iterator insert(const_iterator p, const value_type& x) + { return this->base_t::insert_unique(p, x); } //! Effects: Move constructs a new value from x if and only if there is //! no element in the container with key equivalent to the key of x. @@ -508,8 +591,8 @@ class map //! //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. - iterator insert(const_iterator position, BOOST_RV_REF(nonconst_value_type) x) - { return this->base_t::insert_unique(position, boost::move(x)); } + iterator insert(const_iterator p, BOOST_RV_REF(nonconst_value_type) x) + { return this->base_t::insert_unique(p, boost::move(x)); } //! Effects: Move constructs a new value from x if and only if there is //! no element in the container with key equivalent to the key of x. @@ -520,8 +603,8 @@ class map //! //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. - iterator insert(const_iterator position, BOOST_RV_REF(movable_value_type) x) - { return this->base_t::insert_unique(position, boost::move(x)); } + iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x) + { return this->base_t::insert_unique(p, boost::move(x)); } //! Effects: Inserts a copy of x in the container. //! p is a hint pointing to where the insert should start to search. @@ -529,8 +612,8 @@ class map //! Returns: An iterator pointing to the element with key equivalent to the key of x. //! //! Complexity: Logarithmic. - iterator insert(const_iterator position, const nonconst_value_type& x) - { return this->base_t::insert_unique(position, x); } + iterator insert(const_iterator p, const nonconst_value_type& x) + { return this->base_t::insert_unique(p, x); } //! Effects: Inserts an element move constructed from x in the container. //! p is a hint pointing to where the insert should start to search. @@ -538,8 +621,8 @@ class map //! Returns: An iterator pointing to the element with key equivalent to the key of x. //! //! Complexity: Logarithmic. - iterator insert(const_iterator position, BOOST_RV_REF(value_type) x) - { return this->base_t::insert_unique(position, boost::move(x)); } + iterator insert(const_iterator p, BOOST_RV_REF(value_type) x) + { return this->base_t::insert_unique(p, boost::move(x)); } //! Requires: first, last are not iterators into *this. //! @@ -551,7 +634,16 @@ class map void insert(InputIterator first, InputIterator last) { this->base_t::insert_unique(first, last); } - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: inserts each element from the range [il.begin(), il.end()) if and only + //! if there is no element with key equivalent to the key of that element. + //! + //! Complexity: At most N log(size()+N) (N is the distance from il.begin() to il.end()) + void insert(std::initializer_list il) + { this->base_t::insert_unique(il.begin(), il.end()); } +#endif + + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object x of type T constructed with //! std::forward(args)... in the container if and only if there is @@ -565,7 +657,7 @@ class map //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. template - std::pair emplace(Args&&... args) + std::pair emplace(BOOST_FWD_REF(Args)... args) { return this->base_t::emplace_unique(boost::forward(args)...); } //! Effects: Inserts an object of type T constructed with @@ -579,65 +671,65 @@ class map //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_unique(hint, boost::forward(args)...); } + iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args) + { return this->base_t::emplace_hint_unique(p, boost::forward(args)...); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); }\ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_unique(hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_MAP_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + std::pair emplace(BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_unique(BOOST_MOVE_FWD##N); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_hint_unique(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_MAP_EMPLACE_CODE) + #undef BOOST_CONTAINER_MAP_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Erases the element pointed to by position. + //! Effects: Erases the element pointed to by p. //! //! Returns: Returns an iterator pointing to the element immediately //! following q prior to the element being erased. If no such element exists, //! returns end(). //! //! Complexity: Amortized constant time - iterator erase(const_iterator position) BOOST_CONTAINER_NOEXCEPT; + iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Erases all elements in the container with key equivalent to x. //! //! Returns: Returns the number of erased elements. //! //! Complexity: log(size()) + count(k) - size_type erase(const key_type& x) BOOST_CONTAINER_NOEXCEPT; + size_type erase(const key_type& x) BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Erases all the elements in the range [first, last). //! //! Returns: Returns last. //! //! Complexity: log(size())+N where N is the distance from first to last. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT; + iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Swaps the contents of *this and x. //! //! Throws: Nothing. //! //! Complexity: Constant. - void swap(map& x); + void swap(map& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ) //! Effects: erase(a.begin(),a.end()). //! //! Postcondition: size() == 0. //! //! Complexity: linear in size(). - void clear() BOOST_CONTAINER_NOEXCEPT; + void clear() BOOST_NOEXCEPT_OR_NOTHROW; //! Effects: Returns the comparison object out //! of which a was constructed. @@ -657,7 +749,7 @@ class map //! Complexity: Logarithmic. iterator find(const key_type& x); - //! Returns: Allocator const_iterator pointing to an element with the key + //! Returns: A const_iterator pointing to an element with the key //! equivalent to x, or end() if such an element is not found. //! //! Complexity: Logarithmic. @@ -679,7 +771,7 @@ class map //! Complexity: Logarithmic iterator lower_bound(const key_type& x); - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than k, or a.end() if such an element is not found. //! //! Complexity: Logarithmic @@ -691,7 +783,7 @@ class map //! Complexity: Logarithmic iterator upper_bound(const key_type& x); - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than x, or end() if such an element is not found. //! //! Complexity: Logarithmic @@ -788,10 +880,13 @@ class map //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template -struct has_trivial_destructor_after_move > +template +struct has_trivial_destructor_after_move > { - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; namespace container { @@ -816,7 +911,7 @@ namespace container { //! (e.g. allocator< std::pair > ). //! \tparam MultiMapOptions is an packed option type generated using using boost::container::tree_assoc_options. template < class Key, class T, class Compare = std::less - , class Allocator = std::allocator< std::pair< const Key, T> >, class MultiMapOptions = tree_assoc_defaults> + , class Allocator = new_allocator< std::pair< const Key, T> >, class MultiMapOptions = tree_assoc_defaults> #else template #endif @@ -841,6 +936,8 @@ class multimap > value_compare_impl; #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + typedef ::boost::container::allocator_traits allocator_traits_type; + public: ////////////////////////////////////////////// // @@ -880,7 +977,7 @@ class multimap multimap() : base_t() { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -890,7 +987,7 @@ class multimap explicit multimap(const Compare& comp, const allocator_type& a = allocator_type()) : base_t(comp, a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -901,7 +998,7 @@ class multimap explicit multimap(const allocator_type& a) : base_t(a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -916,7 +1013,20 @@ class multimap const allocator_type& a = allocator_type()) : base_t(false, first, last, comp, a) { - //Allocator type must be std::pair + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty multimap using the specified + //! allocator, and inserts elements from the range [first ,last ). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is last - first. + template + multimap(InputIterator first, InputIterator last, const allocator_type& a) + : base_t(false, first, last, Compare(), a) + { + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -935,13 +1045,57 @@ class multimap : base_t(ordered_range, first, last, comp, a) {} +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs an empty multimap using the specified comparison object and + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is il.first() - il.end(). + multimap(std::initializer_list il, const Compare& comp = Compare(), + const allocator_type& a = allocator_type()) + : base_t(false, il.begin(), il.end(), comp, a) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty multimap using the specified + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is il.first() - il.end(). + multimap(std::initializer_list il, const allocator_type& a) + : base_t(false, il.begin(), il.end(), Compare(), a) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } + + //! Effects: Constructs an empty set using the specified comparison object and + //! allocator, and inserts elements from the ordered range [il.begin(), il.end()). This function + //! is more efficient than the normal range creation for ordered ranges. + //! + //! Requires: [il.begin(), il.end()) must be ordered according to the predicate. + //! + //! Complexity: Linear in N. + //! + //! Note: Non-standard extension. + multimap(ordered_range_t, std::initializer_list il, const Compare& comp = Compare(), + const allocator_type& a = allocator_type()) + : base_t(ordered_range, il.begin(), il.end(), comp, a) + { + //A type must be std::pair + BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); + } +#endif + //! Effects: Copy constructs a multimap. //! //! Complexity: Linear in x.size(). multimap(const multimap& x) : base_t(static_cast(x)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -951,9 +1105,9 @@ class multimap //! //! Postcondition: x is emptied. multimap(BOOST_RV_REF(multimap) x) - : base_t(boost::move(static_cast(x))) + : base_t(BOOST_MOVE_BASE(base_t, x)) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -963,7 +1117,7 @@ class multimap multimap(const multimap& x, const allocator_type &a) : base_t(static_cast(x), a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -973,9 +1127,9 @@ class multimap //! //! Postcondition: x is emptied. multimap(BOOST_RV_REF(multimap) x, const allocator_type &a) - : base_t(boost::move(static_cast(x)), a) + : base_t(BOOST_MOVE_BASE(base_t, x), a) { - //Allocator type must be std::pair + //A type must be std::pair BOOST_STATIC_ASSERT((container_detail::is_same, typename Allocator::value_type>::value)); } @@ -989,7 +1143,20 @@ class multimap //! //! Complexity: Constant. multimap& operator=(BOOST_RV_REF(multimap) x) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) + { return static_cast(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); } + +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Assign content of il to *this. + //! + multimap& operator=(std::initializer_list il) + { + this->clear(); + insert(il.begin(), il.end()); + return *this; + } +#endif #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) @@ -1012,31 +1179,31 @@ class multimap const_iterator cbegin() const; //! @copydoc ::boost::container::set::end() - iterator end() BOOST_CONTAINER_NOEXCEPT; + iterator end() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::end() const - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::cend() const - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::rbegin() - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::rbegin() const - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::crbegin() const - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::rend() - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::rend() const - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::crend() const - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::empty() const bool empty() const; @@ -1049,7 +1216,7 @@ class multimap #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type T constructed with //! std::forward(args)... in the container. @@ -1061,7 +1228,7 @@ class multimap //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. template - iterator emplace(Args&&... args) + iterator emplace(BOOST_FWD_REF(Args)... args) { return this->base_t::emplace_equal(boost::forward(args)...); } //! Effects: Inserts an object of type T constructed with @@ -1074,26 +1241,24 @@ class multimap //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_equal(hint, boost::forward(args)...); } + iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args) + { return this->base_t::emplace_hint_equal(p, boost::forward(args)...); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_equal(hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_MULTIMAP_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace(BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_equal(BOOST_MOVE_FWD##N); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_hint_equal(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_MULTIMAP_EMPLACE_CODE) + #undef BOOST_CONTAINER_MULTIMAP_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) //! Effects: Inserts x and returns the iterator pointing to the //! newly inserted element. @@ -1131,8 +1296,8 @@ class multimap //! //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. - iterator insert(const_iterator position, const value_type& x) - { return this->base_t::insert_equal(position, x); } + iterator insert(const_iterator p, const value_type& x) + { return this->base_t::insert_equal(p, x); } //! Effects: Inserts a new value constructed from x in the container. //! p is a hint pointing to where the insert should start to search. @@ -1142,8 +1307,8 @@ class multimap //! //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. - iterator insert(const_iterator position, const nonconst_value_type& x) - { return this->base_t::insert_equal(position, x); } + iterator insert(const_iterator p, const nonconst_value_type& x) + { return this->base_t::insert_equal(p, x); } //! Effects: Inserts a new value move constructed from x in the container. //! p is a hint pointing to where the insert should start to search. @@ -1153,8 +1318,8 @@ class multimap //! //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. - iterator insert(const_iterator position, BOOST_RV_REF(nonconst_value_type) x) - { return this->base_t::insert_equal(position, boost::move(x)); } + iterator insert(const_iterator p, BOOST_RV_REF(nonconst_value_type) x) + { return this->base_t::insert_equal(p, boost::move(x)); } //! Effects: Inserts a new value move constructed from x in the container. //! p is a hint pointing to where the insert should start to search. @@ -1164,8 +1329,8 @@ class multimap //! //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. - iterator insert(const_iterator position, BOOST_RV_REF(movable_value_type) x) - { return this->base_t::insert_equal(position, boost::move(x)); } + iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x) + { return this->base_t::insert_equal(p, boost::move(x)); } //! Requires: first, last are not iterators into *this. //! @@ -1176,6 +1341,14 @@ class multimap void insert(InputIterator first, InputIterator last) { this->base_t::insert_equal(first, last); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: inserts each element from the range [il.begin(), il.end(). + //! + //! Complexity: At most N log(size()+N) (N is the distance from il.begin() to il.end()) + void insert(std::initializer_list il) + { this->base_t::insert_equal(il.begin(), il.end()); } +#endif + #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! @copydoc ::boost::container::set::erase(const_iterator) @@ -1188,10 +1361,12 @@ class multimap iterator erase(const_iterator first, const_iterator last); //! @copydoc ::boost::container::set::swap - void swap(flat_multiset& x); + void swap(multiset& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ); //! @copydoc ::boost::container::set::clear - void clear() BOOST_CONTAINER_NOEXCEPT; + void clear() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::key_comp key_compare key_comp() const; @@ -1205,7 +1380,7 @@ class multimap //! Complexity: Logarithmic. iterator find(const key_type& x); - //! Returns: Allocator const iterator pointing to an element with the key + //! Returns: A const iterator pointing to an element with the key //! equivalent to x, or end() if such an element is not found. //! //! Complexity: Logarithmic. @@ -1222,7 +1397,7 @@ class multimap //! Complexity: Logarithmic iterator lower_bound(const key_type& x); - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than k, or a.end() if such an element is not found. //! //! Complexity: Logarithmic @@ -1234,7 +1409,7 @@ class multimap //! Complexity: Logarithmic iterator upper_bound(const key_type& x); - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than x, or end() if such an element is not found. //! //! Complexity: Logarithmic @@ -1299,10 +1474,13 @@ class multimap //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template -struct has_trivial_destructor_after_move > +template +struct has_trivial_destructor_after_move > { - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; namespace container { @@ -1313,5 +1491,5 @@ namespace container { #include -#endif /* BOOST_CONTAINER_MAP_HPP */ +#endif // BOOST_CONTAINER_MAP_HPP diff --git a/3party/boost/boost/container/new_allocator.hpp b/3party/boost/boost/container/new_allocator.hpp new file mode 100644 index 0000000000..1ac15d8a25 --- /dev/null +++ b/3party/boost/boost/container/new_allocator.hpp @@ -0,0 +1,175 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2014-2015. 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// + +#ifndef BOOST_CONTAINER_NEW_ALLOCATOR_HPP +#define BOOST_CONTAINER_NEW_ALLOCATOR_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +#include +#include +#include +#include + +//!\file + +namespace boost { +namespace container { + +template +struct new_allocator_bool +{ static const bool value = Value; }; + +template +class new_allocator; + +//! Specialization of new_allocator for void types +template<> +class new_allocator +{ + public: + typedef void value_type; + typedef void * pointer; + typedef const void* const_pointer; + //!A integral constant of type bool with value true + typedef BOOST_CONTAINER_IMPDEF(new_allocator_bool) propagate_on_container_move_assignment; + //!A integral constant of type bool with value true + typedef BOOST_CONTAINER_IMPDEF(new_allocator_bool) is_always_equal; + // reference-to-void members are impossible + + //!Obtains an new_allocator that allocates + //!objects of type T2 + template + struct rebind + { + typedef new_allocator< T2> other; + }; + + //!Default constructor + //!Never throws + new_allocator() BOOST_NOEXCEPT_OR_NOTHROW + {} + + //!Constructor from other new_allocator. + //!Never throws + new_allocator(const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + {} + + //!Constructor from related new_allocator. + //!Never throws + template + new_allocator(const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + {} + + //!Swaps two allocators, does nothing + //!because this new_allocator is stateless + friend void swap(new_allocator &, new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + {} + + //!An new_allocator always compares to true, as memory allocated with one + //!instance can be deallocated by another instance + friend bool operator==(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + { return true; } + + //!An new_allocator always compares to false, as memory allocated with one + //!instance can be deallocated by another instance + friend bool operator!=(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + { return false; } +}; + + +//! This class is a reduced STL-compatible allocator that allocates memory using operator new +template +class new_allocator +{ + public: + typedef T value_type; + typedef T * pointer; + typedef const T * const_pointer; + typedef T & reference; + typedef const T & const_reference; + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; + //!A integral constant of type bool with value true + typedef BOOST_CONTAINER_IMPDEF(new_allocator_bool) propagate_on_container_move_assignment; + //!A integral constant of type bool with value true + typedef BOOST_CONTAINER_IMPDEF(new_allocator_bool) is_always_equal; + + //!Obtains an new_allocator that allocates + //!objects of type T2 + template + struct rebind + { + typedef new_allocator other; + }; + + //!Default constructor + //!Never throws + new_allocator() BOOST_NOEXCEPT_OR_NOTHROW + {} + + //!Constructor from other new_allocator. + //!Never throws + new_allocator(const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + {} + + //!Constructor from related new_allocator. + //!Never throws + template + new_allocator(const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + {} + + //!Allocates memory for an array of count elements. + //!Throws std::bad_alloc if there is no enough memory + pointer allocate(size_type count) + { + if(BOOST_UNLIKELY(count > this->max_size())) + throw_bad_alloc(); + return static_cast(::operator new(count*sizeof(T))); + } + + //!Deallocates previously allocated memory. + //!Never throws + void deallocate(pointer ptr, size_type) BOOST_NOEXCEPT_OR_NOTHROW + { ::operator delete((void*)ptr); } + + //!Returns the maximum number of elements that could be allocated. + //!Never throws + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW + { return size_type(-1)/sizeof(T); } + + //!Swaps two allocators, does nothing + //!because this new_allocator is stateless + friend void swap(new_allocator &, new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + {} + + //!An new_allocator always compares to true, as memory allocated with one + //!instance can be deallocated by another instance + friend bool operator==(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + { return true; } + + //!An new_allocator always compares to false, as memory allocated with one + //!instance can be deallocated by another instance + friend bool operator!=(const new_allocator &, const new_allocator &) BOOST_NOEXCEPT_OR_NOTHROW + { return false; } +}; + +} //namespace container { +} //namespace boost { + +#include + +#endif //BOOST_CONTAINER_ALLOCATOR_HPP diff --git a/3party/boost/boost/container/node_allocator.hpp b/3party/boost/boost/container/node_allocator.hpp index 249a640e61..c3d809078f 100644 --- a/3party/boost/boost/container/node_allocator.hpp +++ b/3party/boost/boost/container/node_allocator.hpp @@ -11,7 +11,11 @@ #ifndef BOOST_CONTAINER_POOLED_NODE_ALLOCATOR_HPP #define BOOST_CONTAINER_POOLED_NODE_ALLOCATOR_HPP -#if defined(_MSC_VER) && (_MSC_VER >= 1200) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif @@ -26,12 +30,8 @@ #include #include -#include #include -#include -#include #include -#include namespace boost { namespace container { @@ -74,9 +74,9 @@ class node_allocator typedef T * pointer; typedef const T * const_pointer; typedef typename ::boost::container:: - container_detail::unvoid::type & reference; - typedef const typename ::boost::container:: - container_detail::unvoid::type & const_reference; + container_detail::unvoid_ref::type reference; + typedef typename ::boost::container:: + container_detail::unvoid_ref::type const_reference; typedef std::size_t size_type; typedef std::ptrdiff_t difference_type; @@ -117,11 +117,11 @@ class node_allocator public: //!Default constructor - node_allocator() BOOST_CONTAINER_NOEXCEPT + node_allocator() BOOST_NOEXCEPT_OR_NOTHROW {} //!Copy constructor from other node_allocator. - node_allocator(const node_allocator &) BOOST_CONTAINER_NOEXCEPT + node_allocator(const node_allocator &) BOOST_NOEXCEPT_OR_NOTHROW {} //!Copy constructor from related node_allocator. @@ -131,11 +131,11 @@ class node_allocator #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED , Version #endif - > &) BOOST_CONTAINER_NOEXCEPT + > &) BOOST_NOEXCEPT_OR_NOTHROW {} //!Destructor - ~node_allocator() BOOST_CONTAINER_NOEXCEPT + ~node_allocator() BOOST_NOEXCEPT_OR_NOTHROW {} //!Returns the number of elements that could be allocated. @@ -147,7 +147,7 @@ class node_allocator //!Throws std::bad_alloc if there is no enough memory pointer allocate(size_type count, const void * = 0) { - if(count > this->max_size()) + if(BOOST_UNLIKELY(count > this->max_size())) boost::container::throw_bad_alloc(); if(Version == 1 && count == 1){ @@ -158,7 +158,7 @@ class node_allocator } else{ void *ret = boost_cont_malloc(count*sizeof(T)); - if(!ret) + if(BOOST_UNLIKELY(!ret)) boost::container::throw_bad_alloc(); return static_cast(ret); } @@ -166,7 +166,7 @@ class node_allocator //!Deallocate allocated memory. //!Never throws - void deallocate(const pointer &ptr, size_type count) BOOST_CONTAINER_NOEXCEPT + void deallocate(const pointer &ptr, size_type count) BOOST_NOEXCEPT_OR_NOTHROW { (void)count; if(Version == 1 && count == 1){ @@ -181,7 +181,7 @@ class node_allocator } //!Deallocates all free blocks of the pool - static void deallocate_free_blocks() BOOST_CONTAINER_NOEXCEPT + static void deallocate_free_blocks() BOOST_NOEXCEPT_OR_NOTHROW { typedef container_detail::shared_node_pool shared_pool_t; @@ -189,23 +189,19 @@ class node_allocator singleton_t::instance().deallocate_free_blocks(); } - std::pair - allocation_command(allocation_type command, - size_type limit_size, - size_type preferred_size, - size_type &received_size, pointer reuse = pointer()) + pointer allocation_command + (allocation_type command, size_type limit_size, size_type &prefer_in_recvd_out_size, pointer &reuse) { BOOST_STATIC_ASSERT(( Version > 1 )); - std::pair ret = - priv_allocation_command(command, limit_size, preferred_size, received_size, reuse); - if(!ret.first && !(command & BOOST_CONTAINER_NOTHROW_ALLOCATION)) + pointer ret = this->priv_allocation_command(command, limit_size, prefer_in_recvd_out_size, reuse); + if(BOOST_UNLIKELY(!ret && !(command & BOOST_CONTAINER_NOTHROW_ALLOCATION))) boost::container::throw_bad_alloc(); return ret; } //!Returns maximum the number of objects the previously allocated memory //!pointed by p can hold. - size_type size(pointer p) const BOOST_CONTAINER_NOEXCEPT + size_type size(pointer p) const BOOST_NOEXCEPT_OR_NOTHROW { BOOST_STATIC_ASSERT(( Version > 1 )); return boost_cont_size(p); @@ -239,7 +235,7 @@ class node_allocator //!Deallocates memory previously allocated with allocate_one(). //!You should never use deallocate_one to deallocate memory allocated //!with other functions different from allocate_one(). Never throws - void deallocate_one(pointer p) BOOST_CONTAINER_NOEXCEPT + void deallocate_one(pointer p) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_STATIC_ASSERT(( Version > 1 )); typedef container_detail::shared_node_pool @@ -248,7 +244,7 @@ class node_allocator singleton_t::instance().deallocate_node(p); } - void deallocate_individual(multiallocation_chain &chain) BOOST_CONTAINER_NOEXCEPT + void deallocate_individual(multiallocation_chain &chain) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_STATIC_ASSERT(( Version > 1 )); typedef container_detail::shared_node_pool @@ -265,7 +261,7 @@ class node_allocator BOOST_STATIC_ASSERT(( Version > 1 )); boost_cont_memchain ch; BOOST_CONTAINER_MEMCHAIN_INIT(&ch); - if(!boost_cont_multialloc_nodes(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch)){ + if(BOOST_UNLIKELY(!boost_cont_multialloc_nodes(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch))){ boost::container::throw_bad_alloc(); } chain.incorporate_after( chain.before_begin() @@ -281,7 +277,7 @@ class node_allocator BOOST_STATIC_ASSERT(( Version > 1 )); boost_cont_memchain ch; boost_cont_multialloc_arrays(n_elements, elem_sizes, sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, &ch); - if(BOOST_CONTAINER_MEMCHAIN_EMPTY(&ch)){ + if(BOOST_UNLIKELY(BOOST_CONTAINER_MEMCHAIN_EMPTY(&ch))){ boost::container::throw_bad_alloc(); } chain.incorporate_after( chain.before_begin() @@ -290,7 +286,7 @@ class node_allocator , BOOST_CONTAINER_MEMCHAIN_SIZE(&ch)); } - void deallocate_many(multiallocation_chain &chain) BOOST_CONTAINER_NOEXCEPT + void deallocate_many(multiallocation_chain &chain) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_STATIC_ASSERT(( Version > 1 )); void *first = &*chain.begin(); @@ -303,37 +299,40 @@ class node_allocator //!Swaps allocators. Does not throw. If each allocator is placed in a //!different memory segment, the result is undefined. - friend void swap(self_t &, self_t &) BOOST_CONTAINER_NOEXCEPT + friend void swap(self_t &, self_t &) BOOST_NOEXCEPT_OR_NOTHROW {} //!An allocator always compares to true, as memory allocated with one //!instance can be deallocated by another instance - friend bool operator==(const node_allocator &, const node_allocator &) BOOST_CONTAINER_NOEXCEPT + friend bool operator==(const node_allocator &, const node_allocator &) BOOST_NOEXCEPT_OR_NOTHROW { return true; } //!An allocator always compares to false, as memory allocated with one //!instance can be deallocated by another instance - friend bool operator!=(const node_allocator &, const node_allocator &) BOOST_CONTAINER_NOEXCEPT + friend bool operator!=(const node_allocator &, const node_allocator &) BOOST_NOEXCEPT_OR_NOTHROW { return false; } private: - std::pair priv_allocation_command + pointer priv_allocation_command (allocation_type command, std::size_t limit_size - ,std::size_t preferred_size,std::size_t &received_size, void *reuse_ptr) + ,size_type &prefer_in_recvd_out_size + ,pointer &reuse) { + std::size_t const preferred_size = prefer_in_recvd_out_size; boost_cont_command_ret_t ret = {0 , 0}; - if(limit_size > this->max_size() || preferred_size > this->max_size()){ - //ret.first = 0; - return std::pair(pointer(), false); + if((limit_size > this->max_size()) | (preferred_size > this->max_size())){ + return pointer(); } std::size_t l_size = limit_size*sizeof(T); std::size_t p_size = preferred_size*sizeof(T); std::size_t r_size; { - ret = boost_cont_allocation_command(command, sizeof(T), l_size, p_size, &r_size, reuse_ptr); + void* reuse_ptr_void = reuse; + ret = boost_cont_allocation_command(command, sizeof(T), l_size, p_size, &r_size, reuse_ptr_void); + reuse = static_cast(reuse_ptr_void); } - received_size = r_size/sizeof(T); - return std::pair(static_cast(ret.first), !!ret.second); + prefer_in_recvd_out_size = r_size/sizeof(T); + return (pointer)ret.first; } }; diff --git a/3party/boost/boost/container/options.hpp b/3party/boost/boost/container/options.hpp index 11bf9deee8..da8b6a7952 100644 --- a/3party/boost/boost/container/options.hpp +++ b/3party/boost/boost/container/options.hpp @@ -13,6 +13,14 @@ #ifndef BOOST_CONTAINER_OPTIONS_HPP #define BOOST_CONTAINER_OPTIONS_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include #include #include diff --git a/3party/boost/boost/container/scoped_allocator.hpp b/3party/boost/boost/container/scoped_allocator.hpp index e594c0a239..31c27ecdee 100644 --- a/3party/boost/boost/container/scoped_allocator.hpp +++ b/3party/boost/boost/container/scoped_allocator.hpp @@ -23,24 +23,31 @@ #include #include -#include -#include + #include -#include -#include -#include +#include + +#include +#include #include -#include -#include +#include + +#include +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif +#include + +#include namespace boost { namespace container { -//! Remark: if a specialization is derived from true_type, indicates that T may be constructed +//! Remark: if a specialization constructible_with_allocator_suffix::value is true, indicates that T may be constructed //! with an allocator as its last constructor argument. Ideally, all constructors of T (including the //! copy and move constructors) should have a variant that accepts a final argument of //! allocator_type. //! -//! Requires: if a specialization is derived from true_type, T must have a nested type, +//! Requires: if a specialization constructible_with_allocator_suffix::value is true, T must have a nested type, //! allocator_type and at least one constructor for which allocator_type is the last //! parameter. If not all constructors of T can be called with a final allocator_type argument, //! and if T is used in a context where a container must call such a constructor, then the program is @@ -63,10 +70,10 @@ namespace boost { namespace container { //! // Specialize trait for class template Z //! template > //! struct constructible_with_allocator_suffix > -//! : ::boost::true_type { }; +//! { static const bool value = true; }; //! //! -//! Note: This trait is a workaround inspired by "N2554: The Scoped Allocator Model (Rev 2)" +//! Note: This trait is a workaround inspired by "N2554: The Scoped A Model (Rev 2)" //! (Pablo Halpern, 2008-02-29) to backport the scoped allocator model to C++03, as //! in C++03 there is no mechanism to detect if a type can be constructed from arbitrary arguments. //! Applications aiming portability with several compilers should always define this trait. @@ -76,15 +83,14 @@ namespace boost { namespace container { //! to detect if a type should be constructed with suffix or prefix allocator arguments. template struct constructible_with_allocator_suffix - : ::boost::false_type -{}; +{ static const bool value = false; }; -//! Remark: if a specialization is derived from true_type, indicates that T may be constructed +//! Remark: if a specialization constructible_with_allocator_prefix::value is true, indicates that T may be constructed //! with allocator_arg and T::allocator_type as its first two constructor arguments. //! Ideally, all constructors of T (including the copy and move constructors) should have a variant //! that accepts these two initial arguments. //! -//! Requires: if a specialization is derived from true_type, T must have a nested type, +//! Requires: specialization constructible_with_allocator_prefix::value is true, T must have a nested type, //! allocator_type and at least one constructor for which allocator_arg_t is the first //! parameter and allocator_type is the second parameter. If not all constructors of T can be //! called with these initial arguments, and if T is used in a context where a container must call such @@ -107,13 +113,13 @@ struct constructible_with_allocator_suffix //! // Variadic constructor and allocator-extended variadic constructor //! template Y(Args&& args...); //! template -//! Y(allocator_arg_t, const allocator_type& a, Args&&... args); +//! Y(allocator_arg_t, const allocator_type& a, BOOST_FWD_REF(Args)... args); //! }; //! //! // Specialize trait for class template Y //! template > //! struct constructible_with_allocator_prefix > -//! : ::boost::true_type { }; +//! { static const bool value = true; }; //! //! //! @@ -127,34 +133,34 @@ struct constructible_with_allocator_suffix //! to detect if a type should be constructed with suffix or prefix allocator arguments. template struct constructible_with_allocator_prefix - : ::boost::false_type -{}; +{ static const bool value = false; }; #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED namespace container_detail { -template +template struct uses_allocator_imp { // Use SFINAE (Substitution Failure Is Not An Error) to detect the - // presence of an 'allocator_type' nested type convertilble from Alloc. - + // presence of an 'allocator_type' nested type convertilble from Allocator. private: + typedef char yes_type; + struct no_type{ char dummy[2]; }; + // Match this function if TypeT::allocator_type exists and is - // implicitly convertible from Alloc - template - static char test(int, typename U::allocator_type); + // implicitly convertible from Allocator + template + static yes_type test(typename U::allocator_type); // Match this function if TypeT::allocator_type does not exist or is - // not convertible from Alloc. + // not convertible from Allocator. template - static int test(LowPriorityConversion, LowPriorityConversion); - - static Alloc alloc; // Declared but not defined + static no_type test(...); + static Allocator alloc; // Declared but not defined public: - enum { value = sizeof(test(0, alloc)) == sizeof(char) }; + static const bool value = sizeof(test(alloc)) == sizeof(yes_type); }; } //namespace container_detail { @@ -162,31 +168,34 @@ struct uses_allocator_imp #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED //! Remark: Automatically detects if T has a nested allocator_type that is convertible from -//! Alloc. Meets the BinaryTypeTrait requirements ([meta.rqmts] 20.4.1). A program may -//! specialize this type to derive from true_type for a T of user-defined type if T does not -//! have a nested allocator_type but is nonetheless constructible using the specified Alloc. +//! Allocator. Meets the BinaryTypeTrait requirements ([meta.rqmts] 20.4.1). A program may +//! specialize this type to define uses_allocator::value as true for a T of user-defined type if T does not +//! have a nested allocator_type but is nonetheless constructible using the specified Allocator. //! -//! Result: derived from true_type if Convertible and -//! derived from false_type otherwise. -template +//! Result: uses_allocator::value== true if Convertible, +//! false otherwise. +template struct uses_allocator - : boost::integral_constant::value> + : container_detail::uses_allocator_imp {}; #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED namespace container_detail { -template +template struct is_scoped_allocator_imp { - template - static char test(int, typename T::outer_allocator_type*); + typedef char yes_type; + struct no_type{ char dummy[2]; }; template - static int test(LowPriorityConversion, void*); + static yes_type test(typename T::outer_allocator_type*); - static const bool value = (sizeof(char) == sizeof(test(0, 0))); + template + static int test(...); + + static const bool value = (sizeof(yes_type) == sizeof(test(0))); }; template::value > @@ -229,40 +238,38 @@ struct outermost_allocator_imp } //namespace container_detail { -template +template struct is_scoped_allocator - : boost::integral_constant::value> + : container_detail::is_scoped_allocator_imp {}; -template +template struct outermost_allocator - : container_detail::outermost_allocator_imp + : container_detail::outermost_allocator_imp {}; -template -typename container_detail::outermost_allocator_imp::type & - get_outermost_allocator(Alloc &a) -{ return container_detail::outermost_allocator_imp::get(a); } +template +typename container_detail::outermost_allocator_imp::type & + get_outermost_allocator(Allocator &a) +{ return container_detail::outermost_allocator_imp::get(a); } -template -const typename container_detail::outermost_allocator_imp::type & - get_outermost_allocator(const Alloc &a) -{ return container_detail::outermost_allocator_imp::get(a); } +template +const typename container_detail::outermost_allocator_imp::type & + get_outermost_allocator(const Allocator &a) +{ return container_detail::outermost_allocator_imp::get(a); } namespace container_detail { // Check if we can detect is_convertible using advanced SFINAE expressions -#if !defined(BOOST_NO_SFINAE_EXPR) +#if !defined(BOOST_NO_CXX11_DECLTYPE) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) //! Code inspired by Mathias Gaunard's is_convertible.cpp found in the Boost mailing list //! http://boost.2283326.n4.nabble.com/type-traits-is-constructible-when-decltype-is-supported-td3575452.html //! Thanks Mathias! //With variadic templates, we need a single class to implement the trait - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template - struct is_constructible_impl + struct is_constructible { typedef char yes_type; struct no_type @@ -272,7 +279,7 @@ namespace container_detail { struct dummy; template - static yes_type test(dummy()...))>*); + static decltype(X(boost::move_detail::declval()...), true_type()) test(int); template static no_type test(...); @@ -280,148 +287,39 @@ namespace container_detail { static const bool value = sizeof(test(0)) == sizeof(yes_type); }; - template - struct is_constructible - : boost::integral_constant::value> - {}; - template struct is_constructible_with_allocator_prefix : is_constructible {}; - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - - //Without variadic templates, we need to use de preprocessor to generate - //some specializations. - - #define BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS \ - BOOST_PP_ADD(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, 3) - //! - - //Generate N+1 template parameters so that we can specialize N - template - struct is_constructible_impl; - - //Generate N specializations, from 0 to - //BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS parameters - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - struct is_constructible_impl \ - \ - { \ - typedef char yes_type; \ - struct no_type \ - { char padding[2]; }; \ - \ - template \ - struct dummy; \ - \ - template \ - static yes_type test(dummy*); \ - \ - template \ - static no_type test(...); \ - \ - static const bool value = sizeof(test(0)) == sizeof(yes_type); \ - }; \ - //! - - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - - //Finally just inherit from the implementation to define he trait - template< class T - BOOST_PP_ENUM_TRAILING( BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS - , BOOST_CONTAINER_PP_TEMPLATE_PARAM_WITH_DEFAULT - , void) - > - struct is_constructible - : boost::integral_constant - < bool - , is_constructible_impl - < T - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS, P) - , void>::value - > - {}; - - //Finally just inherit from the implementation to define he trait - template - struct is_constructible_with_allocator_prefix - : is_constructible - < T, allocator_arg_t, InnerAlloc - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_SUB(BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS, 2), P) - > - {}; -/* - template - struct is_constructible_with_allocator_suffix - : is_constructible - < T - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_PP_SUB(BOOST_CONTAINER_MAX_IS_CONSTRUCTIBLE_PARAMETERS, 1), P) - , InnerAlloc - > - {};*/ - - #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - -#else // #if !defined(BOOST_NO_SFINAE_EXPR) +#else // #if !defined(BOOST_NO_SFINAE_EXPR) && !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) //Without advanced SFINAE expressions, we can't use is_constructible //so backup to constructible_with_allocator_xxx #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template < class T, class InnerAlloc, class ...Args> + template struct is_constructible_with_allocator_prefix : constructible_with_allocator_prefix {}; -/* - template < class T, class InnerAlloc, class ...Args> + + template struct is_constructible_with_allocator_suffix : constructible_with_allocator_suffix - {};*/ + {}; #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - template < class T - , class InnerAlloc - BOOST_PP_ENUM_TRAILING( BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS - , BOOST_CONTAINER_PP_TEMPLATE_PARAM_WITH_DEFAULT - , void) - > + template struct is_constructible_with_allocator_prefix : constructible_with_allocator_prefix {}; -/* - template < class T - , class InnerAlloc - BOOST_PP_ENUM_TRAILING( BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS - , BOOST_CONTAINER_PP_TEMPLATE_PARAM_WITH_DEFAULT - , void) - > + + template struct is_constructible_with_allocator_suffix : constructible_with_allocator_suffix - {};*/ + {}; #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) @@ -429,13 +327,14 @@ namespace container_detail { #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +// allocator_arg_t template < typename OutermostAlloc , typename InnerAlloc , typename T , class ...Args > inline void dispatch_allocator_prefix_suffix - ( boost::true_type use_alloc_prefix, OutermostAlloc& outermost_alloc + ( true_type use_alloc_prefix, OutermostAlloc& outermost_alloc , InnerAlloc& inner_alloc, T* p, BOOST_FWD_REF(Args) ...args) { (void)use_alloc_prefix; @@ -443,13 +342,14 @@ inline void dispatch_allocator_prefix_suffix ( outermost_alloc, p, allocator_arg, inner_alloc, ::boost::forward(args)...); } +// allocator suffix template < typename OutermostAlloc , typename InnerAlloc , typename T , class ...Args > inline void dispatch_allocator_prefix_suffix - ( boost::false_type use_alloc_prefix, OutermostAlloc& outermost_alloc + ( false_type use_alloc_prefix, OutermostAlloc& outermost_alloc , InnerAlloc &inner_alloc, T* p, BOOST_FWD_REF(Args)...args) { (void)use_alloc_prefix; @@ -463,14 +363,14 @@ template < typename OutermostAlloc , class ...Args > inline void dispatch_uses_allocator - ( boost::true_type uses_allocator, OutermostAlloc& outermost_alloc + ( true_type uses_allocator, OutermostAlloc& outermost_alloc , InnerAlloc& inner_alloc, T* p, BOOST_FWD_REF(Args)...args) { (void)uses_allocator; //BOOST_STATIC_ASSERT((is_constructible_with_allocator_prefix::value || // is_constructible_with_allocator_suffix::value )); dispatch_allocator_prefix_suffix - ( is_constructible_with_allocator_prefix() + ( bool_< is_constructible_with_allocator_prefix::value>() , outermost_alloc, inner_alloc, p, ::boost::forward(args)...); } @@ -480,7 +380,7 @@ template < typename OutermostAlloc , class ...Args > inline void dispatch_uses_allocator - ( boost::false_type uses_allocator, OutermostAlloc & outermost_alloc + ( false_type uses_allocator, OutermostAlloc & outermost_alloc , InnerAlloc & inner_alloc ,T* p, BOOST_FWD_REF(Args)...args) { @@ -491,78 +391,53 @@ inline void dispatch_uses_allocator #else //#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#define BOOST_PP_LOCAL_MACRO(n) \ -template < typename OutermostAlloc \ - , typename InnerAlloc \ - , typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ -inline void dispatch_allocator_prefix_suffix( \ - boost::true_type use_alloc_prefix, \ - OutermostAlloc& outermost_alloc, \ - InnerAlloc& inner_alloc, \ - T* p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ -{ \ - (void)use_alloc_prefix, \ - allocator_traits::construct \ - (outermost_alloc, p, allocator_arg, inner_alloc \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ -} \ - \ -template < typename OutermostAlloc \ - , typename InnerAlloc \ - , typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ -inline void dispatch_allocator_prefix_suffix( \ - boost::false_type use_alloc_prefix, \ - OutermostAlloc& outermost_alloc, \ - InnerAlloc& inner_alloc, \ - T* p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ -{ \ - (void)use_alloc_prefix; \ - allocator_traits::construct \ - (outermost_alloc, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) \ - , inner_alloc); \ -} \ - \ -template < typename OutermostAlloc \ - , typename InnerAlloc \ - , typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ -inline void dispatch_uses_allocator(boost::true_type uses_allocator, \ - OutermostAlloc& outermost_alloc, \ - InnerAlloc& inner_alloc, \ - T* p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ -{ \ - (void)uses_allocator; \ - dispatch_allocator_prefix_suffix \ - (is_constructible_with_allocator_prefix \ - < T, InnerAlloc BOOST_PP_ENUM_TRAILING_PARAMS(n, P)>() \ - , outermost_alloc, inner_alloc, p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ -} \ - \ -template < typename OutermostAlloc \ - , typename InnerAlloc \ - , typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ -inline void dispatch_uses_allocator(boost::false_type uses_allocator \ - ,OutermostAlloc & outermost_alloc \ - ,InnerAlloc & inner_alloc \ - ,T* p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ -{ \ - (void)uses_allocator; (void)inner_alloc; \ - allocator_traits::construct \ - (outermost_alloc, p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ -} \ -//! -#define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) -#include BOOST_PP_LOCAL_ITERATE() +#define BOOST_CONTAINER_SCOPED_ALLOCATOR_DISPATCH_USES_ALLOCATOR_CODE(N) \ +template < typename OutermostAlloc, typename InnerAlloc, typename T\ + BOOST_MOVE_I##N BOOST_MOVE_CLASS##N > \ +inline void dispatch_allocator_prefix_suffix\ + (true_type use_alloc_prefix, OutermostAlloc& outermost_alloc,\ + InnerAlloc& inner_alloc, T* p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ +{\ + (void)use_alloc_prefix,\ + allocator_traits::construct\ + (outermost_alloc, p, allocator_arg, inner_alloc BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ +}\ +\ +template < typename OutermostAlloc, typename InnerAlloc, typename T\ + BOOST_MOVE_I##N BOOST_MOVE_CLASS##N >\ +inline void dispatch_allocator_prefix_suffix\ + (false_type use_alloc_prefix, OutermostAlloc& outermost_alloc,\ + InnerAlloc& inner_alloc, T* p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ +{\ + (void)use_alloc_prefix;\ + allocator_traits::construct\ + (outermost_alloc, p BOOST_MOVE_I##N BOOST_MOVE_FWD##N, inner_alloc);\ +}\ +\ +template < typename OutermostAlloc, typename InnerAlloc, typename T\ + BOOST_MOVE_I##N BOOST_MOVE_CLASS##N >\ +inline void dispatch_uses_allocator\ + (true_type uses_allocator, OutermostAlloc& outermost_alloc,\ + InnerAlloc& inner_alloc, T* p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ +{\ + (void)uses_allocator;\ + dispatch_allocator_prefix_suffix\ + ( bool_< is_constructible_with_allocator_prefix::value >()\ + , outermost_alloc, inner_alloc, p BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ +}\ +\ +template < typename OutermostAlloc, typename InnerAlloc, typename T\ + BOOST_MOVE_I##N BOOST_MOVE_CLASS##N >\ +inline void dispatch_uses_allocator\ + (false_type uses_allocator, OutermostAlloc &outermost_alloc,\ + InnerAlloc &inner_alloc, T* p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ +{\ + (void)uses_allocator; (void)inner_alloc;\ + allocator_traits::construct(outermost_alloc, p BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ +}\ +// +BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_SCOPED_ALLOCATOR_DISPATCH_USES_ALLOCATOR_CODE) +#undef BOOST_CONTAINER_SCOPED_ALLOCATOR_DISPATCH_USES_ALLOCATOR_CODE #endif //#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) @@ -587,21 +462,22 @@ class scoped_allocator_adaptor_base typedef allocator_traits inner_traits_type; typedef scoped_allocator_adaptor scoped_allocator_type; - typedef boost::integral_constant< - bool, + typedef container_detail::bool_< outer_traits_type::propagate_on_container_copy_assignment::value || inner_allocator_type::propagate_on_container_copy_assignment::value > propagate_on_container_copy_assignment; - typedef boost::integral_constant< - bool, + typedef container_detail::bool_< outer_traits_type::propagate_on_container_move_assignment::value || inner_allocator_type::propagate_on_container_move_assignment::value > propagate_on_container_move_assignment; - typedef boost::integral_constant< - bool, + typedef container_detail::bool_< outer_traits_type::propagate_on_container_swap::value || inner_allocator_type::propagate_on_container_swap::value > propagate_on_container_swap; + typedef container_detail::bool_< + outer_traits_type::is_always_equal::value && + inner_allocator_type::is_always_equal::value + > is_always_equal; scoped_allocator_adaptor_base() {} @@ -668,23 +544,23 @@ class scoped_allocator_adaptor_base void swap(scoped_allocator_adaptor_base &r) { - boost::container::swap_dispatch(this->outer_allocator(), r.outer_allocator()); - boost::container::swap_dispatch(this->m_inner, r.inner_allocator()); + boost::adl_move_swap(this->outer_allocator(), r.outer_allocator()); + boost::adl_move_swap(this->m_inner, r.inner_allocator()); } friend void swap(scoped_allocator_adaptor_base &l, scoped_allocator_adaptor_base &r) { l.swap(r); } - inner_allocator_type& inner_allocator() BOOST_CONTAINER_NOEXCEPT + inner_allocator_type& inner_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return m_inner; } - inner_allocator_type const& inner_allocator() const BOOST_CONTAINER_NOEXCEPT + inner_allocator_type const& inner_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return m_inner; } - outer_allocator_type & outer_allocator() BOOST_CONTAINER_NOEXCEPT + outer_allocator_type & outer_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return static_cast(*this); } - const outer_allocator_type &outer_allocator() const BOOST_CONTAINER_NOEXCEPT + const outer_allocator_type &outer_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return static_cast(*this); } scoped_allocator_type select_on_container_copy_construction() const @@ -704,186 +580,157 @@ class scoped_allocator_adaptor_base //Let's add a dummy first template parameter to allow creating //specializations up to maximum InnerAlloc count -template < - typename OuterAlloc - , bool Dummy - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, class Q) - > +template class scoped_allocator_adaptor_base; //Specializations for the adaptor with InnerAlloc allocators -#define BOOST_PP_LOCAL_MACRO(n) \ -template \ -class scoped_allocator_adaptor_base \ - : public OuterAlloc \ -{ \ - typedef allocator_traits outer_traits_type; \ - BOOST_COPYABLE_AND_MOVABLE(scoped_allocator_adaptor_base) \ - \ - public: \ - template \ - struct rebind_base \ - { \ - typedef scoped_allocator_adaptor_base other; \ - }; \ - \ - typedef OuterAlloc outer_allocator_type; \ - typedef scoped_allocator_adaptor inner_allocator_type; \ - typedef scoped_allocator_adaptor scoped_allocator_type; \ - typedef allocator_traits inner_traits_type; \ - typedef boost::integral_constant< \ - bool, \ - outer_traits_type::propagate_on_container_copy_assignment::value || \ - inner_allocator_type::propagate_on_container_copy_assignment::value \ - > propagate_on_container_copy_assignment; \ - typedef boost::integral_constant< \ - bool, \ - outer_traits_type::propagate_on_container_move_assignment::value || \ - inner_allocator_type::propagate_on_container_move_assignment::value \ - > propagate_on_container_move_assignment; \ - typedef boost::integral_constant< \ - bool, \ - outer_traits_type::propagate_on_container_swap::value || \ - inner_allocator_type::propagate_on_container_swap::value \ - > propagate_on_container_swap; \ - \ - scoped_allocator_adaptor_base() \ - {} \ - \ - template \ - scoped_allocator_adaptor_base(BOOST_FWD_REF(OuterA2) outerAlloc \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_CONST_REF_PARAM_LIST_Q, _)) \ - : outer_allocator_type(::boost::forward(outerAlloc)) \ - , m_inner(BOOST_PP_ENUM_PARAMS(n, q)) \ - {} \ - \ - scoped_allocator_adaptor_base(const scoped_allocator_adaptor_base& other) \ - : outer_allocator_type(other.outer_allocator()) \ - , m_inner(other.inner_allocator()) \ - {} \ - \ - scoped_allocator_adaptor_base(BOOST_RV_REF(scoped_allocator_adaptor_base) other) \ - : outer_allocator_type(::boost::move(other.outer_allocator())) \ - , m_inner(::boost::move(other.inner_allocator())) \ - {} \ - \ - template \ - scoped_allocator_adaptor_base(const scoped_allocator_adaptor_base& other) \ - : outer_allocator_type(other.outer_allocator()) \ - , m_inner(other.inner_allocator()) \ - {} \ - \ - template \ - scoped_allocator_adaptor_base \ - (BOOST_RV_REF_BEG scoped_allocator_adaptor_base BOOST_RV_REF_END other) \ - : outer_allocator_type(other.outer_allocator()) \ - , m_inner(other.inner_allocator()) \ - {} \ - \ - public: \ - struct internal_type_t{}; \ - \ - template \ - scoped_allocator_adaptor_base \ - ( internal_type_t \ - , BOOST_FWD_REF(OuterA2) outerAlloc \ - , const inner_allocator_type &inner) \ - : outer_allocator_type(::boost::forward(outerAlloc)) \ - , m_inner(inner) \ - {} \ - \ - public: \ - scoped_allocator_adaptor_base &operator= \ - (BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor_base) other) \ - { \ - outer_allocator_type::operator=(other.outer_allocator()); \ - m_inner = other.inner_allocator(); \ - return *this; \ - } \ - \ - scoped_allocator_adaptor_base &operator=(BOOST_RV_REF(scoped_allocator_adaptor_base) other) \ - { \ - outer_allocator_type::operator=(boost::move(other.outer_allocator())); \ - m_inner = ::boost::move(other.inner_allocator()); \ - return *this; \ - } \ - \ - void swap(scoped_allocator_adaptor_base &r) \ - { \ - boost::container::swap_dispatch(this->outer_allocator(), r.outer_allocator()); \ - boost::container::swap_dispatch(this->m_inner, r.inner_allocator()); \ - } \ - \ - friend void swap(scoped_allocator_adaptor_base &l, scoped_allocator_adaptor_base &r) \ - { l.swap(r); } \ - \ - inner_allocator_type& inner_allocator() \ - { return m_inner; } \ - \ - inner_allocator_type const& inner_allocator() const \ - { return m_inner; } \ - \ - outer_allocator_type & outer_allocator() \ - { return static_cast(*this); } \ - \ - const outer_allocator_type &outer_allocator() const \ - { return static_cast(*this); } \ - \ - scoped_allocator_type select_on_container_copy_construction() const \ - { \ - return scoped_allocator_type \ - (internal_type_t() \ - ,outer_traits_type::select_on_container_copy_construction(this->outer_allocator()) \ - ,inner_traits_type::select_on_container_copy_construction(this->inner_allocator()) \ - ); \ - } \ - private: \ - inner_allocator_type m_inner; \ -}; \ +#define BOOST_CONTAINER_SCOPED_ALLOCATOR_ADAPTOR_BASE_CODE(N)\ +template \ +class scoped_allocator_adaptor_base\ + : public OuterAlloc\ +{\ + typedef allocator_traits outer_traits_type;\ + BOOST_COPYABLE_AND_MOVABLE(scoped_allocator_adaptor_base)\ + \ + public:\ + template \ + struct rebind_base\ + {\ + typedef scoped_allocator_adaptor_base other;\ + };\ + \ + typedef OuterAlloc outer_allocator_type;\ + typedef scoped_allocator_adaptor inner_allocator_type;\ + typedef scoped_allocator_adaptor scoped_allocator_type;\ + typedef allocator_traits inner_traits_type;\ + typedef container_detail::bool_<\ + outer_traits_type::propagate_on_container_copy_assignment::value ||\ + inner_allocator_type::propagate_on_container_copy_assignment::value\ + > propagate_on_container_copy_assignment;\ + typedef container_detail::bool_<\ + outer_traits_type::propagate_on_container_move_assignment::value ||\ + inner_allocator_type::propagate_on_container_move_assignment::value\ + > propagate_on_container_move_assignment;\ + typedef container_detail::bool_<\ + outer_traits_type::propagate_on_container_swap::value ||\ + inner_allocator_type::propagate_on_container_swap::value\ + > propagate_on_container_swap;\ + \ + typedef container_detail::bool_<\ + outer_traits_type::is_always_equal::value &&\ + inner_allocator_type::is_always_equal::value\ + > is_always_equal;\ + \ + scoped_allocator_adaptor_base(){}\ + \ + template \ + scoped_allocator_adaptor_base(BOOST_FWD_REF(OuterA2) outerAlloc, BOOST_MOVE_CREF##N)\ + : outer_allocator_type(::boost::forward(outerAlloc))\ + , m_inner(BOOST_MOVE_ARG##N)\ + {}\ + \ + scoped_allocator_adaptor_base(const scoped_allocator_adaptor_base& other)\ + : outer_allocator_type(other.outer_allocator())\ + , m_inner(other.inner_allocator())\ + {}\ + \ + scoped_allocator_adaptor_base(BOOST_RV_REF(scoped_allocator_adaptor_base) other)\ + : outer_allocator_type(::boost::move(other.outer_allocator()))\ + , m_inner(::boost::move(other.inner_allocator()))\ + {}\ + \ + template \ + scoped_allocator_adaptor_base\ + (const scoped_allocator_adaptor_base& other)\ + : outer_allocator_type(other.outer_allocator())\ + , m_inner(other.inner_allocator())\ + {}\ + \ + template \ + scoped_allocator_adaptor_base\ + (BOOST_RV_REF_BEG scoped_allocator_adaptor_base BOOST_RV_REF_END other)\ + : outer_allocator_type(other.outer_allocator())\ + , m_inner(other.inner_allocator())\ + {}\ + \ + public:\ + struct internal_type_t{};\ + \ + template \ + scoped_allocator_adaptor_base\ + ( internal_type_t, BOOST_FWD_REF(OuterA2) outerAlloc, const inner_allocator_type &inner)\ + : outer_allocator_type(::boost::forward(outerAlloc))\ + , m_inner(inner)\ + {}\ + \ + public:\ + scoped_allocator_adaptor_base &operator=\ + (BOOST_COPY_ASSIGN_REF(scoped_allocator_adaptor_base) other)\ + {\ + outer_allocator_type::operator=(other.outer_allocator());\ + m_inner = other.inner_allocator();\ + return *this;\ + }\ + \ + scoped_allocator_adaptor_base &operator=(BOOST_RV_REF(scoped_allocator_adaptor_base) other)\ + {\ + outer_allocator_type::operator=(boost::move(other.outer_allocator()));\ + m_inner = ::boost::move(other.inner_allocator());\ + return *this;\ + }\ + \ + void swap(scoped_allocator_adaptor_base &r)\ + {\ + boost::adl_move_swap(this->outer_allocator(), r.outer_allocator());\ + boost::adl_move_swap(this->m_inner, r.inner_allocator());\ + }\ + \ + friend void swap(scoped_allocator_adaptor_base &l, scoped_allocator_adaptor_base &r)\ + { l.swap(r); }\ + \ + inner_allocator_type& inner_allocator()\ + { return m_inner; }\ + \ + inner_allocator_type const& inner_allocator() const\ + { return m_inner; }\ + \ + outer_allocator_type & outer_allocator()\ + { return static_cast(*this); }\ + \ + const outer_allocator_type &outer_allocator() const\ + { return static_cast(*this); }\ + \ + scoped_allocator_type select_on_container_copy_construction() const\ + {\ + return scoped_allocator_type\ + (internal_type_t()\ + ,outer_traits_type::select_on_container_copy_construction(this->outer_allocator())\ + ,inner_traits_type::select_on_container_copy_construction(this->inner_allocator())\ + );\ + }\ + private:\ + inner_allocator_type m_inner;\ +};\ //! -#define BOOST_PP_LOCAL_LIMITS (1, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) -#include BOOST_PP_LOCAL_ITERATE() +BOOST_MOVE_ITERATE_1TO9(BOOST_CONTAINER_SCOPED_ALLOCATOR_ADAPTOR_BASE_CODE) +#undef BOOST_CONTAINER_SCOPED_ALLOCATOR_ADAPTOR_BASE_CODE #endif //#if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #define BOOST_CONTAINER_SCOPEDALLOC_DUMMYTRUE ,true + #define BOOST_CONTAINER_SCOPEDALLOC_ALLINNER BOOST_MOVE_TARG9 + #define BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS BOOST_MOVE_CLASS9 +#else + #define BOOST_CONTAINER_SCOPEDALLOC_DUMMYTRUE + #define BOOST_CONTAINER_SCOPEDALLOC_ALLINNER InnerAllocs... + #define BOOST_CONTAINER_SCOPEDALLOC_ALLINNERCLASS typename... InnerAllocs +#endif + //Specialization for adaptor without any InnerAlloc template -class scoped_allocator_adaptor_base - < OuterAlloc - #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - , true - BOOST_PP_ENUM_TRAILING(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, BOOST_CONTAINER_PP_IDENTITY, nat) - #endif - > +class scoped_allocator_adaptor_base< OuterAlloc BOOST_CONTAINER_SCOPEDALLOC_DUMMYTRUE> : public OuterAlloc { BOOST_COPYABLE_AND_MOVABLE(scoped_allocator_adaptor_base) @@ -894,11 +741,7 @@ class scoped_allocator_adaptor_base { typedef scoped_allocator_adaptor_base ::template portable_rebind_alloc::type - #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - , true - BOOST_PP_ENUM_TRAILING(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, BOOST_CONTAINER_PP_IDENTITY, container_detail::nat) - #endif - > other; + BOOST_CONTAINER_SCOPEDALLOC_DUMMYTRUE > other; }; typedef OuterAlloc outer_allocator_type; @@ -912,6 +755,8 @@ class scoped_allocator_adaptor_base propagate_on_container_move_assignment propagate_on_container_move_assignment; typedef typename outer_traits_type:: propagate_on_container_swap propagate_on_container_swap; + typedef typename outer_traits_type:: + is_always_equal is_always_equal; scoped_allocator_adaptor_base() {} @@ -931,25 +776,13 @@ class scoped_allocator_adaptor_base template scoped_allocator_adaptor_base - (const scoped_allocator_adaptor_base< - OuterA2 - #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - , true - BOOST_PP_ENUM_TRAILING(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, BOOST_CONTAINER_PP_IDENTITY, container_detail::nat) - #endif - >& other) + (const scoped_allocator_adaptor_base& other) : outer_allocator_type(other.outer_allocator()) {} template scoped_allocator_adaptor_base - (BOOST_RV_REF_BEG scoped_allocator_adaptor_base< - OuterA2 - #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - , true - BOOST_PP_ENUM_TRAILING(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, BOOST_CONTAINER_PP_IDENTITY, container_detail::nat) - #endif - > BOOST_RV_REF_END other) + (BOOST_RV_REF_BEG scoped_allocator_adaptor_base BOOST_RV_REF_END other) : outer_allocator_type(other.outer_allocator()) {} @@ -976,7 +809,7 @@ class scoped_allocator_adaptor_base void swap(scoped_allocator_adaptor_base &r) { - boost::container::swap_dispatch(this->outer_allocator(), r.outer_allocator()); + boost::adl_move_swap(this->outer_allocator(), r.outer_allocator()); } friend void swap(scoped_allocator_adaptor_base &l, scoped_allocator_adaptor_base &r) @@ -1013,78 +846,65 @@ class scoped_allocator_adaptor_base //Scoped allocator #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) +#if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - //! This class is a C++03-compatible implementation of std::scoped_allocator_adaptor. - //! The class template scoped_allocator_adaptor is an allocator template that specifies - //! the memory resource (the outer allocator) to be used by a container (as any other - //! allocator does) and also specifies an inner allocator resource to be passed to - //! the constructor of every element within the container. - //! - //! This adaptor is - //! instantiated with one outer and zero or more inner allocator types. If - //! instantiated with only one allocator type, the inner allocator becomes the - //! scoped_allocator_adaptor itself, thus using the same allocator resource for the - //! container and every element within the container and, if the elements themselves - //! are containers, each of their elements recursively. If instantiated with more than - //! one allocator, the first allocator is the outer allocator for use by the container, - //! the second allocator is passed to the constructors of the container's elements, - //! and, if the elements themselves are containers, the third allocator is passed to - //! the elements' elements, and so on. If containers are nested to a depth greater - //! than the number of allocators, the last allocator is used repeatedly, as in the - //! single-allocator case, for any remaining recursions. - //! - //! [Note: The - //! scoped_allocator_adaptor is derived from the outer allocator type so it can be - //! substituted for the outer allocator type in most expressions. -end note] - //! - //! In the construct member functions, OUTERMOST(x) is x if x does not have - //! an outer_allocator() member function and - //! OUTERMOST(x.outer_allocator()) otherwise; OUTERMOST_ALLOC_TRAITS(x) is - //! allocator_traits. - //! - //! [Note: OUTERMOST(x) and - //! OUTERMOST_ALLOC_TRAITS(x) are recursive operations. It is incumbent upon - //! the definition of outer_allocator() to ensure that the recursion terminates. - //! It will terminate for all instantiations of scoped_allocator_adaptor. -end note] - template - class scoped_allocator_adaptor +//! This class is a C++03-compatible implementation of std::scoped_allocator_adaptor. +//! The class template scoped_allocator_adaptor is an allocator template that specifies +//! the memory resource (the outer allocator) to be used by a container (as any other +//! allocator does) and also specifies an inner allocator resource to be passed to +//! the constructor of every element within the container. +//! +//! This adaptor is +//! instantiated with one outer and zero or more inner allocator types. If +//! instantiated with only one allocator type, the inner allocator becomes the +//! scoped_allocator_adaptor itself, thus using the same allocator resource for the +//! container and every element within the container and, if the elements themselves +//! are containers, each of their elements recursively. If instantiated with more than +//! one allocator, the first allocator is the outer allocator for use by the container, +//! the second allocator is passed to the constructors of the container's elements, +//! and, if the elements themselves are containers, the third allocator is passed to +//! the elements' elements, and so on. If containers are nested to a depth greater +//! than the number of allocators, the last allocator is used repeatedly, as in the +//! single-allocator case, for any remaining recursions. +//! +//! [Note: The +//! scoped_allocator_adaptor is derived from the outer allocator type so it can be +//! substituted for the outer allocator type in most expressions. -end note] +//! +//! In the construct member functions, OUTERMOST(x) is x if x does not have +//! an outer_allocator() member function and +//! OUTERMOST(x.outer_allocator()) otherwise; OUTERMOST_ALLOC_TRAITS(x) is +//! allocator_traits. +//! +//! [Note: OUTERMOST(x) and +//! OUTERMOST_ALLOC_TRAITS(x) are recursive operations. It is incumbent upon +//! the definition of outer_allocator() to ensure that the recursion terminates. +//! It will terminate for all instantiations of scoped_allocator_adaptor. -end note] +template +class scoped_allocator_adaptor - #else // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) +#else // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - template - class scoped_allocator_adaptor +template +class scoped_allocator_adaptor - #endif // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) +#endif // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) -template +template class scoped_allocator_adaptor #endif + : public container_detail::scoped_allocator_adaptor_base - + { BOOST_COPYABLE_AND_MOVABLE(scoped_allocator_adaptor) public: #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED typedef container_detail::scoped_allocator_adaptor_base - base_type; + base_type; typedef typename base_type::internal_type_t internal_type_t; #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED typedef OuterAlloc outer_allocator_type; @@ -1102,19 +922,29 @@ class scoped_allocator_adaptor typedef typename outer_traits_type::const_pointer const_pointer; typedef typename outer_traits_type::void_pointer void_pointer; typedef typename outer_traits_type::const_void_pointer const_void_pointer; - //! Type: true_type if allocator_traits::propagate_on_container_copy_assignment::value is - //! true for any Allocator in the set of OuterAlloc and InnerAllocs...; otherwise, false_type. + //! Type: A type with a constant boolean value == true if + //!`allocator_traits::propagate_on_container_copy_assignment::value` is + //! true for any Allocator in the set of OuterAlloc and InnerAllocs..., false otherwise. typedef typename base_type:: propagate_on_container_copy_assignment propagate_on_container_copy_assignment; - //! Type: true_type if allocator_traits::propagate_on_container_move_assignment::value is - //! true for any Allocator in the set of OuterAlloc and InnerAllocs...; otherwise, false_type. + //! Type: A type with a constant boolean value == true if + //!`allocator_traits::propagate_on_container_move_assignment::value` is + //! true for any Allocator in the set of OuterAlloc and InnerAllocs..., false otherwise. typedef typename base_type:: propagate_on_container_move_assignment propagate_on_container_move_assignment; - //! Type: true_type if allocator_traits::propagate_on_container_swap::value is true for any - //! Allocator in the set of OuterAlloc and InnerAllocs...; otherwise, false_type. + + //! Type: A type with a constant boolean value == true if + //! `allocator_traits::propagate_on_container_swap::value` is + //! true for any Allocator in the set of OuterAlloc and InnerAllocs..., false otherwise. typedef typename base_type:: propagate_on_container_swap propagate_on_container_swap; + //! Type: A type with a constant boolean value == true if + //!`allocator_traits::is_always_equal::value` is + //! true for all Allocator in the set of OuterAlloc and InnerAllocs..., false otherwise. + typedef typename base_type:: + is_always_equal is_always_equal; + //! Type: Rebinds scoped allocator to //! typedef scoped_allocator_adaptor //! < typename outer_traits_type::template portable_rebind_alloc::type @@ -1124,12 +954,7 @@ class scoped_allocator_adaptor { typedef scoped_allocator_adaptor < typename outer_traits_type::template portable_rebind_alloc::type - #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , InnerAllocs... - #else - BOOST_PP_ENUM_TRAILING_PARAMS(BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS, Q) - #endif - > other; + , BOOST_CONTAINER_SCOPEDALLOC_ALLINNER> other; }; //! Effects: value-initializes the OuterAlloc base class @@ -1165,17 +990,14 @@ class scoped_allocator_adaptor {} #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - #define BOOST_PP_LOCAL_MACRO(n) \ - template \ - scoped_allocator_adaptor(BOOST_FWD_REF(OuterA2) outerAlloc \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_CONST_REF_PARAM_LIST_Q, _)) \ - : base_type(::boost::forward(outerAlloc) \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, q) \ - ) \ - {} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_SCOPED_ALLOCATOR_ADAPTOR_RELATED_ALLOCATOR_CONSTRUCTOR_CODE(N)\ + template \ + scoped_allocator_adaptor(BOOST_FWD_REF(OuterA2) outerAlloc BOOST_MOVE_I##N BOOST_MOVE_CREF##N)\ + : base_type(::boost::forward(outerAlloc) BOOST_MOVE_I##N BOOST_MOVE_ARG##N)\ + {}\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_SCOPED_ALLOCATOR_ADAPTOR_RELATED_ALLOCATOR_CONSTRUCTOR_CODE) + #undef BOOST_CONTAINER_SCOPED_ALLOCATOR_ADAPTOR_RELATED_ALLOCATOR_CONSTRUCTOR_CODE #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) @@ -1183,13 +1005,7 @@ class scoped_allocator_adaptor //! //! Effects: initializes each allocator within the adaptor with the corresponding allocator from other. template - scoped_allocator_adaptor(const scoped_allocator_adaptor &other) + scoped_allocator_adaptor(const scoped_allocator_adaptor &other) : base_type(other.base()) {} @@ -1198,13 +1014,8 @@ class scoped_allocator_adaptor //! Effects: initializes each allocator within the adaptor with the corresponding allocator //! rvalue from other. template - scoped_allocator_adaptor(BOOST_RV_REF_BEG scoped_allocator_adaptor BOOST_RV_REF_END other) + scoped_allocator_adaptor(BOOST_RV_REF_BEG scoped_allocator_adaptor + BOOST_RV_REF_END other) : base_type(::boost::move(other.base())) {} @@ -1212,7 +1023,7 @@ class scoped_allocator_adaptor { return static_cast(base_type::operator=(static_cast(other))); } scoped_allocator_adaptor &operator=(BOOST_RV_REF(scoped_allocator_adaptor) other) - { return static_cast(base_type::operator=(boost::move(static_cast(other)))); } + { return static_cast(base_type::operator=(boost::move(other.base()))); } #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED //! Effects: swaps *this with r. @@ -1225,33 +1036,31 @@ class scoped_allocator_adaptor //! Returns: //! static_cast(*this). - outer_allocator_type & outer_allocator() BOOST_CONTAINER_NOEXCEPT; + outer_allocator_type & outer_allocator() BOOST_NOEXCEPT_OR_NOTHROW; //! Returns: //! static_cast(*this). - const outer_allocator_type &outer_allocator() const BOOST_CONTAINER_NOEXCEPT; + const outer_allocator_type &outer_allocator() const BOOST_NOEXCEPT_OR_NOTHROW; //! Returns: //! *this if sizeof...(InnerAllocs) is zero; otherwise, inner. - inner_allocator_type& inner_allocator() BOOST_CONTAINER_NOEXCEPT; + inner_allocator_type& inner_allocator() BOOST_NOEXCEPT_OR_NOTHROW; //! Returns: //! *this if sizeof...(InnerAllocs) is zero; otherwise, inner. - inner_allocator_type const& inner_allocator() const BOOST_CONTAINER_NOEXCEPT; + inner_allocator_type const& inner_allocator() const BOOST_NOEXCEPT_OR_NOTHROW; #endif //BOOST_CONTAINER_DOXYGEN_INVOKED //! Returns: //! allocator_traits::max_size(outer_allocator()). - size_type max_size() const BOOST_CONTAINER_NOEXCEPT - { - return outer_traits_type::max_size(this->outer_allocator()); - } + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW + { return outer_traits_type::max_size(this->outer_allocator()); } //! Effects: //! calls OUTERMOST_ALLOC_TRAITS(*this)::destroy(OUTERMOST(*this), p). template - void destroy(T* p) BOOST_CONTAINER_NOEXCEPT + void destroy(T* p) BOOST_NOEXCEPT_OR_NOTHROW { allocator_traits::type> ::destroy(get_outermost_allocator(this->outer_allocator()), p); @@ -1260,27 +1069,21 @@ class scoped_allocator_adaptor //! Returns: //! allocator_traits::allocate(outer_allocator(), n). pointer allocate(size_type n) - { - return outer_traits_type::allocate(this->outer_allocator(), n); - } + { return outer_traits_type::allocate(this->outer_allocator(), n); } //! Returns: //! allocator_traits::allocate(outer_allocator(), n, hint). pointer allocate(size_type n, const_void_pointer hint) - { - return outer_traits_type::allocate(this->outer_allocator(), n, hint); - } + { return outer_traits_type::allocate(this->outer_allocator(), n, hint); } //! Effects: //! allocator_traits::deallocate(outer_allocator(), p, n). void deallocate(pointer p, size_type n) - { - outer_traits_type::deallocate(this->outer_allocator(), p, n); - } + { outer_traits_type::deallocate(this->outer_allocator(), p, n); } #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED - //! Returns: Allocator new scoped_allocator_adaptor object where each allocator - //! A in the adaptor is initialized from the result of calling + //! Returns: A new scoped_allocator_adaptor object where each allocator + //! Allocator in the adaptor is initialized from the result of calling //! allocator_traits::select_on_container_copy_construction() on //! the corresponding allocator in *this. scoped_allocator_adaptor select_on_container_copy_construction() const; @@ -1326,12 +1129,12 @@ class scoped_allocator_adaptor #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) void #else - typename container_detail::enable_if_c::value, void>::type + typename container_detail::enable_if >::type #endif construct(T* p, BOOST_FWD_REF(Args)...args) { container_detail::dispatch_uses_allocator - ( uses_allocator() + ( container_detail::bool_::value>() , get_outermost_allocator(this->outer_allocator()) , this->inner_allocator() , p, ::boost::forward(args)...); @@ -1341,22 +1144,19 @@ class scoped_allocator_adaptor //Disable this overload if the first argument is pair as some compilers have //overload selection problems when the first parameter is a pair. - #define BOOST_PP_LOCAL_MACRO(n) \ - template < typename T \ - BOOST_PP_ENUM_TRAILING_PARAMS(n, class P) \ - > \ - typename container_detail::enable_if_c::value, void>::type \ - construct(T* p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - container_detail::dispatch_uses_allocator \ - ( uses_allocator() \ - , get_outermost_allocator(this->outer_allocator()) \ - , this->inner_allocator() \ - , p BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_SCOPED_ALLOCATOR_CONSTRUCT_CODE(N) \ + template < typename T BOOST_MOVE_I##N BOOST_MOVE_CLASSQ##N >\ + typename container_detail::enable_if< container_detail::is_not_pair >::type\ + construct(T* p BOOST_MOVE_I##N BOOST_MOVE_UREFQ##N)\ + {\ + container_detail::dispatch_uses_allocator\ + ( container_detail::bool_::value>()\ + , get_outermost_allocator(this->outer_allocator())\ + , this->inner_allocator(), p BOOST_MOVE_I##N BOOST_MOVE_FWDQ##N);\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_SCOPED_ALLOCATOR_CONSTRUCT_CODE) + #undef BOOST_CONTAINER_SCOPED_ALLOCATOR_CONSTRUCT_CODE #endif // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) @@ -1388,12 +1188,12 @@ class scoped_allocator_adaptor template void construct( std::pair* p , BOOST_RV_REF_BEG std::pair BOOST_RV_REF_END x) - { this->construct_pair(p, x); } + { this->construct_pair(p, ::boost::move(x)); } template void construct( container_detail::pair* p , BOOST_RV_REF_BEG container_detail::pair BOOST_RV_REF_END x) - { this->construct_pair(p, x); } + { this->construct_pair(p, ::boost::move(x)); } #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED private: @@ -1427,31 +1227,11 @@ class scoped_allocator_adaptor template void construct_pair(Pair* p, const Pair2& pr) - { - this->construct(container_detail::addressof(p->first), pr.first); - BOOST_TRY{ - this->construct(container_detail::addressof(p->second), pr.second); - } - BOOST_CATCH(...){ - this->destroy(container_detail::addressof(p->first)); - BOOST_RETHROW - } - BOOST_CATCH_END - } + { this->construct_pair(p, pr.first, pr.second); } template void construct_pair(Pair* p, BOOST_RV_REF(Pair2) pr) - { - this->construct(container_detail::addressof(p->first), ::boost::move(pr.first)); - BOOST_TRY{ - this->construct(container_detail::addressof(p->second), ::boost::move(pr.second)); - } - BOOST_CATCH(...){ - this->destroy(container_detail::addressof(p->first)); - BOOST_RETHROW - } - BOOST_CATCH_END - } + { this->construct_pair(p, ::boost::move(pr.first), ::boost::move(pr.second)); } //template //void construct(pair* p, piecewise_construct_t, tuple x, tuple y); @@ -1466,66 +1246,57 @@ class scoped_allocator_adaptor #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED }; -template -inline bool operator==( - const scoped_allocator_adaptor& a, - const scoped_allocator_adaptor& b) +template +struct scoped_allocator_operator_equal +{ + //Optimize equal outer allocator types with + //allocator_traits::equal which uses is_always_equal + template + static bool equal_outer(const IA &l, const IA &r) + { return allocator_traits::equal(l, r); } + + //Otherwise compare it normally + template + static bool equal_outer(const IA1 &l, const IA2 &r) + { return l == r; } + + //Otherwise compare it normally + template + static bool equal_inner(const IA &l, const IA &r) + { return allocator_traits::equal(l, r); } +}; + +template<> +struct scoped_allocator_operator_equal + : scoped_allocator_operator_equal +{ + //when inner allocator count is zero, + //inner_allocator_type is the same as outer_allocator_type + //so both types can be different in operator== + template + static bool equal_inner(const IA1 &, const IA2 &) + { return true; } +}; + + +template +inline bool operator==(const scoped_allocator_adaptor& a + ,const scoped_allocator_adaptor& b) { #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) const bool has_zero_inner = sizeof...(InnerAllocs) == 0u; #else - const bool has_zero_inner = - boost::container::container_detail::is_same - ::value; + const bool has_zero_inner = boost::container::container_detail::is_same::value; #endif - - return a.outer_allocator() == b.outer_allocator() - && (has_zero_inner || a.inner_allocator() == b.inner_allocator()); + typedef scoped_allocator_operator_equal equal_t; + return equal_t::equal_outer(a.outer_allocator(), b.outer_allocator()) && + equal_t::equal_inner(a.inner_allocator(), b.inner_allocator()); } -template -inline bool operator!=( - const scoped_allocator_adaptor& a, - const scoped_allocator_adaptor& b) -{ - return ! (a == b); -} +template +inline bool operator!=(const scoped_allocator_adaptor& a + ,const scoped_allocator_adaptor& b) +{ return !(a == b); } }} // namespace boost { namespace container { diff --git a/3party/boost/boost/container/scoped_allocator_fwd.hpp b/3party/boost/boost/container/scoped_allocator_fwd.hpp index f19e27e885..003ed9f7f7 100644 --- a/3party/boost/boost/container/scoped_allocator_fwd.hpp +++ b/3party/boost/boost/container/scoped_allocator_fwd.hpp @@ -15,16 +15,20 @@ //! This header file forward declares boost::container::scoped_allocator_adaptor //! and defines the following types: -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include +#include #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -#include -#include +#include #endif namespace boost { namespace container { @@ -35,41 +39,48 @@ namespace boost { namespace container { #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - template - class scoped_allocator_adaptor; + template + class scoped_allocator_adaptor; #else // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - template - class scoped_allocator_adaptor; + template + class scoped_allocator_adaptor; - template - class scoped_allocator_adaptor; + template + class scoped_allocator_adaptor; #endif // #if !defined(BOOST_CONTAINER_UNIMPLEMENTED_PACK_EXPANSION_TO_FIXED_LIST) - #else // #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) -template -class scoped_allocator_adaptor; + template + class scoped_allocator_adaptor; #endif + template + struct std_allocator_arg_holder + { + static ::std::allocator_arg_t *dummy; + }; + + template + ::std::allocator_arg_t *std_allocator_arg_holder::dummy; + +#else //BOOST_CONTAINER_DOXYGEN_INVOKED + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED //! The allocator_arg_t struct is an empty structure type used as a unique type to //! disambiguate constructor and function overloading. Specifically, several types //! have constructors with allocator_arg_t as the first argument, immediately followed -//! by an argument of a type that satisfies the Allocator requirements -struct allocator_arg_t{}; +//! by an argument of a type that satisfies Allocator requirements +typedef const std::allocator_arg_t & allocator_arg_t; //! A instance of type allocator_arg_t //! -static const allocator_arg_t allocator_arg = allocator_arg_t(); +static allocator_arg_t allocator_arg = BOOST_CONTAINER_DOC1ST(unspecified, *std_allocator_arg_holder<>::dummy); template struct constructible_with_allocator_suffix; @@ -77,7 +88,7 @@ struct constructible_with_allocator_suffix; template struct constructible_with_allocator_prefix; -template +template struct uses_allocator; }} // namespace boost { namespace container { diff --git a/3party/boost/boost/container/set.hpp b/3party/boost/boost/container/set.hpp index 93a02d0faf..79fa1aec66 100644 --- a/3party/boost/boost/container/set.hpp +++ b/3party/boost/boost/container/set.hpp @@ -11,25 +11,36 @@ #ifndef BOOST_CONTAINER_SET_HPP #define BOOST_CONTAINER_SET_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include +// container #include - -#include -#include -#include - -#include -#include +// container/detail #include #include -#include -#ifndef BOOST_CONTAINER_PERFECT_FORWARDING -#include +#include //new_allocator +// intrusive/detail +#include //pair +#include //less, equal +// move +#include +#include +// move/detail +#include +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif +// std +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include #endif namespace boost { @@ -49,7 +60,7 @@ namespace container { //! \tparam Compare is the comparison functor used to order keys //! \tparam Allocator is the allocator to be used to allocate memory for this container //! \tparam SetOptions is an packed option type generated using using boost::container::tree_assoc_options. -template , class Allocator = std::allocator, class SetOptions = tree_assoc_defaults > +template , class Allocator = new_allocator, class SetOptions = tree_assoc_defaults > #else template #endif @@ -130,6 +141,16 @@ class set : base_t(true, first, last, comp, a) {} + //! Effects: Constructs an empty set using the specified + //! allocator, and inserts elements from the range [first ,last ). + //! + //! Complexity: Linear in N if the range [first ,last ) is already sorted using + //! comp and otherwise N logN, where N is last - first. + template + set(InputIterator first, InputIterator last, const allocator_type& a) + : base_t(true, first, last, key_compare(), a) + {} + //! Effects: Constructs an empty set using the specified comparison object and //! allocator, and inserts elements from the ordered unique range [first ,last). This function //! is more efficient than the normal range creation for ordered ranges. @@ -146,6 +167,41 @@ class set : base_t(ordered_range, first, last, comp, a) {} +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs an empty set using the specified comparison object and + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [il.begin(), il.end()) is already sorted using + //! comp and otherwise N logN, where N is il.begin() - il.end(). + set(std::initializer_list il, const Compare& comp = Compare(), const allocator_type& a = allocator_type()) + : base_t(true, il.begin(), il.end(), comp, a) + {} + + //! Effects: Constructs an empty set using the specified + //! allocator, and inserts elements from the range [il.begin(), il.end()). + //! + //! Complexity: Linear in N if the range [il.begin(), il.end()) is already sorted using + //! comp and otherwise N logN, where N is il.begin() - il.end(). + set(std::initializer_list il, const allocator_type& a) + : base_t(true, il.begin(), il.end(), Compare(), a) + {} + + //! Effects: Constructs an empty set using the specified comparison object and + //! allocator, and inserts elements from the ordered unique range [il.begin(), il.end()). This function + //! is more efficient than the normal range creation for ordered ranges. + //! + //! Requires: [il.begin(), il.end()) must be ordered according to the predicate and must be + //! unique values. + //! + //! Complexity: Linear in N. + //! + //! Note: Non-standard extension. + set( ordered_unique_range_t, std::initializer_list il, const Compare& comp = Compare() + , const allocator_type& a = allocator_type()) + : base_t(ordered_range, il.begin(), il.end(), comp, a) + {} +#endif + //! Effects: Copy constructs a set. //! //! Complexity: Linear in x.size(). @@ -159,7 +215,7 @@ class set //! //! Postcondition: x is emptied. set(BOOST_RV_REF(set) x) - : base_t(boost::move(static_cast(x))) + : base_t(BOOST_MOVE_BASE(base_t, x)) {} //! Effects: Copy constructs a set using the specified allocator. @@ -174,7 +230,7 @@ class set //! //! Complexity: Constant if a == x.get_allocator(), linear otherwise. set(BOOST_RV_REF(set) x, const allocator_type &a) - : base_t(boost::move(static_cast(x)), a) + : base_t(BOOST_MOVE_BASE(base_t, x), a) {} //! Effects: Makes *this a copy of x. @@ -192,12 +248,22 @@ class set //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. set& operator=(BOOST_RV_REF(set) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) + { return static_cast(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); } + +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + set& operator=(std::initializer_list il) + { + this->clear(); + insert(il.begin(), il.end()); + return *this; + } +#endif #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Effects: Returns a copy of the Allocator that + //! Effects: Returns a copy of the allocator that //! was passed to the object's constructor. //! //! Complexity: Constant. @@ -333,7 +399,7 @@ class set size_type max_size() const; #endif // #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object x of type Key constructed with //! std::forward(args)... if and only if there is @@ -350,7 +416,7 @@ class set //! //! Complexity: Logarithmic. template - std::pair emplace(Args&&... args) + std::pair emplace(BOOST_FWD_REF(Args)... args) { return this->base_t::emplace_unique(boost::forward(args)...); } //! Effects: Inserts an object of type Key constructed with @@ -363,26 +429,24 @@ class set //! //! Complexity: Logarithmic. template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_unique(hint, boost::forward(args)...); } + iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args) + { return this->base_t::emplace_hint_unique(p, boost::forward(args)...); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - std::pair emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_unique(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); }\ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_unique(hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_SET_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + std::pair emplace(BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_unique(BOOST_MOVE_FWD##N); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_hint_unique(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_SET_EMPLACE_CODE) + #undef BOOST_CONTAINER_SET_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts x if and only if there is no element in the container @@ -429,7 +493,7 @@ class set //! Returns: An iterator pointing to the element with key equivalent to the key of x. //! //! Complexity: Logarithmic. - iterator insert(const_iterator position, value_type &&x); + iterator insert(const_iterator p, value_type &&x); #else BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) #endif @@ -444,6 +508,15 @@ class set void insert(InputIterator first, InputIterator last) { this->base_t::insert_unique(first, last); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: inserts each element from the range [il.begin(),il.end()) if and only + //! if there is no element with key equivalent to the key of that element. + //! + //! Complexity: At most N log(size()+N) (N is the distance from il.begin() to il.end()) + void insert(std::initializer_list il) + { this->base_t::insert_unique(il.begin(), il.end()); } +#endif + #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Erases the element pointed to by p. @@ -474,7 +547,9 @@ class set //! Throws: Nothing. //! //! Complexity: Constant. - void swap(set& x); + void swap(set& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ); //! Effects: erase(a.begin(),a.end()). //! @@ -501,7 +576,7 @@ class set //! Complexity: Logarithmic. iterator find(const key_type& x); - //! Returns: Allocator const_iterator pointing to an element with the key + //! Returns: A const_iterator pointing to an element with the key //! equivalent to x, or end() if such an element is not found. //! //! Complexity: Logarithmic. @@ -529,7 +604,7 @@ class set //! Complexity: Logarithmic iterator lower_bound(const key_type& x); - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than k, or a.end() if such an element is not found. //! //! Complexity: Logarithmic @@ -541,7 +616,7 @@ class set //! Complexity: Logarithmic iterator upper_bound(const key_type& x); - //! Returns: Allocator const iterator pointing to the first element with key not + //! Returns: A const iterator pointing to the first element with key not //! less than x, or end() if such an element is not found. //! //! Complexity: Logarithmic @@ -633,10 +708,13 @@ class set //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template -struct has_trivial_destructor_after_move > +template +struct has_trivial_destructor_after_move > { - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; namespace container { @@ -657,7 +735,7 @@ namespace container { //! \tparam Compare is the comparison functor used to order keys //! \tparam Allocator is the allocator to be used to allocate memory for this container //! \tparam MultiSetOptions is an packed option type generated using using boost::container::tree_assoc_options. -template , class Allocator = std::allocator, class MultiSetOptions = tree_assoc_defaults > +template , class Allocator = new_allocator, class MultiSetOptions = tree_assoc_defaults > #else template #endif @@ -729,6 +807,12 @@ class multiset : base_t(false, first, last, comp, a) {} + //! @copydoc ::boost::container::set::set(InputIterator, InputIterator, const allocator_type&) + template + multiset(InputIterator first, InputIterator last, const allocator_type& a) + : base_t(false, first, last, key_compare(), a) + {} + //! Effects: Constructs an empty multiset using the specified comparison object and //! allocator, and inserts elements from the ordered range [first ,last ). This function //! is more efficient than the normal range creation for ordered ranges. @@ -745,6 +829,23 @@ class multiset : base_t(ordered_range, first, last, comp, a) {} +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! @copydoc ::boost::container::set::set(std::initializer_list, const Compare& comp, const allocator_type&) + multiset(std::initializer_list il, const Compare& comp = Compare(), const allocator_type& a = allocator_type()) + : base_t(false, il.begin(), il.end(), comp, a) + {} + + //! @copydoc ::boost::container::set::set(std::initializer_list, const allocator_type&) + multiset(std::initializer_list il, const allocator_type& a) + : base_t(false, il.begin(), il.end(), Compare(), a) + {} + + //! @copydoc ::boost::container::set::set(ordered_unique_range_t, std::initializer_list, const Compare& comp, const allocator_type&) + multiset(ordered_unique_range_t, std::initializer_list il, const Compare& comp = Compare(), const allocator_type& a = allocator_type()) + : base_t(ordered_range, il.begin(), il.end(), comp, a) + {} +#endif + //! @copydoc ::boost::container::set::set(const set &) multiset(const multiset& x) : base_t(static_cast(x)) @@ -752,7 +853,7 @@ class multiset //! @copydoc ::boost::container::set(set &&) multiset(BOOST_RV_REF(multiset) x) - : base_t(boost::move(static_cast(x))) + : base_t(BOOST_MOVE_BASE(base_t, x)) {} //! @copydoc ::boost::container::set(const set &, const allocator_type &) @@ -762,7 +863,7 @@ class multiset //! @copydoc ::boost::container::set(set &&, const allocator_type &) multiset(BOOST_RV_REF(multiset) x, const allocator_type &a) - : base_t(boost::move(static_cast(x)), a) + : base_t(BOOST_MOVE_BASE(base_t, x), a) {} //! @copydoc ::boost::container::set::operator=(const set &) @@ -771,8 +872,19 @@ class multiset //! @copydoc ::boost::container::set::operator=(set &&) multiset& operator=(BOOST_RV_REF(multiset) x) - { return static_cast(this->base_t::operator=(boost::move(static_cast(x)))); } + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_move_assignable::value ) + { return static_cast(this->base_t::operator=(BOOST_MOVE_BASE(base_t, x))); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! @copydoc ::boost::container::set::operator=(std::initializer_list) + multiset& operator=(std::initializer_list il) + { + this->clear(); + insert(il.begin(), il.end()); + return *this; + } +#endif #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! @copydoc ::boost::container::set::get_allocator() @@ -794,31 +906,31 @@ class multiset const_iterator cbegin() const; //! @copydoc ::boost::container::set::end() - iterator end() BOOST_CONTAINER_NOEXCEPT; + iterator end() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::end() const - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::cend() const - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::rbegin() - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::rbegin() const - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::crbegin() const - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::rend() - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::rend() const - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::crend() const - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::empty() const bool empty() const; @@ -831,7 +943,7 @@ class multiset #endif //#if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type Key constructed with //! std::forward(args)... and returns the iterator pointing to the @@ -839,7 +951,7 @@ class multiset //! //! Complexity: Logarithmic. template - iterator emplace(Args&&... args) + iterator emplace(BOOST_FWD_REF(Args)... args) { return this->base_t::emplace_equal(boost::forward(args)...); } //! Effects: Inserts an object of type Key constructed with @@ -851,26 +963,24 @@ class multiset //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. template - iterator emplace_hint(const_iterator hint, Args&&... args) - { return this->base_t::emplace_hint_equal(hint, boost::forward(args)...); } + iterator emplace_hint(const_iterator p, BOOST_FWD_REF(Args)... args) + { return this->base_t::emplace_hint_equal(p, boost::forward(args)...); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_equal(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_hint(const_iterator hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { return this->base_t::emplace_hint_equal(hint \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _));} \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_MULTISET_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace(BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_equal(BOOST_MOVE_FWD##N); }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + { return this->base_t::emplace_hint_equal(hint BOOST_MOVE_I##N BOOST_MOVE_FWD##N); }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_MULTISET_EMPLACE_CODE) + #undef BOOST_CONTAINER_MULTISET_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts x and returns the iterator pointing to the @@ -910,7 +1020,7 @@ class multiset //! //! Complexity: Logarithmic in general, but amortized constant if t //! is inserted right before p. - iterator insert(const_iterator position, value_type &&x); + iterator insert(const_iterator p, value_type &&x); #else BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, value_type, iterator, this->priv_insert, const_iterator, const_iterator) #endif @@ -924,6 +1034,12 @@ class multiset void insert(InputIterator first, InputIterator last) { this->base_t::insert_equal(first, last); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! @copydoc ::boost::container::set::insert(std::initializer_list) + void insert(std::initializer_list il) + { this->base_t::insert_equal(il.begin(), il.end()); } +#endif + #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! @copydoc ::boost::container::set::erase(const_iterator) @@ -936,10 +1052,12 @@ class multiset iterator erase(const_iterator first, const_iterator last); //! @copydoc ::boost::container::set::swap - void swap(flat_multiset& x); + void swap(multiset& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value + && boost::container::container_detail::is_nothrow_swappable::value ); //! @copydoc ::boost::container::set::clear - void clear() BOOST_CONTAINER_NOEXCEPT; + void clear() BOOST_NOEXCEPT_OR_NOTHROW; //! @copydoc ::boost::container::set::key_comp key_compare key_comp() const; @@ -1033,10 +1151,13 @@ class multiset //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations -template -struct has_trivial_destructor_after_move > +template +struct has_trivial_destructor_after_move > { - static const bool value = has_trivial_destructor_after_move::value && has_trivial_destructor_after_move::value; + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; }; namespace container { @@ -1047,5 +1168,4 @@ namespace container { #include -#endif /* BOOST_CONTAINER_SET_HPP */ - +#endif // BOOST_CONTAINER_SET_HPP diff --git a/3party/boost/boost/container/slist.hpp b/3party/boost/boost/container/slist.hpp index 6941d29ed2..2b53df132f 100644 --- a/3party/boost/boost/container/slist.hpp +++ b/3party/boost/boost/container/slist.hpp @@ -11,39 +11,47 @@ #ifndef BOOST_CONTAINER_SLIST_HPP #define BOOST_CONTAINER_SLIST_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include +// container #include +#include //new_allocator #include -#include -#include -#include -#include +// container/detail +#include //algo_equal(), algo_lexicographical_compare +#include +#include #include #include -#include -#include -#include #include +#include +// intrusive +#include #include - - -#if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) -//Preprocessor library to emulate perfect forwarding -#else -#include +// move +#include +#include +#include +// move/detail +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif +#include +// other +#include +// std +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include #endif - -#include -#include -#include -#include -#include namespace boost { namespace container { @@ -82,6 +90,11 @@ struct slist_node { return this->m_data; } }; +template +struct iiterator_node_value_type< slist_node > { + typedef T type; +}; + template struct intrusive_slist_type { @@ -144,7 +157,7 @@ struct intrusive_slist_type //! \tparam T The type of object that is stored in the list //! \tparam Allocator The allocator used for all internal memory management #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template > +template > #else template #endif @@ -156,48 +169,19 @@ class slist typedef typename container_detail::intrusive_slist_type::type Icont; typedef container_detail::node_alloc_holder AllocHolder; - typedef typename AllocHolder::NodePtr NodePtr; - typedef typename AllocHolder::NodeAlloc NodeAlloc; - typedef typename AllocHolder::ValAlloc ValAlloc; - typedef typename AllocHolder::Node Node; - typedef container_detail::allocator_destroyer Destroyer; - typedef typename AllocHolder::allocator_v1 allocator_v1; - typedef typename AllocHolder::allocator_v2 allocator_v2; - typedef typename AllocHolder::alloc_version alloc_version; - typedef boost::container::allocator_traits allocator_traits_type; - - class equal_to_value - { - typedef typename AllocHolder::value_type value_type; - const value_type &t_; - - public: - equal_to_value(const value_type &t) - : t_(t) - {} - - bool operator()(const value_type &t)const - { return t_ == t; } - }; - - template - struct ValueCompareToNodeCompare - : Pred - { - ValueCompareToNodeCompare(Pred pred) - : Pred(pred) - {} - - bool operator()(const Node &a, const Node &b) const - { return static_cast(*this)(a.m_data, b.m_data); } - - bool operator()(const Node &a) const - { return static_cast(*this)(a.m_data); } - }; + typedef typename AllocHolder::NodePtr NodePtr; + typedef typename AllocHolder::NodeAlloc NodeAlloc; + typedef typename AllocHolder::ValAlloc ValAlloc; + typedef typename AllocHolder::Node Node; + typedef container_detail::allocator_destroyer Destroyer; + typedef typename AllocHolder::alloc_version alloc_version; + typedef boost::container:: + allocator_traits allocator_traits_type; + typedef boost::container::equal_to_value equal_to_value_type; BOOST_COPYABLE_AND_MOVABLE(slist) - typedef container_detail::iterator iterator_impl; - typedef container_detail::iterator const_iterator_impl; + typedef container_detail::iterator_from_iiterator iterator_impl; + typedef container_detail::iterator_from_iiterator const_iterator_impl; #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED public: @@ -241,14 +225,32 @@ class slist //! Throws: Nothing //! //! Complexity: Constant. - explicit slist(const allocator_type& a) BOOST_CONTAINER_NOEXCEPT + explicit slist(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW : AllocHolder(a) {} + //! Effects: Constructs a list + //! and inserts n value-initialized value_types. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's default or copy constructor throws. + //! + //! Complexity: Linear to n. explicit slist(size_type n) : AllocHolder(allocator_type()) { this->resize(n); } + //! Effects: Constructs a list that will use a copy of allocator a + //! and inserts n copies of value. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's default or copy constructor throws. + //! + //! Complexity: Linear to n. + slist(size_type n, const allocator_type &a) + : AllocHolder(a) + { this->resize(n); } + //! Effects: Constructs a list that will use a copy of allocator a //! and inserts n copies of value. //! @@ -272,7 +274,20 @@ class slist : AllocHolder(a) { this->insert_after(this->cbefore_begin(), first, last); } - //! Effects: Copy constructs a list. +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs a list that will use a copy of allocator a + //! and inserts a copy of the range [il.begin(), il.end()) in the list. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's constructor taking a dereferenced std::initializer_list iterator throws. + //! + //! Complexity: Linear to the range [il.begin(), il.end()). + slist(std::initializer_list il, const allocator_type& a = allocator_type()) + : AllocHolder(a) + { this->insert_after(this->cbefore_begin(), il.begin(), il.end()); } +#endif + + //! Effects: Copy constructs a list. //! //! Postcondition: x == *this. //! @@ -283,13 +298,13 @@ class slist : AllocHolder(x) { this->insert_after(this->cbefore_begin(), x.begin(), x.end()); } - //! Effects: Move constructor. Moves mx's resources to *this. + //! Effects: Move constructor. Moves x's resources to *this. //! //! Throws: If allocator_type's copy constructor throws. //! //! Complexity: Constant. slist(BOOST_RV_REF(slist) x) - : AllocHolder(boost::move(static_cast(x))) + : AllocHolder(BOOST_MOVE_BASE(AllocHolder, x)) {} //! Effects: Copy constructs a list using the specified allocator. @@ -316,7 +331,7 @@ class slist this->icont().swap(x.icont()); } else{ - this->insert_after(this->cbefore_begin(), x.begin(), x.end()); + this->insert_after(this->cbefore_begin(), boost::make_move_iterator(x.begin()), boost::make_move_iterator(x.end())); } } @@ -326,7 +341,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Linear to the number of elements. - ~slist() BOOST_CONTAINER_NOEXCEPT + ~slist() BOOST_NOEXCEPT_OR_NOTHROW {} //AllocHolder clears the slist //! Effects: Makes *this contain the same elements as x. @@ -365,7 +380,8 @@ class slist //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. slist& operator= (BOOST_RV_REF(slist) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) + BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value + || allocator_traits_type::is_always_equal::value) { BOOST_ASSERT(this != &x); NodeAlloc &this_alloc = this->node_alloc(); @@ -391,6 +407,21 @@ class slist return *this; } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Makes *this contain the same elements as in il. + //! + //! Postcondition: this->size() == il.size(). *this contains a copy + //! of each of il's elements. + //! + //! Throws: If allocator_traits_type::propagate_on_container_move_assignment + //! is false and (allocation throws or value_type's move constructor throws) + slist& operator=(std::initializer_list il) + { + assign(il.begin(), il.end()); + return *this; + } +#endif + //! Effects: Assigns the n copies of val to *this. //! //! Throws: If memory allocation throws or T's copy constructor throws. @@ -411,9 +442,7 @@ class slist template void assign(InpIt first, InpIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - >::type * = 0 + , typename container_detail::disable_if_convertible::type * = 0 #endif ) { @@ -432,12 +461,25 @@ class slist this->erase_after(prev, end_n); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Assigns the range [il.begin(), il.end()) to *this. + //! + //! Throws: If memory allocation throws or + //! T's constructor from dereferencing std::initializer_list iterator throws. + //! + //! Complexity: Linear to range [il.begin(), il.end()). + + void assign(std::initializer_list il) + { + assign(il.begin(), il.end()); + } +#endif //! Effects: Returns a copy of the internal allocator. //! //! Throws: If allocator's copy constructor throws. //! //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT + allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return allocator_type(this->node_alloc()); } //! Effects: Returns a reference to the internal allocator. @@ -447,7 +489,7 @@ class slist //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return this->node_alloc(); } //! Effects: Returns a reference to the internal allocator. @@ -457,7 +499,7 @@ class slist //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return this->node_alloc(); } ////////////////////////////////////////////// @@ -473,7 +515,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Constant. - iterator before_begin() BOOST_CONTAINER_NOEXCEPT + iterator before_begin() BOOST_NOEXCEPT_OR_NOTHROW { return iterator(end()); } //! Effects: Returns a non-dereferenceable const_iterator @@ -483,7 +525,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator before_begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator before_begin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->cbefore_begin(); } //! Effects: Returns an iterator to the first element contained in the list. @@ -491,7 +533,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->icont().begin()); } //! Effects: Returns a const_iterator to the first element contained in the list. @@ -499,7 +541,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->cbegin(); } //! Effects: Returns an iterator to the end of the list. @@ -507,7 +549,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT + iterator end() BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->icont().end()); } //! Effects: Returns a const_iterator to the end of the list. @@ -515,7 +557,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW { return this->cend(); } //! Effects: Returns a non-dereferenceable const_iterator @@ -525,7 +567,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbefore_begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator cbefore_begin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_iterator(end()); } //! Effects: Returns a const_iterator to the first element contained in the list. @@ -533,7 +575,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_iterator(this->non_const_icont().begin()); } //! Effects: Returns a const_iterator to the end of the list. @@ -541,7 +583,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW { return const_iterator(this->non_const_icont().end()); } //! Returns: The iterator to the element before i in the sequence. @@ -553,7 +595,7 @@ class slist //! Complexity: Linear to the number of elements before i. //! //! Note: Non-standard extension. - iterator previous(iterator p) BOOST_CONTAINER_NOEXCEPT + iterator previous(iterator p) BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->icont().previous(p.get())); } //! Returns: The const_iterator to the element before i in the sequence. @@ -661,7 +703,7 @@ class slist // ////////////////////////////////////////////// - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type T constructed with //! std::forward(args)... in the front of the list @@ -671,7 +713,7 @@ class slist //! //! Complexity: Amortized constant time. template - void emplace_front(Args&&... args) + void emplace_front(BOOST_FWD_REF(Args)... args) { this->emplace_after(this->cbefore_begin(), boost::forward(args)...); } //! Effects: Inserts an object of type T constructed with @@ -682,35 +724,30 @@ class slist //! //! Complexity: Constant template - iterator emplace_after(const_iterator prev, Args&&... args) + iterator emplace_after(const_iterator prev, BOOST_FWD_REF(Args)... args) { NodePtr pnode(AllocHolder::create_node(boost::forward(args)...)); return iterator(this->icont().insert_after(prev.get(), *pnode)); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_front(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - this->emplace(this->cbegin() \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace_after(const_iterator prev \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - NodePtr pnode (AllocHolder::create_node \ - (BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _))); \ - return iterator(this->icont().insert_after(prev.get(), *pnode)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_SLIST_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + void emplace_front(BOOST_MOVE_UREF##N)\ + { this->emplace_after(this->cbefore_begin() BOOST_MOVE_I##N BOOST_MOVE_FWD##N);}\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace_after(const_iterator p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + NodePtr pnode (AllocHolder::create_node(BOOST_MOVE_FWD##N));\ + return iterator(this->icont().insert_after(p.get(), *pnode));\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_SLIST_EMPLACE_CODE) + #undef BOOST_CONTAINER_SLIST_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts a copy of x at the beginning of the list. @@ -722,7 +759,7 @@ class slist void push_front(const T &x); //! Effects: Constructs a new element in the beginning of the list - //! and moves the resources of mx to this new element. + //! and moves the resources of x to this new element. //! //! Throws: If memory allocation throws. //! @@ -736,8 +773,7 @@ class slist #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Requires: p must be a valid iterator of *this. //! - //! Effects: Inserts a copy of the value after the position pointed - //! by prev_p. + //! Effects: Inserts a copy of the value after prev_p. //! //! Returns: An iterator to the inserted element. //! @@ -747,12 +783,12 @@ class slist //! //! Note: Does not affect the validity of iterators and references of //! previous values. - iterator insert_after(const_iterator prev_pos, const T &x); + iterator insert_after(const_iterator prev_p, const T &x); - //! Requires: prev_pos must be a valid iterator of *this. + //! Requires: prev_p must be a valid iterator of *this. //! //! Effects: Inserts a move constructed copy object from the value after the - //! p pointed by prev_pos. + //! p pointed by prev_p. //! //! Returns: An iterator to the inserted element. //! @@ -762,16 +798,16 @@ class slist //! //! Note: Does not affect the validity of iterators and references of //! previous values. - iterator insert_after(const_iterator prev_pos, T &&x); + iterator insert_after(const_iterator prev_p, T &&x); #else BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert_after, T, iterator, priv_insert_after, const_iterator, const_iterator) #endif - //! Requires: prev_pos must be a valid iterator of *this. + //! Requires: prev_p must be a valid iterator of *this. //! - //! Effects: Inserts n copies of x after prev_pos. + //! Effects: Inserts n copies of x after prev_p. //! - //! Returns: an iterator to the last inserted element or prev_pos if n is 0. + //! Returns: an iterator to the last inserted element or prev_p if n is 0. //! //! Throws: If memory allocation throws or T's copy constructor throws. //! @@ -780,18 +816,17 @@ class slist //! //! Note: Does not affect the validity of iterators and references of //! previous values. - iterator insert_after(const_iterator prev_pos, size_type n, const value_type& x) + iterator insert_after(const_iterator prev_p, size_type n, const value_type& x) { typedef constant_iterator cvalue_iterator; - return this->insert_after(prev_pos, cvalue_iterator(x, n), cvalue_iterator()); + return this->insert_after(prev_p, cvalue_iterator(x, n), cvalue_iterator()); } - //! Requires: prev_pos must be a valid iterator of *this. + //! Requires: prev_p must be a valid iterator of *this. //! - //! Effects: Inserts the range pointed by [first, last) - //! after the position prev_pos. + //! Effects: Inserts the range pointed by [first, last) after prev_p. //! - //! Returns: an iterator to the last inserted element or prev_pos if first == last. + //! Returns: an iterator to the last inserted element or prev_p if first == last. //! //! Throws: If memory allocation throws, T's constructor from a //! dereferenced InpIt throws. @@ -801,38 +836,57 @@ class slist //! Note: Does not affect the validity of iterators and references of //! previous values. template - iterator insert_after(const_iterator prev_pos, InpIt first, InpIt last + iterator insert_after(const_iterator prev_p, InpIt first, InpIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) , typename container_detail::enable_if_c < !container_detail::is_convertible::value && (container_detail::is_input_iterator::value - || container_detail::is_same::value + || container_detail::is_same::value ) >::type * = 0 #endif ) { - iterator ret_it(prev_pos.get()); + iterator ret_it(prev_p.get()); for (; first != last; ++first){ ret_it = iterator(this->icont().insert_after(ret_it.get(), *this->create_node_from_it(first))); } return ret_it; } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Requires: prev_p must be a valid iterator of *this. + //! + //! Effects: Inserts the range pointed by [il.begin(), il.end()) after prev_p. + //! + //! Returns: an iterator to the last inserted element or prev_p if il.begin() == il.end(). + //! + //! Throws: If memory allocation throws, T's constructor from a + //! dereferenced std::initializer_list iterator throws. + //! + //! Complexity: Linear to the number of elements inserted. + //! + //! Note: Does not affect the validity of iterators and references of + //! previous values. + iterator insert_after(const_iterator prev_p, std::initializer_list il) + { + return insert_after(prev_p, il.begin(), il.end()); + } +#endif #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) template iterator insert_after(const_iterator prev, FwdIt first, FwdIt last , typename container_detail::enable_if_c < !container_detail::is_convertible::value && !(container_detail::is_input_iterator::value - || container_detail::is_same::value + || container_detail::is_same::value ) >::type * = 0 ) { //Optimized allocation and construction insertion_functor func(this->icont(), prev.get()); - this->allocate_many_and_construct(first, std::distance(first, last), func); + this->allocate_many_and_construct(first, boost::container::iterator_distance(first, last), func); return iterator(func.inserted_first()); } #endif @@ -845,7 +899,7 @@ class slist void pop_front() { this->icont().pop_front_and_dispose(Destroyer(this->node_alloc())); } - //! Effects: Erases the element after the element pointed by prev_pos + //! Effects: Erases the element after the element pointed by prev_p //! of the list. //! //! Returns: the first element remaining beyond the removed elements, @@ -856,9 +910,9 @@ class slist //! Complexity: Constant. //! //! Note: Does not invalidate iterators or references to non erased elements. - iterator erase_after(const_iterator prev_pos) + iterator erase_after(const_iterator prev_p) { - return iterator(this->icont().erase_after_and_dispose(prev_pos.get(), Destroyer(this->node_alloc()))); + return iterator(this->icont().erase_after_and_dispose(prev_p.get(), Destroyer(this->node_alloc()))); } //! Effects: Erases the range (before_first, last) from @@ -883,6 +937,8 @@ class slist //! //! Complexity: Linear to the number of elements on *this and x. void swap(slist& x) + BOOST_NOEXCEPT_IF( allocator_traits_type::propagate_on_container_swap::value + || allocator_traits_type::is_always_equal::value) { AllocHolder::swap(x); } //! Effects: Erases all the elements of the list. @@ -912,11 +968,11 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of //! this list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist& x) BOOST_CONTAINER_NOEXCEPT + void splice_after(const_iterator prev_p, slist& x) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_ASSERT(this != &x); BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice_after(prev_pos.get(), x.icont()); + this->icont().splice_after(prev_p.get(), x.icont()); } //! Requires: p must point to an element contained @@ -932,16 +988,16 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of //! this list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, BOOST_RV_REF(slist) x) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(prev_pos, static_cast(x)); } + void splice_after(const_iterator prev_p, BOOST_RV_REF(slist) x) BOOST_NOEXCEPT_OR_NOTHROW + { this->splice_after(prev_p, static_cast(x)); } - //! Requires: prev_pos must be a valid iterator of this. + //! Requires: prev_p must be a valid iterator of this. //! i must point to an element contained in list x. //! this' allocator and x's allocator shall compare equal. //! //! Effects: Transfers the value pointed by i, from list x to this list, - //! after the element pointed by prev_pos. - //! If prev_pos == prev or prev_pos == ++prev, this function is a null operation. + //! after the element pointed by prev_p. + //! If prev_p == prev or prev_p == ++prev, this function is a null operation. //! //! Throws: Nothing //! @@ -949,19 +1005,19 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist& x, const_iterator prev) BOOST_CONTAINER_NOEXCEPT + void splice_after(const_iterator prev_p, slist& x, const_iterator prev) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().splice_after(prev_pos.get(), x.icont(), prev.get()); + this->icont().splice_after(prev_p.get(), x.icont(), prev.get()); } - //! Requires: prev_pos must be a valid iterator of this. + //! Requires: prev_p must be a valid iterator of this. //! i must point to an element contained in list x. //! this' allocator and x's allocator shall compare equal. //! //! Effects: Transfers the value pointed by i, from list x to this list, - //! after the element pointed by prev_pos. - //! If prev_pos == prev or prev_pos == ++prev, this function is a null operation. + //! after the element pointed by prev_p. + //! If prev_p == prev or prev_p == ++prev, this function is a null operation. //! //! Throws: Nothing //! @@ -969,16 +1025,16 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, BOOST_RV_REF(slist) x, const_iterator prev) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(prev_pos, static_cast(x), prev); } + void splice_after(const_iterator prev_p, BOOST_RV_REF(slist) x, const_iterator prev) BOOST_NOEXCEPT_OR_NOTHROW + { this->splice_after(prev_p, static_cast(x), prev); } - //! Requires: prev_pos must be a valid iterator of this. + //! Requires: prev_p must be a valid iterator of this. //! before_first and before_last must be valid iterators of x. - //! prev_pos must not be contained in [before_first, before_last) range. + //! prev_p must not be contained in [before_first, before_last) range. //! this' allocator and x's allocator shall compare equal. //! //! Effects: Transfers the range [before_first + 1, before_last + 1) - //! from list x to this list, after the element pointed by prev_pos. + //! from list x to this list, after the element pointed by prev_p. //! //! Throws: Nothing //! @@ -986,21 +1042,21 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist& x, - const_iterator before_first, const_iterator before_last) BOOST_CONTAINER_NOEXCEPT + void splice_after(const_iterator prev_p, slist& x, + const_iterator before_first, const_iterator before_last) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_ASSERT(this->node_alloc() == x.node_alloc()); this->icont().splice_after - (prev_pos.get(), x.icont(), before_first.get(), before_last.get()); + (prev_p.get(), x.icont(), before_first.get(), before_last.get()); } - //! Requires: prev_pos must be a valid iterator of this. + //! Requires: prev_p must be a valid iterator of this. //! before_first and before_last must be valid iterators of x. - //! prev_pos must not be contained in [before_first, before_last) range. + //! prev_p must not be contained in [before_first, before_last) range. //! this' allocator and x's allocator shall compare equal. //! //! Effects: Transfers the range [before_first + 1, before_last + 1) - //! from list x to this list, after the element pointed by prev_pos. + //! from list x to this list, after the element pointed by prev_p. //! //! Throws: Nothing //! @@ -1008,18 +1064,18 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, BOOST_RV_REF(slist) x, - const_iterator before_first, const_iterator before_last) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(prev_pos, static_cast(x), before_first, before_last); } + void splice_after(const_iterator prev_p, BOOST_RV_REF(slist) x, + const_iterator before_first, const_iterator before_last) BOOST_NOEXCEPT_OR_NOTHROW + { this->splice_after(prev_p, static_cast(x), before_first, before_last); } - //! Requires: prev_pos must be a valid iterator of this. + //! Requires: prev_p must be a valid iterator of this. //! before_first and before_last must be valid iterators of x. - //! prev_pos must not be contained in [before_first, before_last) range. - //! n == std::distance(before_first, before_last). + //! prev_p must not be contained in [before_first, before_last) range. + //! n == distance(before_first, before_last). //! this' allocator and x's allocator shall compare equal. //! //! Effects: Transfers the range [before_first + 1, before_last + 1) - //! from list x to this list, after the element pointed by prev_pos. + //! from list x to this list, after the element pointed by prev_p. //! //! Throws: Nothing //! @@ -1027,23 +1083,23 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, slist& x, + void splice_after(const_iterator prev_p, slist& x, const_iterator before_first, const_iterator before_last, - size_type n) BOOST_CONTAINER_NOEXCEPT + size_type n) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_ASSERT(this->node_alloc() == x.node_alloc()); this->icont().splice_after - (prev_pos.get(), x.icont(), before_first.get(), before_last.get(), n); + (prev_p.get(), x.icont(), before_first.get(), before_last.get(), n); } - //! Requires: prev_pos must be a valid iterator of this. + //! Requires: prev_p must be a valid iterator of this. //! before_first and before_last must be valid iterators of x. - //! prev_pos must not be contained in [before_first, before_last) range. - //! n == std::distance(before_first, before_last). + //! prev_p must not be contained in [before_first, before_last) range. + //! n == distance(before_first, before_last). //! this' allocator and x's allocator shall compare equal. //! //! Effects: Transfers the range [before_first + 1, before_last + 1) - //! from list x to this list, after the element pointed by prev_pos. + //! from list x to this list, after the element pointed by prev_p. //! //! Throws: Nothing //! @@ -1051,10 +1107,10 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice_after(const_iterator prev_pos, BOOST_RV_REF(slist) x, + void splice_after(const_iterator prev_p, BOOST_RV_REF(slist) x, const_iterator before_first, const_iterator before_last, - size_type n) BOOST_CONTAINER_NOEXCEPT - { this->splice_after(prev_pos, static_cast(x), before_first, before_last, n); } + size_type n) BOOST_NOEXCEPT_OR_NOTHROW + { this->splice_after(prev_p, static_cast(x), before_first, before_last, n); } //! Effects: Removes all the elements that compare equal to value. //! @@ -1065,7 +1121,7 @@ class slist //! Note: The relative order of elements that are not removed is unchanged, //! and iterators to elements that are not removed remain valid. void remove(const T& value) - { this->remove_if(equal_to_value(value)); } + { this->remove_if(equal_to_value_type(value)); } //! Effects: Removes all the elements for which a specified //! predicate is satisfied. @@ -1079,8 +1135,8 @@ class slist template void remove_if(Pred pred) { - typedef ValueCompareToNodeCompare Predicate; - this->icont().remove_and_dispose_if(Predicate(pred), Destroyer(this->node_alloc())); + typedef value_to_node_compare value_to_node_compare_type; + this->icont().remove_and_dispose_if(value_to_node_compare_type(pred), Destroyer(this->node_alloc())); } //! Effects: Removes adjacent duplicate elements or adjacent @@ -1107,8 +1163,8 @@ class slist template void unique(Pred pred) { - typedef ValueCompareToNodeCompare Predicate; - this->icont().unique_and_dispose(Predicate(pred), Destroyer(this->node_alloc())); + typedef value_to_node_compare value_to_node_compare_type; + this->icont().unique_and_dispose(value_to_node_compare_type(pred), Destroyer(this->node_alloc())); } //! Requires: The lists x and *this must be distinct. @@ -1156,9 +1212,9 @@ class slist template void merge(slist& x, StrictWeakOrdering comp) { + typedef value_to_node_compare value_to_node_compare_type; BOOST_ASSERT(this->node_alloc() == x.node_alloc()); - this->icont().merge(x.icont(), - ValueCompareToNodeCompare(comp)); + this->icont().merge(x.icont(), value_to_node_compare_type(comp)); } //! Requires: p must be a comparison function that induces a strict weak @@ -1203,10 +1259,11 @@ class slist template void sort(StrictWeakOrdering comp) { + typedef value_to_node_compare value_to_node_compare_type; // nothing if the slist has length 0 or 1. if (this->size() < 2) return; - this->icont().sort(ValueCompareToNodeCompare(comp)); + this->icont().sort(value_to_node_compare_type(comp)); } //! Effects: Reverses the order of elements in the list. @@ -1216,7 +1273,7 @@ class slist //! Complexity: This function is linear time. //! //! Note: Iterators and references are not invalidated - void reverse() BOOST_CONTAINER_NOEXCEPT + void reverse() BOOST_NOEXCEPT_OR_NOTHROW { this->icont().reverse(); } ////////////////////////////////////////////// @@ -1225,7 +1282,7 @@ class slist // ////////////////////////////////////////////// - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type T constructed with //! std::forward(args)... before p @@ -1235,24 +1292,22 @@ class slist //! //! Complexity: Linear to the elements before p template - iterator emplace(const_iterator p, Args&&... args) + iterator emplace(const_iterator p, BOOST_FWD_REF(Args)... args) { return this->emplace_after(this->previous(p), boost::forward(args)...); } - #else //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #else - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace (const_iterator p \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - return this->emplace_after \ - (this->previous(p) \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #define BOOST_CONTAINER_SLIST_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace(const_iterator p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + return this->emplace_after(this->previous(p) BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_SLIST_EMPLACE_CODE) + #undef BOOST_CONTAINER_SLIST_EMPLACE_CODE + + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Requires: p must be a valid iterator of *this. @@ -1264,18 +1319,18 @@ class slist //! Throws: If memory allocation throws or x's copy constructor throws. //! //! Complexity: Linear to the elements before p. - iterator insert(const_iterator position, const T &x); + iterator insert(const_iterator p, const T &x); //! Requires: p must be a valid iterator of *this. //! - //! Effects: Insert a new element before p with mx's resources. + //! Effects: Insert a new element before p with x's resources. //! //! Returns: an iterator to the inserted element. //! //! Throws: If memory allocation throws. //! //! Complexity: Linear to the elements before p. - iterator insert(const_iterator prev_pos, T &&x); + iterator insert(const_iterator prev_p, T &&x); #else BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) #endif @@ -1305,7 +1360,7 @@ class slist //! Throws: If memory allocation throws, T's constructor from a //! dereferenced InpIt throws. //! - //! Complexity: Linear to std::distance [first, last) plus + //! Complexity: Linear to distance [first, last) plus //! linear to the elements before p. template iterator insert(const_iterator p, InIter first, InIter last) @@ -1315,6 +1370,24 @@ class slist return ++iterator(prev.get()); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Requires: p must be a valid iterator of *this. + //! + //! Effects: Insert a copy of the [il.begin(), il.end()) range before p. + //! + //! Returns: an iterator to the first inserted element or p if il.begin() == il.end(). + //! + //! Throws: If memory allocation throws, T's constructor from a + //! dereferenced std::initializer_list iterator throws. + //! + //! Complexity: Linear to the range [il.begin(), il.end()) plus + //! linear to the elements before p. + iterator insert(const_iterator p, std::initializer_list il) + { + return insert(p, il.begin(), il.end()); + } +#endif + //! Requires: p must be a valid iterator of *this. //! //! Effects: Erases the element at p p. @@ -1322,7 +1395,7 @@ class slist //! Throws: Nothing. //! //! Complexity: Linear to the number of elements before p. - iterator erase(const_iterator p) BOOST_CONTAINER_NOEXCEPT + iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->erase_after(previous(p))); } //! Requires: first and last must be valid iterator to elements in *this. @@ -1333,7 +1406,7 @@ class slist //! //! Complexity: Linear to the distance between first and last plus //! linear to the elements before first. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT + iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->erase_after(previous(first), last)); } //! Requires: p must point to an element contained @@ -1348,7 +1421,7 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of //! this list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, slist& x) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, slist& x) BOOST_NOEXCEPT_OR_NOTHROW { this->splice_after(this->previous(p), x); } //! Requires: p must point to an element contained @@ -1363,7 +1436,7 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of //! this list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(slist) x) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, BOOST_RV_REF(slist) x) BOOST_NOEXCEPT_OR_NOTHROW { this->splice(p, static_cast(x)); } //! Requires: p must point to an element contained @@ -1380,7 +1453,7 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, slist& x, const_iterator i) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, slist& x, const_iterator i) BOOST_NOEXCEPT_OR_NOTHROW { this->splice_after(this->previous(p), x, this->previous(i)); } //! Requires: p must point to an element contained @@ -1397,7 +1470,7 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(slist) x, const_iterator i) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, BOOST_RV_REF(slist) x, const_iterator i) BOOST_NOEXCEPT_OR_NOTHROW { this->splice(p, static_cast(x), i); } //! Requires: p must point to an element contained @@ -1414,7 +1487,7 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, slist& x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, slist& x, const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW { this->splice_after(this->previous(p), x, this->previous(first), this->previous(last)); } //! Requires: p must point to an element contained @@ -1431,28 +1504,14 @@ class slist //! //! Note: Iterators of values obtained from list x now point to elements of this //! list. Iterators of this list and all the references are not invalidated. - void splice(const_iterator p, BOOST_RV_REF(slist) x, const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT + void splice(const_iterator p, BOOST_RV_REF(slist) x, const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW { this->splice(p, static_cast(x), first, last); } //! Effects: Returns true if x and y are equal //! //! Complexity: Linear to the number of elements in the container. friend bool operator==(const slist& x, const slist& y) - { - if(x.size() != y.size()){ - return false; - } - typedef typename slist::const_iterator const_iterator; - const_iterator end1 = x.end(); - - const_iterator i1 = x.begin(); - const_iterator i2 = y.begin(); - while (i1 != end1 && *i1 == *i2){ - ++i1; - ++i2; - } - return i1 == end1; - } + { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); } //! Effects: Returns true if x and y are unequal //! @@ -1464,7 +1523,7 @@ class slist //! //! Complexity: Linear to the number of elements in the container. friend bool operator<(const slist& x, const slist& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } + { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } //! Effects: Returns true if x is greater than y //! @@ -1521,8 +1580,8 @@ class slist { return this->insert_after(previous(p), ::boost::forward(x)); } template - iterator priv_insert_after(const_iterator prev_pos, BOOST_FWD_REF(U) x) - { return iterator(this->icont().insert_after(prev_pos.get(), *this->create_node(::boost::forward(x)))); } + iterator priv_insert_after(const_iterator prev_p, BOOST_FWD_REF(U) x) + { return iterator(this->icont().insert_after(prev_p.get(), *this->create_node(::boost::forward(x)))); } class insertion_functor; friend class insertion_functor; @@ -1585,8 +1644,11 @@ namespace boost { //!specialization for optimizations template struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; +{ + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; +}; namespace container { @@ -1599,9 +1661,13 @@ namespace container { #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED -//Ummm, I don't like to define things in namespace std, but -//there is no other way -namespace std { +#if defined(__clang__) && defined(_LIBCPP_VERSION) + #define BOOST_CONTAINER_CLANG_INLINE_STD_NS + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wc++11-extensions" +#endif + +BOOST_CONTAINER_STD_NS_BEG template class insert_iterator > @@ -1634,7 +1700,12 @@ class insert_iterator > insert_iterator& operator++(int){ return *this; } }; -} //namespace std; +BOOST_CONTAINER_STD_NS_END + +#ifdef BOOST_CONTAINER_CLANG_INLINE_STD_NS + #pragma GCC diagnostic pop + #undef BOOST_CONTAINER_CLANG_INLINE_STD_NS +#endif //BOOST_CONTAINER_CLANG_INLINE_STD_NS #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED diff --git a/3party/boost/boost/container/small_vector.hpp b/3party/boost/boost/container/small_vector.hpp new file mode 100644 index 0000000000..11b02832ea --- /dev/null +++ b/3party/boost/boost/container/small_vector.hpp @@ -0,0 +1,569 @@ +////////////////////////////////////////////////////////////////////////////// +// +// (C) Copyright Ion Gaztanaga 2015-2015. 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/libs/container for documentation. +// +////////////////////////////////////////////////////////////////////////////// + +#ifndef BOOST_CONTAINER_CONTAINER_SMALL_VECTOR_HPP +#define BOOST_CONTAINER_CONTAINER_SMALL_VECTOR_HPP + +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + +#include +#include + +// container +#include +#include +#include +#include //new_allocator +// container/detail +#include +#include + +//move +#include +#include + +//move/detail +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif + +//std +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include //for std::initializer_list +#endif + +namespace boost { +namespace container { + +#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + +template > +class small_vector_base; + +#endif + +//! A non-standard allocator used to implement `small_vector`. +//! Users should never use it directly. It is described here +//! for documentation purposes. +//! +//! This allocator inherits from a standard-conforming allocator +//! and forwards member functions to the standard allocator except +//! when internal storage is being used as memory source. +//! +//! This allocator is a "partially_propagable" allocator and +//! defines `is_partially_propagable` as true_type. +//! +//! A partially propagable allocator means that not all storage +//! allocatod by an instance of `small_vector_allocator` can be +//! deallocated by another instance of this type, even if both +//! instances compare equal or an instance is propagated to another +//! one using the copy/move constructor or assignment. The storage that +//! can never be propagated is identified by `storage_is_unpropagable(p)`. +//! +//! `boost::container::vector` supports partially propagable allocators +//! fallbacking to deep copy/swap/move operations when internal storage +//! is being used to store vector elements. +//! +//! `small_vector_allocator` assumes that will be instantiated as +//! `boost::container::vector< T, small_vector_allocator >` +//! and internal storage can be obtained downcasting that vector +//! to `small_vector_base`. +template +class small_vector_allocator + : public Allocator +{ + typedef unsigned int allocation_type; + #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + private: + + BOOST_COPYABLE_AND_MOVABLE(small_vector_allocator) + + const Allocator &as_base() const + { return static_cast(*this); } + + Allocator &as_base() + { return static_cast(*this); } + + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + + public: + #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + typedef allocator_traits allocator_traits_type; + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + + typedef typename allocator_traits::value_type value_type; + typedef typename allocator_traits::pointer pointer; + typedef typename allocator_traits::const_pointer const_pointer; + typedef typename allocator_traits::reference reference; + typedef typename allocator_traits::const_reference const_reference; + typedef typename allocator_traits::size_type size_type; + typedef typename allocator_traits::difference_type difference_type; + typedef typename allocator_traits::void_pointer void_pointer; + typedef typename allocator_traits::const_void_pointer const_void_pointer; + + typedef typename allocator_traits::propagate_on_container_copy_assignment propagate_on_container_copy_assignment; + typedef typename allocator_traits::propagate_on_container_move_assignment propagate_on_container_move_assignment; + typedef typename allocator_traits::propagate_on_container_swap propagate_on_container_swap; + //! An integral constant with member `::value == false` + typedef BOOST_CONTAINER_IMPDEF(container_detail::bool_) is_always_equal; + //! An integral constant with member `::value == true` + typedef BOOST_CONTAINER_IMPDEF(container_detail::bool_) is_partially_propagable; + + BOOST_CONTAINER_DOCIGN(typedef container_detail::version_type version;) + + //!Obtains an small_vector_allocator that allocates + //!objects of type T2 + template + struct rebind + { + typedef typename allocator_traits::template rebind_alloc::type other; + }; + + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + //!Constructor from arbitrary arguments + template + explicit small_vector_allocator(BOOST_FWD_REF(Args) ...args) + : Allocator(::boost::forward(args)...) + {} + #else + #define BOOST_CONTAINER_SMALL_VECTOR_ALLOCATOR_CTOR_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + explicit small_vector_allocator(BOOST_MOVE_UREF##N)\ + : Allocator(BOOST_MOVE_FWD##N)\ + {}\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_SMALL_VECTOR_ALLOCATOR_CTOR_CODE) + #undef BOOST_CONTAINER_SMALL_VECTOR_ALLOCATOR_CTOR_CODE + #endif + + //!Constructor from other small_vector_allocator. + //!Never throws + small_vector_allocator(const small_vector_allocator &other) BOOST_NOEXCEPT_OR_NOTHROW + : Allocator(other.as_base()) + {} + + //!Move constructor from small_vector_allocator. + //!Never throws + small_vector_allocator(BOOST_RV_REF(small_vector_allocator) other) BOOST_NOEXCEPT_OR_NOTHROW + : Allocator(::boost::move(other.as_base())) + {} + + //!Constructor from related small_vector_allocator. + //!Never throws + template + small_vector_allocator(const small_vector_allocator &other) BOOST_NOEXCEPT_OR_NOTHROW + : Allocator(other.as_base()) + {} + + //!Move constructor from related small_vector_allocator. + //!Never throws + template + small_vector_allocator(BOOST_RV_REF(small_vector_allocator) other) BOOST_NOEXCEPT_OR_NOTHROW + : Allocator(::boost::move(other.as_base())) + {} + + //!Assignment from other small_vector_allocator. + //!Never throws + small_vector_allocator & operator=(BOOST_COPY_ASSIGN_REF(small_vector_allocator) other) BOOST_NOEXCEPT_OR_NOTHROW + { return static_cast(this->Allocator::operator=(other.as_base())); } + + //!Move constructor from other small_vector_allocator. + //!Never throws + small_vector_allocator & operator=(BOOST_RV_REF(small_vector_allocator) other) BOOST_NOEXCEPT_OR_NOTHROW + { return static_cast(this->Allocator::operator=(::boost::move(other.as_base()))); } + + //!Assignment from related small_vector_allocator. + //!Never throws + template + small_vector_allocator & operator=(BOOST_COPY_ASSIGN_REF(small_vector_allocator) other) BOOST_NOEXCEPT_OR_NOTHROW + { return static_cast(this->Allocator::operator=(other.as_base())); } + + //!Move assignment from related small_vector_allocator. + //!Never throws + template + small_vector_allocator & operator=(BOOST_RV_REF(small_vector_allocator) other) BOOST_NOEXCEPT_OR_NOTHROW + { return static_cast(this->Allocator::operator=(::boost::move(other.as_base()))); } + + //!Allocates storage from the standard-conforming allocator + pointer allocate(size_type count, const_void_pointer hint = const_void_pointer()) + { return allocator_traits_type::allocate(this->as_base(), count, hint); } + + //!Deallocates previously allocated memory. + //!Never throws + void deallocate(pointer ptr, size_type n) BOOST_NOEXCEPT_OR_NOTHROW + { + if(!this->is_internal_storage(ptr)) + allocator_traits_type::deallocate(this->as_base(), ptr, n); + } + + //!Returns the maximum number of elements that could be allocated. + //!Never throws + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW + { return allocator_traits_type::max_size(this->as_base()); } + + small_vector_allocator select_on_container_copy_construction() const + { return small_vector_allocator(allocator_traits_type::select_on_container_copy_construction(this->as_base())); } + + bool storage_is_unpropagable(pointer p) const + { return this->is_internal_storage(p) || allocator_traits_type::storage_is_unpropagable(this->as_base(), p); } + + //!Swaps two allocators, does nothing + //!because this small_vector_allocator is stateless + friend void swap(small_vector_allocator &l, small_vector_allocator &r) BOOST_NOEXCEPT_OR_NOTHROW + { boost::adl_move_swap(l.as_base(), r.as_base()); } + + //!An small_vector_allocator always compares to true, as memory allocated with one + //!instance can be deallocated by another instance (except for unpropagable storage) + friend bool operator==(const small_vector_allocator &l, const small_vector_allocator &r) BOOST_NOEXCEPT_OR_NOTHROW + { return allocator_traits_type::equal(l.as_base(), r.as_base()); } + + //!An small_vector_allocator always compares to false, as memory allocated with one + //!instance can be deallocated by another instance + friend bool operator!=(const small_vector_allocator &l, const small_vector_allocator &r) BOOST_NOEXCEPT_OR_NOTHROW + { return !(l == r); } + + #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + /* + //!An advanced function that offers in-place expansion shrink to fit and new allocation + //!capabilities. Memory allocated with this function can only be deallocated with deallocate() + //!or deallocate_many(). + //!This function is available only with Version == 2 + pointer allocation_command(allocation_type command, + size_type limit_size, + size_type &prefer_in_recvd_out_size, + pointer &reuse) + { return allocator_traits_type::allocation_command(command, limit_size, prefer_in_recvd_out_size, reuse); } + + //!Returns maximum the number of objects the previously allocated memory + //!pointed by p can hold. + //!Memory must not have been allocated with + //!allocate_one or allocate_individual. + //!This function is available only with Version == 2 + size_type size(pointer p) const BOOST_NOEXCEPT_OR_NOTHROW + { return allocator_traits_type::size(p); } + */ + private: + /* + //!Allocates just one object. Memory allocated with this function + //!must be deallocated only with deallocate_one(). + //!Throws bad_alloc if there is no enough memory + //!This function is available only with Version == 2 + using Allocator::allocate_one; + using Allocator::allocate_individual; + using Allocator::deallocate_one; + using Allocator::deallocate_individual; + using Allocator::allocate_many; + using Allocator::deallocate_many;*/ + + bool is_internal_storage(pointer p) const + { return this->internal_storage() == p; } + + pointer internal_storage() const + { + typedef typename Allocator::value_type value_type; + typedef container_detail::vector_alloc_holder< small_vector_allocator > vector_alloc_holder_t; + typedef vector > vector_base; + typedef small_vector_base derived_type; + // + const vector_alloc_holder_t &v_holder = static_cast(*this); + const vector_base &v_base = reinterpret_cast(v_holder); + const derived_type &d_base = static_cast(v_base); + return d_base.internal_storage(); + } + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED +}; + +//! This class consists of common code from all small_vector types that don't depend on the +//! "N" template parameter. This class is non-copyable and non-destructible, so this class tipically +//! used as reference argument to functions that read or write small vectors. Since `small_vector` +//! derives from `small_vector_base`, the conversion to `small_vector_base` is implicit: +//! +//! +//! //Clients can pass any small_vector. +//! void read_any_small_vector_of_foo(const small_vector_base &in_parameter); +//! void modify_any_small_vector_of_foo(small_vector_base &out_parameter); +//! +//! void some_function() +//! { +//! small_vector myvector; +//! read_any_small_vector_of_foo(myvector); // Reads myvector +//! modify_any_small_vector_of_foo(myvector); // Modifies myvector +//! } +//! +//! +//! All `boost::container:vector` member functions are inherited. See `vector` documentation for details. +//! +template +class small_vector_base + : public vector > +{ + #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + public: + //Make it public as it will be inherited by small_vector and container + //must have this public member + typedef typename allocator_traits::pointer pointer; + + private: + BOOST_COPYABLE_AND_MOVABLE(small_vector_base) + + friend class small_vector_allocator; + + pointer internal_storage() const BOOST_NOEXCEPT_OR_NOTHROW + { + return boost::intrusive::pointer_traits::pointer_to + (*const_cast(static_cast(static_cast(&m_storage_start)))); + } + + typedef vector > base_type; + base_type &as_base() { return static_cast(*this); } + const base_type &as_base() const { return static_cast(*this); } + + public: + typedef typename container_detail::aligned_storage + ::value>::type storage_type; + typedef small_vector_allocator allocator_type; + + protected: + typedef typename base_type::initial_capacity_t initial_capacity_t; + + explicit small_vector_base(initial_capacity_t, std::size_t initial_capacity) + : base_type(initial_capacity_t(), this->internal_storage(), initial_capacity) + {} + + template + explicit small_vector_base(initial_capacity_t, std::size_t capacity, BOOST_FWD_REF(AllocFwd) a) + : base_type(initial_capacity_t(), this->internal_storage(), capacity, ::boost::forward(a)) + {} + + ~small_vector_base(){} + + using base_type::is_propagable_from; + using base_type::steal_resources; + + private: + //The only member + storage_type m_storage_start; + + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + + public: + small_vector_base& operator=(BOOST_COPY_ASSIGN_REF(small_vector_base) other) + { return static_cast(this->base_type::operator=(static_cast(other))); } + + small_vector_base& operator=(BOOST_RV_REF(small_vector_base) other) + { return static_cast(this->base_type::operator=(BOOST_MOVE_BASE(base_type, other))); } + + void swap(small_vector_base &other) + { return this->base_type::swap(other); } +}; + +#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + +///////////////////////////////////////////////////// +// +// small_vector_storage_calculator +// +///////////////////////////////////////////////////// +template +struct small_vector_storage_calculator_helper +{ + static const std::size_t value = (Needed - Hdr - 1u)/SSize + 1u; +}; + +template +struct small_vector_storage_calculator_helper +{ + static const std::size_t value = 0u; +}; + +template +struct small_vector_storage_calculator +{ + typedef small_vector_base svh_type; + typedef vector > svhb_type; + static const std::size_t s_align = container_detail::alignment_of::value; + static const std::size_t s_size = sizeof(Storage); + static const std::size_t svh_sizeof = sizeof(svh_type); + static const std::size_t svhb_sizeof = sizeof(svhb_type); + static const std::size_t s_start = ((svhb_sizeof-1)/s_align+1)*s_align; + static const std::size_t header_bytes = svh_sizeof-s_start; + static const std::size_t needed_bytes = sizeof(T)*N; + static const std::size_t needed_extra_storages = + small_vector_storage_calculator_helper::value; +}; + +///////////////////////////////////////////////////// +// +// small_vector_storage_definer +// +///////////////////////////////////////////////////// +template +struct small_vector_storage +{ + Storage m_rest_of_storage[N]; +}; + +template +struct small_vector_storage +{}; + +template +struct small_vector_storage_definer +{ + typedef typename Allocator::value_type value_type; + typedef typename small_vector_base::storage_type storage_type; + static const std::size_t needed_extra_storages = + small_vector_storage_calculator::needed_extra_storages; + typedef small_vector_storage type; +}; + +#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + +//! small_vector is a vector-like container optimized for the case when it contains few elements. +//! It contains some preallocated elements in-place, which can avoid the use of dynamic storage allocation +//! when the actual number of elements is below that preallocated threshold. +//! +//! `small_vector` is convertible to `small_vector_base` that is independent +//! from the preallocated element capacity, so client code does not need to be templated on that N argument. +//! +//! All `boost::container::vector` member functions are inherited. See `vector` documentation for details. +//! +//! \tparam T The type of object that is stored in the small_vector +//! \tparam N The number of preallocated elements stored inside small_vector. It shall be less than Allocator::max_size(); +//! \tparam Allocator The allocator used for memory management when the number of elements exceeds N. +template ) > +class small_vector : public small_vector_base + #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + , private small_vector_storage_definer::type + #endif +{ + #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + typedef small_vector_base base_type; + typedef typename small_vector_storage_definer::type remaining_storage_holder; + + BOOST_COPYABLE_AND_MOVABLE(small_vector) + + typedef typename base_type::initial_capacity_t initial_capacity_t; + typedef allocator_traits allocator_traits_type; + + public: + typedef small_vector_storage_calculator< typename small_vector_base + ::storage_type, Allocator, T, N> storage_test; + + static const std::size_t needed_extra_storages = storage_test::needed_extra_storages; + static const std::size_t needed_bytes = storage_test::needed_bytes; + static const std::size_t header_bytes = storage_test::header_bytes; + static const std::size_t s_start = storage_test::s_start; + + typedef typename base_type::allocator_type allocator_type; + typedef typename base_type::size_type size_type; + typedef typename base_type::value_type value_type; + + static std::size_t internal_capacity() + { return (sizeof(small_vector) - storage_test::s_start)/sizeof(T); } + + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + + public: + small_vector() + : base_type(initial_capacity_t(), internal_capacity()) + {} + + explicit small_vector(size_type n) + : base_type(initial_capacity_t(), internal_capacity()) + { this->resize(n); } + + explicit small_vector(const allocator_type &a) + : base_type(initial_capacity_t(), internal_capacity(), a) + {} + + small_vector(size_type n, const allocator_type &a) + : base_type(initial_capacity_t(), internal_capacity(), a) + { this->resize(n); } + + small_vector(const small_vector &other) + : base_type( initial_capacity_t(), internal_capacity() + , allocator_traits_type::select_on_container_copy_construction(other.get_stored_allocator())) + { this->assign(other.cbegin(), other.cend()); } + + small_vector(const small_vector &other, const allocator_type &a) + : base_type(initial_capacity_t(), internal_capacity(), a) + { this->assign(other.cbegin(), other.cend()); } + + small_vector(BOOST_RV_REF(small_vector) other) + : base_type(initial_capacity_t(), internal_capacity(), ::boost::move(other.get_stored_allocator())) + { this->move_construct_impl(other, other.get_stored_allocator()); } + + small_vector(BOOST_RV_REF(small_vector) other, const allocator_type &a) + : base_type(initial_capacity_t(), internal_capacity(), a) + { this->move_construct_impl(other, a); } + + #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + small_vector(std::initializer_list il, const allocator_type& a = allocator_type()) + : base_type(initial_capacity_t(), internal_capacity(), a) + { + this->assign(il.begin(), il.end()); + } + #endif + + small_vector& operator=(BOOST_COPY_ASSIGN_REF(small_vector) other) + { return static_cast(this->base_type::operator=(static_cast(other))); } + + small_vector& operator=(BOOST_RV_REF(small_vector) other) + { return static_cast(this->base_type::operator=(BOOST_MOVE_BASE(base_type, other))); } + + void swap(small_vector &other) + { return this->base_type::swap(other); } + + #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + private: + void move_construct_impl(small_vector &x, const allocator_type &a) + { + if(base_type::is_propagable_from(x.get_stored_allocator(), x.data(), a, true)){ + this->steal_resources(x); + } + else{ + this->assign( boost::make_move_iterator(container_detail::iterator_to_raw_pointer(x.begin())) + , boost::make_move_iterator(container_detail::iterator_to_raw_pointer(x.end ())) + ); + } + } + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED +}; + +}} + +#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED +/* +namespace boost { + +//!has_trivial_destructor_after_move<> == true_type +//!specialization for optimizations +template +struct has_trivial_destructor_after_move > +{ + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; +}; + +} +*/ +#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + +#include + +#endif // #ifndef BOOST_CONTAINER_CONTAINER_SMALL_VECTOR_HPP diff --git a/3party/boost/boost/container/stable_vector.hpp b/3party/boost/boost/container/stable_vector.hpp index 5348b935bb..9952a141db 100644 --- a/3party/boost/boost/container/stable_vector.hpp +++ b/3party/boost/boost/container/stable_vector.hpp @@ -19,38 +19,54 @@ #ifndef BOOST_CONTAINER_STABLE_VECTOR_HPP #define BOOST_CONTAINER_STABLE_VECTOR_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include //max -#include -#include //placement new +// container +#include +#include +#include //new_allocator +#include +// container/detail +#include +#include //algo_equal(), algo_lexicographical_compare +#include +#include +#include +#include +#include +#include +#include +#include +// intrusive +#include +// intrusive/detail +#include //pair +// move +#include +#include +#include +// move/detail +#include +// other +#include +#include +// std +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include +#endif #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -#include - -//#define STABLE_VECTOR_ENABLE_INVARIANT_CHECKING - + #include + //#define STABLE_VECTOR_ENABLE_INVARIANT_CHECKING #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED namespace boost { @@ -226,7 +242,7 @@ class stable_vector_iterator { typedef boost::intrusive::pointer_traits non_const_ptr_traits; public: - typedef std::random_access_iterator_tag iterator_category; + typedef std::random_access_iterator_tag iterator_category; typedef typename non_const_ptr_traits::element_type value_type; typedef typename non_const_ptr_traits::difference_type difference_type; typedef typename ::boost::container::container_detail::if_c @@ -256,102 +272,103 @@ class stable_vector_iterator public: - explicit stable_vector_iterator(node_base_ptr p) BOOST_CONTAINER_NOEXCEPT + explicit stable_vector_iterator(node_base_ptr p) BOOST_NOEXCEPT_OR_NOTHROW : m_pn(p) {} - stable_vector_iterator() BOOST_CONTAINER_NOEXCEPT + stable_vector_iterator() BOOST_NOEXCEPT_OR_NOTHROW + : m_pn() //Value initialization to achieve "null iterators" (N3644) {} - stable_vector_iterator(stable_vector_iterator const& other) BOOST_CONTAINER_NOEXCEPT + stable_vector_iterator(stable_vector_iterator const& other) BOOST_NOEXCEPT_OR_NOTHROW : m_pn(other.node_pointer()) {} - node_ptr node_pointer() const BOOST_CONTAINER_NOEXCEPT + node_ptr node_pointer() const BOOST_NOEXCEPT_OR_NOTHROW { return node_ptr_traits::static_cast_from(m_pn); } public: //Pointer like operators - reference operator*() const BOOST_CONTAINER_NOEXCEPT + reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW { return node_pointer()->value; } - pointer operator->() const BOOST_CONTAINER_NOEXCEPT + pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW { return ptr_traits::pointer_to(this->operator*()); } //Increment / Decrement - stable_vector_iterator& operator++() BOOST_CONTAINER_NOEXCEPT + stable_vector_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW { node_base_ptr_ptr p(this->m_pn->up); this->m_pn = *(++p); return *this; } - stable_vector_iterator operator++(int) BOOST_CONTAINER_NOEXCEPT + stable_vector_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW { stable_vector_iterator tmp(*this); ++*this; return stable_vector_iterator(tmp); } - stable_vector_iterator& operator--() BOOST_CONTAINER_NOEXCEPT + stable_vector_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW { node_base_ptr_ptr p(this->m_pn->up); this->m_pn = *(--p); return *this; } - stable_vector_iterator operator--(int) BOOST_CONTAINER_NOEXCEPT + stable_vector_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW { stable_vector_iterator tmp(*this); --*this; return stable_vector_iterator(tmp); } - reference operator[](difference_type off) const BOOST_CONTAINER_NOEXCEPT + reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW { return node_ptr_traits::static_cast_from(this->m_pn->up[off])->value; } - stable_vector_iterator& operator+=(difference_type off) BOOST_CONTAINER_NOEXCEPT + stable_vector_iterator& operator+=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW { if(off) this->m_pn = this->m_pn->up[off]; return *this; } - friend stable_vector_iterator operator+(const stable_vector_iterator &left, difference_type off) BOOST_CONTAINER_NOEXCEPT + friend stable_vector_iterator operator+(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW { stable_vector_iterator tmp(left); tmp += off; return tmp; } - friend stable_vector_iterator operator+(difference_type off, const stable_vector_iterator& right) BOOST_CONTAINER_NOEXCEPT + friend stable_vector_iterator operator+(difference_type off, const stable_vector_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW { stable_vector_iterator tmp(right); tmp += off; return tmp; } - stable_vector_iterator& operator-=(difference_type off) BOOST_CONTAINER_NOEXCEPT + stable_vector_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW { *this += -off; return *this; } - friend stable_vector_iterator operator-(const stable_vector_iterator &left, difference_type off) BOOST_CONTAINER_NOEXCEPT + friend stable_vector_iterator operator-(const stable_vector_iterator &left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW { stable_vector_iterator tmp(left); tmp -= off; return tmp; } - friend difference_type operator-(const stable_vector_iterator& left, const stable_vector_iterator& right) BOOST_CONTAINER_NOEXCEPT + friend difference_type operator-(const stable_vector_iterator &left, const stable_vector_iterator &right) BOOST_NOEXCEPT_OR_NOTHROW { return left.m_pn->up - right.m_pn->up; } //Comparison operators - friend bool operator== (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator== (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_pn == r.m_pn; } - friend bool operator!= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator!= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_pn != r.m_pn; } - friend bool operator< (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator< (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_pn->up < r.m_pn->up; } - friend bool operator<= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator<= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_pn->up <= r.m_pn->up; } - friend bool operator> (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator> (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_pn->up > r.m_pn->up; } - friend bool operator>= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator>= (const stable_vector_iterator& l, const stable_vector_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_pn->up >= r.m_pn->up; } }; @@ -404,7 +421,7 @@ class stable_vector_iterator //! \tparam T The type of object that is stored in the stable_vector //! \tparam Allocator The allocator used for all internal memory management #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template > +template > #else template #endif @@ -447,10 +464,6 @@ class stable_vector typedef typename node_ptr_traits::reference node_reference; typedef typename const_node_ptr_traits::reference const_node_reference; - typedef ::boost::container::container_detail:: - integral_constant allocator_v1; - typedef ::boost::container::container_detail:: - integral_constant allocator_v2; typedef ::boost::container::container_detail::integral_constant ::value> alloc_version; @@ -480,7 +493,7 @@ class stable_vector , false> iterator_impl; typedef stable_vector_iterator < typename allocator_traits::pointer - , false> const_iterator_impl; + , true> const_iterator_impl; #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED public: @@ -500,8 +513,8 @@ class stable_vector typedef node_allocator_type stored_allocator_type; typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator; typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) const_reverse_iterator; #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED private: @@ -538,12 +551,46 @@ class stable_vector //! Throws: Nothing //! //! Complexity: Constant. - explicit stable_vector(const allocator_type& al) BOOST_CONTAINER_NOEXCEPT + explicit stable_vector(const allocator_type& al) BOOST_NOEXCEPT_OR_NOTHROW : internal_data(al), index(al) { STABLE_VECTOR_CHECK_INVARIANT; } + //! Effects: Constructs a stable_vector + //! and inserts n value initialized values. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's default or copy constructor throws. + //! + //! Complexity: Linear to n. + explicit stable_vector(size_type n) + : internal_data(), index() + { + stable_vector_detail::clear_on_destroy cod(*this); + this->resize(n); + STABLE_VECTOR_CHECK_INVARIANT; + cod.release(); + } + + //! Effects: Constructs a stable_vector + //! and inserts n default initialized values. + //! + //! Throws: If allocator_type's default constructor + //! throws or T's default or copy constructor throws. + //! + //! Complexity: Linear to n. + //! + //! Note: Non-standard extension + stable_vector(size_type n, default_init_t) + : internal_data(), index() + { + stable_vector_detail::clear_on_destroy cod(*this); + this->resize(n, default_init); + STABLE_VECTOR_CHECK_INVARIANT; + cod.release(); + } + //! Effects: Constructs a stable_vector that will use a copy of allocator a //! and inserts n value initialized values. //! @@ -551,8 +598,8 @@ class stable_vector //! throws or T's default or copy constructor throws. //! //! Complexity: Linear to n. - explicit stable_vector(size_type n) - : internal_data(), index() + explicit stable_vector(size_type n, const allocator_type &a) + : internal_data(), index(a) { stable_vector_detail::clear_on_destroy cod(*this); this->resize(n); @@ -569,8 +616,8 @@ class stable_vector //! Complexity: Linear to n. //! //! Note: Non-standard extension - stable_vector(size_type n, default_init_t) - : internal_data(), index() + stable_vector(size_type n, default_init_t, const allocator_type &a) + : internal_data(), index(a) { stable_vector_detail::clear_on_destroy cod(*this); this->resize(n, default_init); @@ -628,7 +675,25 @@ class stable_vector cod.release(); } - //! Effects: Move constructor. Moves mx's resources to *this. +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs a stable_vector that will use a copy of allocator a + //! and inserts a copy of the range [il.begin(), il.last()) in the stable_vector + //! + //! Throws: If allocator_type's default constructor + //! throws or T's constructor taking a dereferenced initializer_list iterator throws. + //! + //! Complexity: Linear to the range [il.begin(), il.end()). + stable_vector(std::initializer_list il, const allocator_type& l = allocator_type()) + : internal_data(l), index(l) + { + stable_vector_detail::clear_on_destroy cod(*this); + insert(cend(), il.begin(), il.end()); + STABLE_VECTOR_CHECK_INVARIANT; + cod.release(); + } +#endif + + //! Effects: Move constructor. Moves x's resources to *this. //! //! Throws: If allocator_type's copy constructor throws. //! @@ -654,7 +719,7 @@ class stable_vector } //! Effects: Move constructor using the specified allocator. - //! Moves mx's resources to *this. + //! Moves x's resources to *this. //! //! Throws: If allocator_type's copy constructor throws. //! @@ -663,11 +728,12 @@ class stable_vector : internal_data(a), index(a) { if(this->priv_node_alloc() == x.priv_node_alloc()){ + this->index.swap(x.index); this->priv_swap_members(x); } else{ stable_vector_detail::clear_on_destroy cod(*this); - this->insert(this->cend(), x.begin(), x.end()); + this->insert(this->cend(), boost::make_move_iterator(x.begin()), boost::make_move_iterator(x.end())); STABLE_VECTOR_CHECK_INVARIANT; cod.release(); } @@ -712,7 +778,7 @@ class stable_vector return *this; } - //! Effects: Move assignment. All mx's values are transferred to *this. + //! Effects: Move assignment. All x's values are transferred to *this. //! //! Postcondition: x.empty(). *this contains a the elements x had //! before the function. @@ -724,7 +790,8 @@ class stable_vector //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. stable_vector& operator=(BOOST_RV_REF(stable_vector) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) + BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value + || allocator_traits_type::is_always_equal::value) { //for move constructor, no aliasing (&x != this) is assummed. BOOST_ASSERT(this != &x); @@ -737,12 +804,13 @@ class stable_vector //Resources can be transferred if both allocators are //going to be equal after this function (either propagated or already equal) if(propagate_alloc || allocators_equal){ + STABLE_VECTOR_CHECK_INVARIANT //Destroy objects but retain memory in case x reuses it in the future this->clear(); //Move allocator if needed container_detail::move_alloc(this_alloc, x_alloc, flag); //Take resources - this->index = boost::move(x.index); + this->index.swap(x.index); this->priv_swap_members(x); } //Else do a one by one move @@ -753,6 +821,18 @@ class stable_vector return *this; } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Make *this container contains elements from il. + //! + //! Complexity: Linear to the range [il.begin(), il.end()). + stable_vector& operator=(std::initializer_list il) + { + STABLE_VECTOR_CHECK_INVARIANT; + assign(il.begin(), il.end()); + return *this; + } +#endif + //! Effects: Assigns the n copies of val to *this. //! //! Throws: If memory allocation throws or T's copy constructor throws. @@ -771,13 +851,12 @@ class stable_vector //! //! Complexity: Linear to n. template - void assign(InputIterator first,InputIterator last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - >::type * = 0 - #endif - ) + #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + typename container_detail::disable_if_convertible::type + #else + void + #endif + assign(InputIterator first,InputIterator last) { STABLE_VECTOR_CHECK_INVARIANT; iterator first1 = this->begin(); @@ -792,6 +871,19 @@ class stable_vector } } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Assigns the the range [il.begin(), il.end()) to *this. + //! + //! Throws: If memory allocation throws or + //! T's constructor from dereferencing initializer_list iterator throws. + //! + void assign(std::initializer_list il) + { + STABLE_VECTOR_CHECK_INVARIANT; + assign(il.begin(), il.end()); + } +#endif + //! Effects: Returns a copy of the internal allocator. //! //! Throws: If allocator's copy constructor throws. @@ -807,7 +899,7 @@ class stable_vector //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_node_alloc(); } //! Effects: Returns a reference to the internal allocator. @@ -817,7 +909,7 @@ class stable_vector //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_node_alloc(); } ////////////////////////////////////////////// @@ -831,7 +923,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW { return (this->index.empty()) ? this->end(): iterator(node_ptr_traits::static_cast_from(this->index.front())); } //! Effects: Returns a const_iterator to the first element contained in the stable_vector. @@ -839,7 +931,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW { return (this->index.empty()) ? this->cend() : const_iterator(node_ptr_traits::static_cast_from(this->index.front())) ; } //! Effects: Returns an iterator to the end of the stable_vector. @@ -847,7 +939,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT + iterator end() BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->priv_get_end_node()); } //! Effects: Returns a const_iterator to the end of the stable_vector. @@ -855,7 +947,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW { return const_iterator(this->priv_get_end_node()); } //! Effects: Returns a reverse_iterator pointing to the beginning @@ -864,7 +956,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(this->end()); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -873,7 +965,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->end()); } //! Effects: Returns a reverse_iterator pointing to the end @@ -882,7 +974,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(this->begin()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -891,7 +983,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->begin()); } //! Effects: Returns a const_iterator to the first element contained in the stable_vector. @@ -899,7 +991,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->begin(); } //! Effects: Returns a const_iterator to the end of the stable_vector. @@ -907,7 +999,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW { return this->end(); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -916,7 +1008,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->rbegin(); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -925,7 +1017,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crend()const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crend()const BOOST_NOEXCEPT_OR_NOTHROW { return this->rend(); } ////////////////////////////////////////////// @@ -939,7 +1031,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW { return this->index.size() <= ExtraPointers; } //! Effects: Returns the number of the elements contained in the stable_vector. @@ -947,10 +1039,10 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW { const size_type index_size = this->index.size(); - return (index_size - ExtraPointers) & (std::size_t(0u) -std::size_t(index_size != 0)); + return (index_size - ExtraPointers) & (size_type(0u) -size_type(index_size != 0)); } //! Effects: Returns the largest possible size of the stable_vector. @@ -958,7 +1050,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW { return this->index.max_size() - ExtraPointers; } //! Effects: Inserts or erases elements at the end such that @@ -1016,17 +1108,16 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT + size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW { const size_type index_size = this->index.size(); BOOST_ASSERT(!index_size || index_size >= ExtraPointers); - const size_type bucket_extra_capacity = this->index.capacity()- index_size; const size_type node_extra_capacity = this->internal_data.pool_size; - const size_type extra_capacity = (bucket_extra_capacity < node_extra_capacity) - ? bucket_extra_capacity : node_extra_capacity; + //Pool count must be less than index capacity, as index is a vector + BOOST_ASSERT(node_extra_capacity <= (this->index.capacity()- index_size)); const size_type index_offset = - (ExtraPointers + extra_capacity) & (size_type(0u) - size_type(index_size != 0)); - return index_size - index_offset; + (node_extra_capacity - ExtraPointers) & (size_type(0u) - size_type(index_size != 0)); + return index_size + index_offset; } //! Effects: If n is less than or equal to capacity(), this call has no @@ -1104,7 +1195,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - reference front() BOOST_CONTAINER_NOEXCEPT + reference front() BOOST_NOEXCEPT_OR_NOTHROW { return static_cast(*this->index.front()).value; } //! Requires: !empty() @@ -1115,7 +1206,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reference front() const BOOST_CONTAINER_NOEXCEPT + const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW { return static_cast(*this->index.front()).value; } //! Requires: !empty() @@ -1126,7 +1217,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - reference back() BOOST_CONTAINER_NOEXCEPT + reference back() BOOST_NOEXCEPT_OR_NOTHROW { return static_cast(*this->index[this->size()-1u]).value; } //! Requires: !empty() @@ -1137,7 +1228,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reference back() const BOOST_CONTAINER_NOEXCEPT + const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW { return static_cast(*this->index[this->size()-1u]).value; } //! Requires: size() > n. @@ -1148,7 +1239,7 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - reference operator[](size_type n) BOOST_CONTAINER_NOEXCEPT + reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW { BOOST_ASSERT(n < this->size()); return static_cast(*this->index[n]).value; @@ -1162,12 +1253,72 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reference operator[](size_type n) const BOOST_CONTAINER_NOEXCEPT + const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW { BOOST_ASSERT(n < this->size()); return static_cast(*this->index[n]).value; } + //! Requires: size() >= n. + //! + //! Effects: Returns an iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW + { + BOOST_ASSERT(this->size() >= n); + return (this->index.empty()) ? this->end() : iterator(node_ptr_traits::static_cast_from(this->index[n])); + } + + //! Requires: size() >= n. + //! + //! Effects: Returns a const_iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW + { + BOOST_ASSERT(this->size() >= n); + return (this->index.empty()) ? this->cend() : iterator(node_ptr_traits::static_cast_from(this->index[n])); + } + + //! Requires: begin() <= p <= end(). + //! + //! Effects: Returns the index of the element pointed by p + //! and size() if p == end(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW + { return this->priv_index_of(p.node_pointer()); } + + //! Requires: begin() <= p <= end(). + //! + //! Effects: Returns the index of the element pointed by p + //! and size() if p == end(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW + { return this->priv_index_of(p.node_pointer()); } + //! Requires: size() > n. //! //! Effects: Returns a reference to the nth element @@ -1206,7 +1357,7 @@ class stable_vector // ////////////////////////////////////////////// - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type T constructed with //! std::forward(args)... in the end of the stable_vector. @@ -1223,63 +1374,55 @@ class stable_vector this->insert(this->cend(), EmplaceIterator(ef), EmplaceIterator()); } - //! Requires: position must be a valid iterator of *this. + //! Requires: p must be a valid iterator of *this. //! //! Effects: Inserts an object of type T constructed with - //! std::forward(args)... before position + //! std::forward(args)... before p //! //! Throws: If memory allocation throws or the in-place constructor throws. //! - //! Complexity: If position is end(), amortized constant time + //! Complexity: If p is end(), amortized constant time //! Linear time otherwise. template - iterator emplace(const_iterator position, Args && ...args) + iterator emplace(const_iterator p, Args && ...args) { - //Just call more general insert(pos, size, value) and return iterator - size_type pos_n = position - cbegin(); + size_type pos_n = p - cbegin(); typedef emplace_functor EmplaceFunctor; typedef emplace_iterator EmplaceIterator; EmplaceFunctor &&ef = EmplaceFunctor(boost::forward(args)...); - this->insert(position, EmplaceIterator(ef), EmplaceIterator()); + this->insert(p, EmplaceIterator(ef), EmplaceIterator()); return iterator(this->begin() + pos_n); } #else - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - typedef BOOST_PP_CAT(BOOST_PP_CAT(emplace_functor, n), arg) \ - BOOST_PP_EXPR_IF(n, <) BOOST_PP_ENUM_PARAMS(n, P) BOOST_PP_EXPR_IF(n, >) \ - EmplaceFunctor; \ - typedef emplace_iterator EmplaceIterator; \ - EmplaceFunctor ef BOOST_PP_LPAREN_IF(n) \ - BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) \ - BOOST_PP_RPAREN_IF(n); \ - this->insert(this->cend() , EmplaceIterator(ef), EmplaceIterator()); \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(const_iterator pos \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - typedef BOOST_PP_CAT(BOOST_PP_CAT(emplace_functor, n), arg) \ - BOOST_PP_EXPR_IF(n, <) BOOST_PP_ENUM_PARAMS(n, P) BOOST_PP_EXPR_IF(n, >) \ - EmplaceFunctor; \ - typedef emplace_iterator EmplaceIterator; \ - EmplaceFunctor ef BOOST_PP_LPAREN_IF(n) \ - BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) \ - BOOST_PP_RPAREN_IF(n); \ - size_type pos_n = pos - this->cbegin(); \ - this->insert(pos, EmplaceIterator(ef), EmplaceIterator()); \ - return iterator(this->begin() + pos_n); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_STABLE_VECTOR_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + void emplace_back(BOOST_MOVE_UREF##N)\ + {\ + typedef emplace_functor##N\ + BOOST_MOVE_LT##N BOOST_MOVE_TARG##N BOOST_MOVE_GT##N EmplaceFunctor;\ + typedef emplace_iterator EmplaceIterator;\ + EmplaceFunctor ef BOOST_MOVE_LP##N BOOST_MOVE_FWD##N BOOST_MOVE_RP##N;\ + this->insert(this->cend() , EmplaceIterator(ef), EmplaceIterator());\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace(const_iterator p BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + typedef emplace_functor##N\ + BOOST_MOVE_LT##N BOOST_MOVE_TARG##N BOOST_MOVE_GT##N EmplaceFunctor;\ + typedef emplace_iterator EmplaceIterator;\ + EmplaceFunctor ef BOOST_MOVE_LP##N BOOST_MOVE_FWD##N BOOST_MOVE_RP##N;\ + const size_type pos_n = p - this->cbegin();\ + this->insert(p, EmplaceIterator(ef), EmplaceIterator());\ + return this->begin() += pos_n;\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_STABLE_VECTOR_EMPLACE_CODE) + #undef BOOST_CONTAINER_STABLE_VECTOR_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts a copy of x at the end of the stable_vector. @@ -1291,7 +1434,7 @@ class stable_vector void push_back(const T &x); //! Effects: Constructs a new element in the end of the stable_vector - //! and moves the resources of mx to this new element. + //! and moves the resources of x to this new element. //! //! Throws: If memory allocation throws. //! @@ -1302,94 +1445,112 @@ class stable_vector #endif #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - //! Requires: position must be a valid iterator of *this. + //! Requires: p must be a valid iterator of *this. //! - //! Effects: Insert a copy of x before position. + //! Effects: Insert a copy of x before p. //! //! Returns: An iterator to the inserted element. //! //! Throws: If memory allocation throws or x's copy constructor throws. //! - //! Complexity: If position is end(), amortized constant time + //! Complexity: If p is end(), amortized constant time //! Linear time otherwise. - iterator insert(const_iterator position, const T &x); + iterator insert(const_iterator p, const T &x); - //! Requires: position must be a valid iterator of *this. + //! Requires: p must be a valid iterator of *this. //! - //! Effects: Insert a new element before position with mx's resources. + //! Effects: Insert a new element before p with x's resources. //! //! Returns: an iterator to the inserted element. //! //! Throws: If memory allocation throws. //! - //! Complexity: If position is end(), amortized constant time + //! Complexity: If p is end(), amortized constant time //! Linear time otherwise. - iterator insert(const_iterator position, T &&x); + iterator insert(const_iterator p, T &&x); #else BOOST_MOVE_CONVERSION_AWARE_CATCH_1ARG(insert, T, iterator, priv_insert, const_iterator, const_iterator) #endif - //! Requires: pos must be a valid iterator of *this. + //! Requires: p must be a valid iterator of *this. //! - //! Effects: Insert n copies of x before position. + //! Effects: Insert n copies of x before p. //! - //! Returns: an iterator to the first inserted element or position if n is 0. + //! Returns: an iterator to the first inserted element or p if n is 0. //! //! Throws: If memory allocation throws or T's copy constructor throws. //! //! Complexity: Linear to n. - iterator insert(const_iterator position, size_type n, const T& t) + iterator insert(const_iterator p, size_type n, const T& t) { STABLE_VECTOR_CHECK_INVARIANT; typedef constant_iterator cvalue_iterator; - return this->insert(position, cvalue_iterator(t, n), cvalue_iterator()); + return this->insert(p, cvalue_iterator(t, n), cvalue_iterator()); } + //! Requires: p must be a valid iterator of *this. +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Requires: p must be a valid iterator of *this. + //! + //! Effects: Insert a copy of the [il.begin(), il.end()) range before p. + //! + //! Returns: an iterator to the first inserted element or p if first == last. + //! + //! Complexity: Linear to distance [il.begin(), il.end()). + iterator insert(const_iterator p, std::initializer_list il) + { + STABLE_VECTOR_CHECK_INVARIANT; + return insert(p, il.begin(), il.end()); + } +#endif + //! Requires: pos must be a valid iterator of *this. //! - //! Effects: Insert a copy of the [first, last) range before pos. + //! Effects: Insert a copy of the [first, last) range before p. //! - //! Returns: an iterator to the first inserted element or position if first == last. + //! Returns: an iterator to the first inserted element or p if first == last. //! //! Throws: If memory allocation throws, T's constructor from a //! dereferenced InpIt throws or T's copy constructor throws. //! - //! Complexity: Linear to std::distance [first, last). + //! Complexity: Linear to distance [first, last). template - iterator insert(const_iterator position, InputIterator first, InputIterator last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value - >::type * = 0 - #endif - ) + #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + typename container_detail::disable_if_or + < iterator + , container_detail::is_convertible + , container_detail::is_not_input_iterator + >::type + #else + iterator + #endif + insert(const_iterator p, InputIterator first, InputIterator last) { STABLE_VECTOR_CHECK_INVARIANT; - const size_type pos_n = position - this->cbegin(); + const size_type pos_n = p - this->cbegin(); for(; first != last; ++first){ - this->emplace(position, *first); + this->emplace(p, *first); } return this->begin() + pos_n; } #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) template - iterator insert(const_iterator position, FwdIt first, FwdIt last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value - >::type * = 0 - ) + typename container_detail::disable_if_or + < iterator + , container_detail::is_convertible + , container_detail::is_input_iterator + >::type + insert(const_iterator p, FwdIt first, FwdIt last) { - const size_type num_new = static_cast(std::distance(first, last)); - const size_type pos = static_cast(position - this->cbegin()); + const size_type num_new = static_cast(boost::container::iterator_distance(first, last)); + const size_type idx = static_cast(p - this->cbegin()); if(num_new){ - //Fills the node pool and inserts num_new null pointers in pos. - //If a new buffer was needed fixes up pointers up to pos so + //Fills the node pool and inserts num_new null pointers in idx. + //If a new buffer was needed fixes up pointers up to idx so //past-new nodes are not aligned until the end of this function //or in a rollback in case of exception - index_iterator it_past_newly_constructed(this->priv_insert_forward_non_templated(pos, num_new)); + index_iterator it_past_newly_constructed(this->priv_insert_forward_non_templated(idx, num_new)); const index_iterator it_past_new(it_past_newly_constructed + num_new); { //Prepare rollback @@ -1407,10 +1568,10 @@ class stable_vector //rollback.~insert_rollback() called in case of exception } //Fix up pointers for past-new nodes (new nodes were fixed during construction) and - //nodes before insertion position in priv_insert_forward_non_templated(...) + //nodes before insertion p in priv_insert_forward_non_templated(...) index_traits_type::fix_up_pointers_from(this->index, it_past_newly_constructed); } - return this->begin() + pos; + return this->begin() + idx; } #endif @@ -1419,21 +1580,21 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Constant time. - void pop_back() BOOST_CONTAINER_NOEXCEPT + void pop_back() BOOST_NOEXCEPT_OR_NOTHROW { this->erase(--this->cend()); } - //! Effects: Erases the element at position pos. + //! Effects: Erases the element at p. //! //! Throws: Nothing. //! - //! Complexity: Linear to the elements between pos and the - //! last element. Constant if pos is the last element. - iterator erase(const_iterator position) BOOST_CONTAINER_NOEXCEPT + //! Complexity: Linear to the elements between p and the + //! last element. Constant if p is the last element. + iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW { STABLE_VECTOR_CHECK_INVARIANT; - const size_type d = position - this->cbegin(); + const size_type d = p - this->cbegin(); index_iterator it = this->index.begin() + d; - this->priv_delete_node(position.node_pointer()); + this->priv_delete_node(p.node_pointer()); it = this->index.erase(it); index_traits_type::fix_up_pointers_from(this->index, it); return iterator(node_ptr_traits::static_cast_from(*it)); @@ -1444,8 +1605,8 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Linear to the distance between first and last - //! plus linear to the elements between pos and the last element. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT + //! plus linear to the elements between p and the last element. + iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW { STABLE_VECTOR_CHECK_INVARIANT; const const_iterator cbeg(this->cbegin()); @@ -1477,6 +1638,8 @@ class stable_vector //! //! Complexity: Constant. void swap(stable_vector & x) + BOOST_NOEXCEPT_IF( allocator_traits_type::propagate_on_container_swap::value + || allocator_traits_type::is_always_equal::value) { STABLE_VECTOR_CHECK_INVARIANT; container_detail::bool_ flag; @@ -1491,14 +1654,14 @@ class stable_vector //! Throws: Nothing. //! //! Complexity: Linear to the number of elements in the stable_vector. - void clear() BOOST_CONTAINER_NOEXCEPT + void clear() BOOST_NOEXCEPT_OR_NOTHROW { this->erase(this->cbegin(),this->cend()); } //! Effects: Returns true if x and y are equal //! //! Complexity: Linear to the number of elements in the container. friend bool operator==(const stable_vector& x, const stable_vector& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } + { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); } //! Effects: Returns true if x and y are unequal //! @@ -1510,7 +1673,7 @@ class stable_vector //! //! Complexity: Linear to the number of elements in the container. friend bool operator<(const stable_vector& x, const stable_vector& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } + { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } //! Effects: Returns true if x is greater than y //! @@ -1539,6 +1702,14 @@ class stable_vector #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED private: + size_type priv_index_of(node_ptr p) const + { + //Check range + BOOST_ASSERT(this->index.empty() || (this->index.data() <= p->up)); + BOOST_ASSERT(this->index.empty() || p->up <= (this->index.data() + this->index.size())); + return this->index.empty() ? 0 : p->up - this->index.data(); + } + class insert_rollback { public: @@ -1584,7 +1755,7 @@ class stable_vector node_ptr m_p; }; - index_iterator priv_insert_forward_non_templated(size_type pos, size_type num_new) + index_iterator priv_insert_forward_non_templated(size_type idx, size_type num_new) { index_traits_type::initialize_end_node(this->index, this->internal_data.end_node, num_new); @@ -1595,15 +1766,15 @@ class stable_vector //Now try to make room in the vector const node_base_ptr_ptr old_buffer = this->index.data(); - this->index.insert(this->index.begin() + pos, num_new, node_ptr()); + this->index.insert(this->index.begin() + idx, num_new, node_ptr()); bool new_buffer = this->index.data() != old_buffer; //Fix the pointers for the newly allocated buffer const index_iterator index_beg = this->index.begin(); if(new_buffer){ - index_traits_type::fix_up_pointers(index_beg, index_beg + pos); + index_traits_type::fix_up_pointers(index_beg, index_beg + idx); } - return index_beg + pos; + return index_beg + idx; } bool priv_capacity_bigger_than_size() const @@ -1615,7 +1786,7 @@ class stable_vector template void priv_push_back(BOOST_MOVE_CATCH_FWD(U) x) { - if(this->priv_capacity_bigger_than_size()){ + if(BOOST_LIKELY(this->priv_capacity_bigger_than_size())){ //Enough memory in the pool and in the index const node_ptr p = this->priv_get_from_pool(); BOOST_ASSERT(!!p); @@ -1634,18 +1805,18 @@ class stable_vector } } - iterator priv_insert(const_iterator position, const value_type &t) + iterator priv_insert(const_iterator p, const value_type &t) { typedef constant_iterator cvalue_iterator; - return this->insert(position, cvalue_iterator(t, 1), cvalue_iterator()); + return this->insert(p, cvalue_iterator(t, 1), cvalue_iterator()); } - iterator priv_insert(const_iterator position, BOOST_RV_REF(T) x) + iterator priv_insert(const_iterator p, BOOST_RV_REF(T) x) { typedef repeat_iterator repeat_it; typedef boost::move_iterator repeat_move_it; - //Just call more general insert(pos, size, value) and return iterator - return this->insert(position, repeat_move_it(repeat_it(x, 1)), repeat_move_it(repeat_it())); + //Just call more general insert(p, size, value) and return iterator + return this->insert(p, repeat_move_it(repeat_it(x, 1)), repeat_move_it(repeat_it())); } void priv_clear_pool() @@ -1762,7 +1933,7 @@ class stable_vector , container_detail::addressof(p->value) , it); //This does not throw - ::new(static_cast(container_detail::to_raw_pointer(p))) + ::new(static_cast(container_detail::to_raw_pointer(p)), boost_container_new_t()) node_base_type(index_traits_type::ptr_to_node_base_ptr(*up_index)); } @@ -1775,12 +1946,12 @@ class stable_vector , container_detail::addressof(p->value) , ::boost::forward(value_convertible)); //This does not throw - ::new(static_cast(container_detail::to_raw_pointer(p))) node_base_type; + ::new(static_cast(container_detail::to_raw_pointer(p)), boost_container_new_t()) node_base_type; } void priv_swap_members(stable_vector &x) { - boost::container::swap_dispatch(this->internal_data.pool_size, x.internal_data.pool_size); + boost::adl_move_swap(this->internal_data.pool_size, x.internal_data.pool_size); index_traits_type::readjust_end_node(this->index, this->internal_data.end_node); index_traits_type::readjust_end_node(x.index, x.internal_data.end_node); } @@ -1790,8 +1961,19 @@ class stable_vector { index_type & index_ref = const_cast(this->index); - if(index.empty()) + const size_type index_size = this->index.size(); + if(!index_size) return !this->capacity() && !this->size(); + + if(index_size < ExtraPointers) + return false; + + const size_type bucket_extra_capacity = this->index.capacity()- index_size; + const size_type node_extra_capacity = this->internal_data.pool_size; + if(bucket_extra_capacity < node_extra_capacity){ + return false; + } + if(this->priv_get_end_node() != *(index.end() - ExtraPointers)){ return false; } @@ -1865,20 +2047,23 @@ class stable_vector #undef STABLE_VECTOR_CHECK_INVARIANT -#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED - -/* +} //namespace container { //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations template struct has_trivial_destructor_after_move > - : public has_trivial_destructor_after_move::value -{}; +{ + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; +}; -*/ +namespace container { -}} +#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + +}} //namespace boost{ namespace container { #include diff --git a/3party/boost/boost/container/static_vector.hpp b/3party/boost/boost/container/static_vector.hpp index 234fc266f2..c36832dfa3 100644 --- a/3party/boost/boost/container/static_vector.hpp +++ b/3party/boost/boost/container/static_vector.hpp @@ -11,14 +11,23 @@ #ifndef BOOST_CONTAINER_STATIC_VECTOR_HPP #define BOOST_CONTAINER_STATIC_VECTOR_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include - +#include +#include #include -#include + +#include +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include +#endif namespace boost { namespace container { @@ -32,34 +41,33 @@ class static_storage_allocator public: typedef T value_type; - static_storage_allocator() BOOST_CONTAINER_NOEXCEPT + static_storage_allocator() BOOST_NOEXCEPT_OR_NOTHROW {} - static_storage_allocator(const static_storage_allocator &) BOOST_CONTAINER_NOEXCEPT + static_storage_allocator(const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW {} - static_storage_allocator & operator=(const static_storage_allocator &) BOOST_CONTAINER_NOEXCEPT + static_storage_allocator & operator=(const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW {} - T* internal_storage() const BOOST_CONTAINER_NOEXCEPT + T* internal_storage() const BOOST_NOEXCEPT_OR_NOTHROW { return const_cast(static_cast(static_cast(&storage))); } - T* internal_storage() BOOST_CONTAINER_NOEXCEPT + T* internal_storage() BOOST_NOEXCEPT_OR_NOTHROW { return static_cast(static_cast(&storage)); } static const std::size_t internal_capacity = N; typedef boost::container::container_detail::version_type version; - friend bool operator==(const static_storage_allocator &, const static_storage_allocator &) BOOST_CONTAINER_NOEXCEPT + friend bool operator==(const static_storage_allocator &, const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW { return false; } - friend bool operator!=(const static_storage_allocator &, const static_storage_allocator &) BOOST_CONTAINER_NOEXCEPT + friend bool operator!=(const static_storage_allocator &, const static_storage_allocator &) BOOST_NOEXCEPT_OR_NOTHROW { return true; } private: - typename boost::aligned_storage - ::value>::type storage; + typename aligned_storage::value>::type storage; }; } //namespace container_detail { @@ -135,7 +143,7 @@ public: //! //! @par Complexity //! Constant O(1). - static_vector() BOOST_CONTAINER_NOEXCEPT + static_vector() BOOST_NOEXCEPT_OR_NOTHROW : base_t() {} @@ -207,6 +215,24 @@ public: : base_t(first, last) {} +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! @pre + //! @li distance(il.begin(), il.end()) <= capacity() + //! + //! @brief Constructs a static_vector containing copy of a range [il.begin(), il.end()). + //! + //! @param il std::initializer_list with values to initialize vector. + //! + //! @par Throws + //! If Value's constructor taking a dereferenced std::initializer_list throws. + //! + //! @par Complexity + //! Linear O(N). + static_vector(std::initializer_list il) + : base_t(il) + {} +#endif + //! @brief Constructs a copy of other static_vector. //! //! @param other The static_vector which content will be copied to this one. @@ -241,13 +267,13 @@ public: //! @param other The static_vector which content will be moved to this one. //! //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor throws. - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor throws. + //! @li If \c has_nothrow_move::value is \c true and Value's move constructor throws. + //! @li If \c has_nothrow_move::value is \c false and Value's copy constructor throws. //! //! @par Complexity //! Linear O(N). static_vector(BOOST_RV_REF(static_vector) other) - : base_t(boost::move(static_cast(other))) + : base_t(BOOST_MOVE_BASE(base_t, other)) {} //! @pre other.size() <= capacity() @@ -257,14 +283,14 @@ public: //! @param other The static_vector which content will be moved to this one. //! //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor throws. - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor throws. + //! @li If \c has_nothrow_move::value is \c true and Value's move constructor throws. + //! @li If \c has_nothrow_move::value is \c false and Value's copy constructor throws. //! //! @par Complexity //! Linear O(N). template static_vector(BOOST_RV_REF_BEG static_vector BOOST_RV_REF_END other) - : base_t(boost::move(static_cast::base_t&>(other))) + : base_t(BOOST_MOVE_BASE(typename static_vector::base_t, other)) {} //! @brief Copy assigns Values stored in the other static_vector to this one. @@ -281,6 +307,20 @@ public: return static_cast(base_t::operator=(static_cast(other))); } +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! @brief Copy assigns Values stored in std::initializer_list to *this. + //! + //! @param il The std::initializer_list which content will be copied to this one. + //! + //! @par Throws + //! If Value's copy constructor or copy assignment throws. + //! + //! @par Complexity + //! Linear O(N). + static_vector & operator=(std::initializer_list il) + { return static_cast(base_t::operator=(il)); } +#endif + //! @pre other.size() <= capacity() //! //! @brief Copy assigns Values stored in the other static_vector to this one. @@ -304,14 +344,14 @@ public: //! @param other The static_vector which content will be moved to this one. //! //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor or move assignment throws. - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws. + //! @li If \c has_nothrow_move::value is \c true and Value's move constructor or move assignment throws. + //! @li If \c has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws. //! //! @par Complexity //! Linear O(N). static_vector & operator=(BOOST_RV_REF(static_vector) other) { - return static_cast(base_t::operator=(boost::move(static_cast(other)))); + return static_cast(base_t::operator=(BOOST_MOVE_BASE(base_t, other))); } //! @pre other.size() <= capacity() @@ -321,8 +361,8 @@ public: //! @param other The static_vector which content will be moved to this one. //! //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor or move assignment throws. - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws. + //! @li If \c has_nothrow_move::value is \c true and Value's move constructor or move assignment throws. + //! @li If \c has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws. //! //! @par Complexity //! Linear O(N). @@ -330,7 +370,7 @@ public: static_vector & operator=(BOOST_RV_REF_BEG static_vector BOOST_RV_REF_END other) { return static_cast(base_t::operator= - (boost::move(static_cast::base_t&>(other)))); + (BOOST_MOVE_BASE(typename static_vector::base_t, other))); } #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED @@ -349,8 +389,8 @@ public: //! @param other The static_vector which content will be swapped with this one's content. //! //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor or move assignment throws, - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws, + //! @li If \c has_nothrow_move::value is \c true and Value's move constructor or move assignment throws, + //! @li If \c has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws, //! //! @par Complexity //! Linear O(N). @@ -363,8 +403,8 @@ public: //! @param other The static_vector which content will be swapped with this one's content. //! //! @par Throws - //! @li If \c boost::has_nothrow_move::value is \c true and Value's move constructor or move assignment throws, - //! @li If \c boost::has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws, + //! @li If \c has_nothrow_move::value is \c true and Value's move constructor or move assignment throws, + //! @li If \c has_nothrow_move::value is \c false and Value's copy constructor or copy assignment throws, //! //! @par Complexity //! Linear O(N). @@ -428,7 +468,7 @@ public: //! //! @par Complexity //! Linear O(N). - void reserve(size_type count) BOOST_CONTAINER_NOEXCEPT; + void reserve(size_type count) BOOST_NOEXCEPT_OR_NOTHROW; //! @pre size() < capacity() //! @@ -468,13 +508,13 @@ public: void pop_back(); //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()]. + //! @li \c p must be a valid iterator of \c *this in range [begin(), end()]. //! @li size() < capacity() //! - //! @brief Inserts a copy of element at position. + //! @brief Inserts a copy of element at p. //! - //! @param position The position at which the new value will be inserted. - //! @param value The value used to copy construct the new element. + //! @param p The position at which the new value will be inserted. + //! @param value The value used to copy construct the new element. //! //! @par Throws //! @li If Value's copy constructor or copy assignment throws @@ -482,33 +522,33 @@ public: //! //! @par Complexity //! Constant or linear. - iterator insert(iterator position, value_type const& value); + iterator insert(const_iterator p, value_type const& value); //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()]. + //! @li \c p must be a valid iterator of \c *this in range [begin(), end()]. //! @li size() < capacity() //! - //! @brief Inserts a move-constructed element at position. + //! @brief Inserts a move-constructed element at p. //! - //! @param position The position at which the new value will be inserted. - //! @param value The value used to move construct the new element. + //! @param p The position at which the new value will be inserted. + //! @param value The value used to move construct the new element. //! //! @par Throws //! If Value's move constructor or move assignment throws. //! //! @par Complexity //! Constant or linear. - iterator insert(iterator position, BOOST_RV_REF(value_type) value); + iterator insert(const_iterator p, BOOST_RV_REF(value_type) value); //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()]. + //! @li \c p must be a valid iterator of \c *this in range [begin(), end()]. //! @li size() + count <= capacity() //! - //! @brief Inserts a count copies of value at position. + //! @brief Inserts a count copies of value at p. //! - //! @param position The position at which new elements will be inserted. - //! @param count The number of new elements which will be inserted. - //! @param value The value used to copy construct new elements. + //! @param p The position at which new elements will be inserted. + //! @param count The number of new elements which will be inserted. + //! @param value The value used to copy construct new elements. //! //! @par Throws //! @li If Value's copy constructor or copy assignment throws. @@ -516,18 +556,18 @@ public: //! //! @par Complexity //! Linear O(N). - iterator insert(iterator position, size_type count, value_type const& value); + iterator insert(const_iterator p, size_type count, value_type const& value); //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()]. + //! @li \c p must be a valid iterator of \c *this in range [begin(), end()]. //! @li distance(first, last) <= capacity() //! @li \c Iterator must meet the \c ForwardTraversalIterator concept. //! - //! @brief Inserts a copy of a range [first, last) at position. + //! @brief Inserts a copy of a range [first, last) at p. //! - //! @param position The position at which new elements will be inserted. - //! @param first The iterator to the first element of a range used to construct new elements. - //! @param last The iterator to the one after the last element of a range used to construct new elements. + //! @param p The position at which new elements will be inserted. + //! @param first The iterator to the first element of a range used to construct new elements. + //! @param last The iterator to the one after the last element of a range used to construct new elements. //! //! @par Throws //! @li If Value's constructor and assignment taking a dereferenced \c Iterator. @@ -536,20 +576,38 @@ public: //! @par Complexity //! Linear O(N). template - iterator insert(iterator position, Iterator first, Iterator last); + iterator insert(const_iterator p, Iterator first, Iterator last); - //! @pre \c position must be a valid iterator of \c *this in range [begin(), end()) +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! @pre + //! @li \c p must be a valid iterator of \c *this in range [begin(), end()]. + //! @li distance(il.begin(), il.end()) <= capacity() //! - //! @brief Erases Value from position. + //! @brief Inserts a copy of a range [il.begin(), il.end()) at p. //! - //! @param position The position of the element which will be erased from the container. + //! @param p The position at which new elements will be inserted. + //! @param il The std::initializer_list which contains elements that will be inserted. + //! + //! @par Throws + //! @li If Value's constructor and assignment taking a dereferenced std::initializer_list iterator. + //! + //! @par Complexity + //! Linear O(N). + iterator insert(const_iterator p, std::initializer_list il); +#endif + + //! @pre \c p must be a valid iterator of \c *this in range [begin(), end()) + //! + //! @brief Erases Value from p. + //! + //! @param p The position of the element which will be erased from the container. //! //! @par Throws //! If Value's move assignment throws. //! //! @par Complexity //! Linear O(N). - iterator erase(iterator position); + iterator erase(const_iterator p); //! @pre //! @li \c first and \c last must define a valid range @@ -565,7 +623,7 @@ public: //! //! @par Complexity //! Linear O(N). - iterator erase(iterator first, iterator last); + iterator erase(const_iterator first, const_iterator last); //! @pre distance(first, last) <= capacity() //! @@ -582,6 +640,21 @@ public: template void assign(Iterator first, Iterator last); +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! @pre distance(il.begin(), il.end()) <= capacity() + //! + //! @brief Assigns a range [il.begin(), il.end()) of Values to this container. + //! + //! @param first std::initializer_list with values used to construct new content of this container. + //! + //! @par Throws + //! If Value's copy constructor or copy assignment throws, + //! + //! @par Complexity + //! Linear O(N). + void assign(std::initializer_list il); +#endif + //! @pre count <= capacity() //! //! @brief Assigns a count copies of value to this container. @@ -612,14 +685,14 @@ public: void emplace_back(Args &&...args); //! @pre - //! @li \c position must be a valid iterator of \c *this in range [begin(), end()] + //! @li \c p must be a valid iterator of \c *this in range [begin(), end()] //! @li size() < capacity() //! //! @brief Inserts a Value constructed with - //! \c std::forward(args)... before position + //! \c std::forward(args)... before p //! - //! @param position The position at which new elements will be inserted. - //! @param args The arguments of the constructor of the new element. + //! @param p The position at which new elements will be inserted. + //! @param args The arguments of the constructor of the new element. //! //! @par Throws //! If in-place constructor throws or if Value's move constructor or move assignment throws. @@ -627,7 +700,7 @@ public: //! @par Complexity //! Constant or linear. template - iterator emplace(iterator position, Args &&...args); + iterator emplace(const_iterator p, Args &&...args); //! @brief Removes all elements from the container. //! @@ -636,7 +709,7 @@ public: //! //! @par Complexity //! Constant O(1). - void clear() BOOST_CONTAINER_NOEXCEPT; + void clear() BOOST_NOEXCEPT_OR_NOTHROW; //! @pre i < size() //! @@ -702,6 +775,66 @@ public: //! Constant O(1). const_reference operator[](size_type i) const; + //! @pre i =< size() + //! + //! @brief Returns a iterator to the i-th element. + //! + //! @param i The element's index. + //! + //! @return a iterator to the i-th element. + //! + //! @par Throws + //! Nothing by default. + //! + //! @par Complexity + //! Constant O(1). + iterator nth(size_type i); + + //! @pre i =< size() + //! + //! @brief Returns a const_iterator to the i-th element. + //! + //! @param i The element's index. + //! + //! @return a const_iterator to the i-th element. + //! + //! @par Throws + //! Nothing by default. + //! + //! @par Complexity + //! Constant O(1). + const_iterator nth(size_type i) const; + + //! @pre begin() <= p <= end() + //! + //! @brief Returns the index of the element pointed by p. + //! + //! @param i The element's index. + //! + //! @return The index of the element pointed by p. + //! + //! @par Throws + //! Nothing by default. + //! + //! @par Complexity + //! Constant O(1). + size_type index_of(iterator p); + + //! @pre begin() <= p <= end() + //! + //! @brief Returns the index of the element pointed by p. + //! + //! @param i The index of the element pointed by p. + //! + //! @return a const_iterator to the i-th element. + //! + //! @par Throws + //! Nothing by default. + //! + //! @par Complexity + //! Constant O(1). + size_type index_of(const_iterator p) const; + //! @pre \c !empty() //! //! @brief Returns reference to the first element. @@ -766,7 +899,7 @@ public: //! //! @par Complexity //! Constant O(1). - Value * data() BOOST_CONTAINER_NOEXCEPT; + Value * data() BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Const pointer such that [data(), data() + size()) is a valid range. //! For a non-empty vector data() == &front(). @@ -776,7 +909,7 @@ public: //! //! @par Complexity //! Constant O(1). - const Value * data() const BOOST_CONTAINER_NOEXCEPT; + const Value * data() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns iterator to the first element. //! @@ -787,7 +920,7 @@ public: //! //! @par Complexity //! Constant O(1). - iterator begin() BOOST_CONTAINER_NOEXCEPT; + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns const iterator to the first element. //! @@ -798,7 +931,7 @@ public: //! //! @par Complexity //! Constant O(1). - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT; + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns const iterator to the first element. //! @@ -809,7 +942,7 @@ public: //! //! @par Complexity //! Constant O(1). - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns iterator to the one after the last element. //! @@ -820,7 +953,7 @@ public: //! //! @par Complexity //! Constant O(1). - iterator end() BOOST_CONTAINER_NOEXCEPT; + iterator end() BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns const iterator to the one after the last element. //! @@ -831,7 +964,7 @@ public: //! //! @par Complexity //! Constant O(1). - const_iterator end() const BOOST_CONTAINER_NOEXCEPT; + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns const iterator to the one after the last element. //! @@ -842,7 +975,7 @@ public: //! //! @par Complexity //! Constant O(1). - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT; + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns reverse iterator to the first element of the reversed container. //! @@ -854,7 +987,7 @@ public: //! //! @par Complexity //! Constant O(1). - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns const reverse iterator to the first element of the reversed container. //! @@ -866,7 +999,7 @@ public: //! //! @par Complexity //! Constant O(1). - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns const reverse iterator to the first element of the reversed container. //! @@ -878,7 +1011,7 @@ public: //! //! @par Complexity //! Constant O(1). - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns reverse iterator to the one after the last element of the reversed container. //! @@ -890,7 +1023,7 @@ public: //! //! @par Complexity //! Constant O(1). - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT; + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns const reverse iterator to the one after the last element of the reversed container. //! @@ -902,7 +1035,7 @@ public: //! //! @par Complexity //! Constant O(1). - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns const reverse iterator to the one after the last element of the reversed container. //! @@ -914,7 +1047,7 @@ public: //! //! @par Complexity //! Constant O(1). - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT; + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns container's capacity. //! @@ -925,7 +1058,7 @@ public: //! //! @par Complexity //! Constant O(1). - static size_type capacity() BOOST_CONTAINER_NOEXCEPT; + static size_type capacity() BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns container's capacity. //! @@ -936,7 +1069,7 @@ public: //! //! @par Complexity //! Constant O(1). - static size_type max_size() BOOST_CONTAINER_NOEXCEPT; + static size_type max_size() BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Returns the number of stored elements. //! @@ -947,7 +1080,7 @@ public: //! //! @par Complexity //! Constant O(1). - size_type size() const BOOST_CONTAINER_NOEXCEPT; + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW; //! @brief Queries if the container contains elements. //! @@ -959,7 +1092,7 @@ public: //! //! @par Complexity //! Constant O(1). - bool empty() const BOOST_CONTAINER_NOEXCEPT; + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW; #else friend void swap(static_vector &x, static_vector &y) diff --git a/3party/boost/boost/container/string.hpp b/3party/boost/boost/container/string.hpp index 89bb5ac2a9..7399223904 100644 --- a/3party/boost/boost/container/string.hpp +++ b/3party/boost/boost/container/string.hpp @@ -11,32 +11,44 @@ #ifndef BOOST_CONTAINER_STRING_HPP #define BOOST_CONTAINER_STRING_HPP +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) +# pragma once +#endif + #include -#include - #include #include -#include -#include -#include -#include -#include -#include +// container #include +#include //new_allocator +#include +// container/detail +#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 //bind2nd, etc. #include #include #include @@ -45,9 +57,7 @@ #include #include #include -#include -#include -#include +#include namespace boost { namespace container { @@ -67,11 +77,12 @@ namespace container_detail { template class basic_string_base { - BOOST_MOVABLE_BUT_NOT_COPYABLE(basic_string_base) + basic_string_base & operator=(const basic_string_base &); + basic_string_base(const basic_string_base &); typedef allocator_traits allocator_traits_type; public: - typedef Allocator allocator_type; + typedef Allocator allocator_type; typedef allocator_type stored_allocator_type; typedef typename allocator_traits_type::pointer pointer; typedef typename allocator_traits_type::value_type value_type; @@ -86,6 +97,10 @@ class basic_string_base : members_(a) { init(); } + basic_string_base(BOOST_RV_REF(allocator_type) a) + : members_(boost::move(a)) + { this->init(); } + basic_string_base(const allocator_type& a, size_type n) : members_(a) { @@ -93,18 +108,10 @@ class basic_string_base this->allocate_initial_block(n); } - basic_string_base(BOOST_RV_REF(basic_string_base) b) - : members_(boost::move(b.alloc())) - { - this->init(); - this->swap_data(b); - } - ~basic_string_base() { if(!this->is_short()){ - this->deallocate_block(); - this->is_short(true); + this->deallocate(this->priv_long_addr(), this->priv_long_storage()); } } @@ -123,15 +130,14 @@ class basic_string_base long_t(const long_t &other) { - this->is_short = other.is_short; + this->is_short = false; length = other.length; storage = other.storage; start = other.start; } - long_t &operator =(const long_t &other) + long_t &operator= (const long_t &other) { - this->is_short = other.is_short; length = other.length; storage = other.storage; start = other.start; @@ -150,15 +156,14 @@ class basic_string_base //This type has the same alignment and size as long_t but it's POD //so, unlike long_t, it can be placed in a union - typedef typename boost::aligned_storage< sizeof(long_t), - container_detail::alignment_of::value>::type long_raw_t; + typedef typename container_detail::aligned_storage + ::value>::type long_raw_t; protected: static const size_type MinInternalBufferChars = 8; static const size_type AlignmentOfValueType = alignment_of::value; - static const size_type ShortDataOffset = - container_detail::ct_rounded_size::value; + static const size_type ShortDataOffset = ((sizeof(short_header)-1)/AlignmentOfValueType+1)*AlignmentOfValueType; static const size_type ZeroCostInternalBufferChars = (sizeof(long_t) - ShortDataOffset)/sizeof(value_type); static const size_type UnalignedFinalInternalBufferChars = @@ -248,23 +253,20 @@ class basic_string_base protected: - typedef container_detail::integral_constant allocator_v1; - typedef container_detail::integral_constant allocator_v2; typedef container_detail::integral_constant::value> alloc_version; - std::pair - allocation_command(allocation_type command, + pointer allocation_command(allocation_type command, size_type limit_size, - size_type preferred_size, - size_type &received_size, pointer reuse = 0) + size_type &prefer_in_recvd_out_size, + pointer &reuse) { if(this->is_short() && (command & (expand_fwd | expand_bwd)) ){ - reuse = pointer(); + reuse = 0; command &= ~(expand_fwd | expand_bwd); } return container_detail::allocator_version_traits::allocation_command - (this->alloc(), command, limit_size, preferred_size, received_size, reuse); + (this->alloc(), command, limit_size, prefer_in_recvd_out_size, reuse); } size_type next_capacity(size_type additional_objects) const @@ -311,7 +313,8 @@ class basic_string_base if (n <= this->max_size()) { if(n > InternalBufferChars){ size_type new_cap = this->next_capacity(n); - pointer p = this->allocation_command(allocate_new, n, new_cap, new_cap).first; + pointer reuse = 0; + pointer p = this->allocation_command(allocate_new, n, new_cap, reuse); this->is_short(false); this->priv_long_addr(p); this->priv_long_size(0); @@ -409,28 +412,28 @@ class basic_string_base { if(this->is_short()){ if(other.is_short()){ - std::swap(this->members_.m_repr, other.members_.m_repr); + repr_t tmp(this->members_.m_repr); + this->members_.m_repr = other.members_.m_repr; + other.members_.m_repr = tmp; } else{ short_t short_backup(this->members_.m_repr.short_repr()); - long_t long_backup (other.members_.m_repr.long_repr()); + this->members_.m_repr.short_repr().~short_t(); + ::new(&this->members_.m_repr.long_repr()) long_t(other.members_.m_repr.long_repr()); other.members_.m_repr.long_repr().~long_t(); - ::new(&this->members_.m_repr.long_repr()) long_t; - this->members_.m_repr.long_repr() = long_backup; - other.members_.m_repr.short_repr() = short_backup; + ::new(&other.members_.m_repr.short_repr()) short_t(short_backup); } } else{ if(other.is_short()){ short_t short_backup(other.members_.m_repr.short_repr()); - long_t long_backup (this->members_.m_repr.long_repr()); + other.members_.m_repr.short_repr().~short_t(); + ::new(&other.members_.m_repr.long_repr()) long_t(this->members_.m_repr.long_repr()); this->members_.m_repr.long_repr().~long_t(); - ::new(&other.members_.m_repr.long_repr()) long_t; - other.members_.m_repr.long_repr() = long_backup; - this->members_.m_repr.short_repr() = short_backup; + ::new(&this->members_.m_repr.short_repr()) short_t(short_backup); } else{ - boost::container::swap_dispatch(this->members_.m_repr.long_repr(), other.members_.m_repr.long_repr()); + boost::adl_move_swap(this->members_.m_repr.long_repr(), other.members_.m_repr.long_repr()); } } } @@ -473,7 +476,7 @@ class basic_string_base //! \tparam Traits The Character Traits type, which encapsulates basic character operations //! \tparam Allocator The allocator, used for internal memory management. #ifdef BOOST_CONTAINER_DOXYGEN_INVOKED -template , class Allocator = std::allocator > +template , class Allocator = new_allocator > #else template #endif @@ -494,9 +497,9 @@ class basic_string struct Eq_traits { //Compatibility with std::binary_function - typedef typename Tr::char_type first_argument_type; - typedef typename Tr::char_type second_argument_type; - typedef bool result_type; + typedef typename Tr::char_type first_argument_type; + typedef typename Tr::char_type second_argument_type; + typedef bool result_type; bool operator()(const first_argument_type& x, const second_argument_type& y) const { return Tr::eq(x, y); } @@ -505,8 +508,8 @@ class basic_string template struct Not_within_traits { - typedef typename Tr::char_type argument_type; - typedef bool result_type; + typedef typename Tr::char_type argument_type; + typedef bool result_type; typedef const typename Tr::char_type* Pointer; const Pointer m_first; @@ -541,15 +544,13 @@ class basic_string typedef BOOST_CONTAINER_IMPDEF(allocator_type) stored_allocator_type; typedef BOOST_CONTAINER_IMPDEF(pointer) iterator; typedef BOOST_CONTAINER_IMPDEF(const_pointer) const_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) const_reverse_iterator; static const size_type npos = size_type(-1); #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED private: typedef constant_iterator cvalue_iterator; - typedef typename base_t::allocator_v1 allocator_v1; - typedef typename base_t::allocator_v2 allocator_v2; typedef typename base_t::alloc_version alloc_version; typedef ::boost::intrusive::pointer_traits pointer_traits; #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED @@ -584,7 +585,7 @@ class basic_string //! Effects: Constructs a basic_string taking the allocator as parameter. //! //! Throws: Nothing - explicit basic_string(const allocator_type& a) BOOST_CONTAINER_NOEXCEPT + explicit basic_string(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW : base_t(a) { this->priv_terminate_string(); } @@ -605,9 +606,16 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - basic_string(BOOST_RV_REF(basic_string) s) BOOST_CONTAINER_NOEXCEPT - : base_t(boost::move((base_t&)s)) - {} + basic_string(BOOST_RV_REF(basic_string) s) BOOST_NOEXCEPT_OR_NOTHROW + : base_t(boost::move(s.alloc())) + { + if(s.alloc() == this->alloc()){ + this->swap_data(s); + } + else{ + this->assign(s.begin(), s.end()); + } + } //! Effects: Copy constructs a basic_string using the specified allocator. //! @@ -704,7 +712,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - ~basic_string() BOOST_CONTAINER_NOEXCEPT + ~basic_string() BOOST_NOEXCEPT_OR_NOTHROW {} //! Effects: Copy constructs a string. @@ -742,7 +750,8 @@ class basic_string //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. basic_string& operator=(BOOST_RV_REF(basic_string) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) + BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value + || allocator_traits_type::is_always_equal::value) { //for move constructor, no aliasing (&x != this) is assummed. BOOST_ASSERT(this != &x); @@ -782,7 +791,7 @@ class basic_string //! Throws: If allocator's copy constructor throws. //! //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT + allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return this->alloc(); } //! Effects: Returns a reference to the internal allocator. @@ -792,7 +801,7 @@ class basic_string //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return this->alloc(); } //! Effects: Returns a reference to the internal allocator. @@ -802,7 +811,7 @@ class basic_string //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return this->alloc(); } ////////////////////////////////////////////// @@ -816,7 +825,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_addr(); } //! Effects: Returns a const_iterator to the first element contained in the vector. @@ -824,7 +833,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_addr(); } //! Effects: Returns an iterator to the end of the vector. @@ -832,7 +841,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT + iterator end() BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_end_addr(); } //! Effects: Returns a const_iterator to the end of the vector. @@ -840,7 +849,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_end_addr(); } //! Effects: Returns a reverse_iterator pointing to the beginning @@ -849,7 +858,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(this->priv_end_addr()); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -858,7 +867,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->crbegin(); } //! Effects: Returns a reverse_iterator pointing to the end @@ -867,7 +876,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(this->priv_addr()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -876,7 +885,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW { return this->crend(); } //! Effects: Returns a const_iterator to the first element contained in the vector. @@ -884,7 +893,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_addr(); } //! Effects: Returns a const_iterator to the end of the vector. @@ -892,7 +901,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_end_addr(); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -901,7 +910,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->priv_end_addr()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -910,7 +919,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->priv_addr()); } ////////////////////////////////////////////// @@ -924,7 +933,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW { return !this->priv_size(); } //! Effects: Returns the number of the elements contained in the vector. @@ -932,7 +941,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_size(); } //! Effects: Returns the number of the elements contained in the vector. @@ -940,7 +949,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - size_type length() const BOOST_CONTAINER_NOEXCEPT + size_type length() const BOOST_NOEXCEPT_OR_NOTHROW { return this->size(); } //! Effects: Returns the largest possible size of the vector. @@ -948,7 +957,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW { return base_t::max_size(); } //! Effects: Inserts or erases elements at the end such that @@ -1000,7 +1009,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT + size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW { return this->priv_capacity(); } //! Effects: If n is less than or equal to capacity(), this call has no @@ -1057,7 +1066,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - reference operator[](size_type n) BOOST_CONTAINER_NOEXCEPT + reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW { return *(this->priv_addr() + n); } //! Requires: size() > n. @@ -1068,7 +1077,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Constant. - const_reference operator[](size_type n) const BOOST_CONTAINER_NOEXCEPT + const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW { return *(this->priv_addr() + n); } //! Requires: size() > n. @@ -1211,7 +1220,7 @@ class basic_string //! Throws: Nothing //! //! Returns: *this - basic_string& assign(BOOST_RV_REF(basic_string) ms) BOOST_CONTAINER_NOEXCEPT + basic_string& assign(BOOST_RV_REF(basic_string) ms) BOOST_NOEXCEPT_OR_NOTHROW { return this->swap_data(ms), *this; } //! Requires: pos <= str.size() @@ -1256,18 +1265,18 @@ class basic_string { return this->assign(cvalue_iterator(c, n), cvalue_iterator()); } //! Effects: Equivalent to assign(basic_string(first, last)). - //! - //! Returns: *this - basic_string& assign(const CharT* first, const CharT* last) - { - size_type n = static_cast(last - first); - this->reserve(n); - CharT* ptr = container_detail::to_raw_pointer(this->priv_addr()); - Traits::copy(ptr, first, n); - this->priv_construct_null(ptr + n); - this->priv_size(n); - return *this; - } + //! + //! Returns: *this + basic_string& assign(const CharT* first, const CharT* last) + { + size_type n = static_cast(last - first); + this->reserve(n); + CharT* ptr = container_detail::to_raw_pointer(this->priv_addr()); + Traits::copy(ptr, first, n); + this->priv_construct_null(ptr + n); + this->priv_size(n); + return *this; + } //! Effects: Equivalent to assign(basic_string(first, last)). //! @@ -1275,9 +1284,7 @@ class basic_string template basic_string& assign(InputIter first, InputIter last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - >::type * = 0 + , typename container_detail::disable_if_convertible::type * = 0 #endif ) { @@ -1424,9 +1431,10 @@ class basic_string template iterator insert(const_iterator p, InputIter first, InputIter last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_not_input_iterator >::type * = 0 #endif ) @@ -1441,35 +1449,37 @@ class basic_string #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) template iterator insert(const_iterator p, ForwardIter first, ForwardIter last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_input_iterator >::type * = 0 ) { const size_type n_pos = p - this->cbegin(); if (first != last) { - const size_type n = std::distance(first, last); + const size_type n = boost::container::iterator_distance(first, last); const size_type old_size = this->priv_size(); const size_type remaining = this->capacity() - old_size; const pointer old_start = this->priv_addr(); bool enough_capacity = false; - std::pair allocation_ret; size_type new_cap = 0; //Check if we have enough capacity + pointer hint = pointer(); + pointer allocation_ret = pointer(); if (remaining >= n){ enough_capacity = true; } else { //Otherwise expand current buffer or allocate new storage new_cap = this->next_capacity(n); + hint = old_start; allocation_ret = this->allocation_command - (allocate_new | expand_fwd | expand_bwd, old_size + n + 1, - new_cap, new_cap, old_start); + (allocate_new | expand_fwd | expand_bwd, old_size + n + 1, new_cap, hint); //Check forward expansion - if(old_start == allocation_ret.first){ + if(old_start == allocation_ret){ enough_capacity = true; this->priv_storage(new_cap); } @@ -1492,7 +1502,7 @@ class basic_string } else { ForwardIter mid = first; - std::advance(mid, elems_after + 1); + boost::container::iterator_advance(mid, elems_after + 1); priv_uninitialized_copy(mid, last, old_start + old_size + 1); const size_type newer_size = old_size + (n - elems_after); @@ -1505,8 +1515,8 @@ class basic_string } } else{ - pointer new_start = allocation_ret.first; - if(!allocation_ret.second){ + pointer new_start = allocation_ret; + if(!hint){ //Copy data to new buffer size_type new_length = 0; //This can't throw, since characters are POD @@ -1576,7 +1586,7 @@ class basic_string //! //! Returns: An iterator which points to the element immediately following p prior to the element being //! erased. If no such element exists, end() is returned. - iterator erase(const_iterator p) BOOST_CONTAINER_NOEXCEPT + iterator erase(const_iterator p) BOOST_NOEXCEPT_OR_NOTHROW { // The move includes the terminating null. CharT * const ptr = const_cast(container_detail::to_raw_pointer(p)); @@ -1596,7 +1606,7 @@ class basic_string //! //! Returns: An iterator which points to the element pointed to by last prior to //! the other elements being erased. If no such element exists, end() is returned. - iterator erase(const_iterator first, const_iterator last) BOOST_CONTAINER_NOEXCEPT + iterator erase(const_iterator first, const_iterator last) BOOST_NOEXCEPT_OR_NOTHROW { CharT * f = const_cast(container_detail::to_raw_pointer(first)); if (first != last) { // The move includes the terminating null. @@ -1616,7 +1626,7 @@ class basic_string //! Throws: Nothing //! //! Effects: Equivalent to erase(size() - 1, 1). - void pop_back() BOOST_CONTAINER_NOEXCEPT + void pop_back() BOOST_NOEXCEPT_OR_NOTHROW { const size_type old_size = this->priv_size(); Traits::assign(this->priv_addr()[old_size-1], CharT(0)); @@ -1628,7 +1638,7 @@ class basic_string //! Throws: Nothing. //! //! Complexity: Linear to the number of elements in the vector. - void clear() BOOST_CONTAINER_NOEXCEPT + void clear() BOOST_NOEXCEPT_OR_NOTHROW { if (!this->empty()) { Traits::assign(*this->priv_addr(), CharT(0)); @@ -1814,9 +1824,10 @@ class basic_string template basic_string& replace(const_iterator i1, const_iterator i2, InputIter j1, InputIter j2 #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_input_iterator >::type * = 0 #endif ) @@ -1835,13 +1846,14 @@ class basic_string #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) template basic_string& replace(const_iterator i1, const_iterator i2, ForwardIter j1, ForwardIter j2 - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_not_input_iterator >::type * = 0 ) { - difference_type n = std::distance(j1, j2); + difference_type n = boost::container::iterator_distance(j1, j2); const difference_type len = i2 - i1; if (len >= n) { this->priv_copy(j1, j2, const_cast(container_detail::to_raw_pointer(i1))); @@ -1849,7 +1861,7 @@ class basic_string } else { ForwardIter m = j1; - std::advance(m, len); + boost::container::iterator_advance(m, len); this->priv_copy(j1, m, const_cast(container_detail::to_raw_pointer(i1))); this->insert(i2, m, j2); } @@ -1882,6 +1894,8 @@ class basic_string //! //! Throws: Nothing void swap(basic_string& x) + BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_swap::value + || allocator_traits_type::is_always_equal::value) { this->base_t::swap_data(x); container_detail::bool_ flag; @@ -1896,18 +1910,18 @@ class basic_string //! Requires: The program shall not alter any of the values stored in the character array. //! - //! Returns: Allocator pointer p such that p + i == &operator[](i) for each i in [0,size()]. + //! Returns: A pointer p such that p + i == &operator[](i) for each i in [0,size()]. //! //! Complexity: constant time. - const CharT* c_str() const BOOST_CONTAINER_NOEXCEPT + const CharT* c_str() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::to_raw_pointer(this->priv_addr()); } //! Requires: The program shall not alter any of the values stored in the character array. //! - //! Returns: Allocator pointer p such that p + i == &operator[](i) for each i in [0,size()]. + //! Returns: A pointer p such that p + i == &operator[](i) for each i in [0,size()]. //! //! Complexity: constant time. - const CharT* data() const BOOST_CONTAINER_NOEXCEPT + const CharT* data() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::to_raw_pointer(this->priv_addr()); } ////////////////////////////////////////////// @@ -2348,8 +2362,8 @@ class basic_string if (this->capacity() < res_arg){ size_type n = container_detail::max_value(res_arg, this->size()) + 1; size_type new_cap = this->next_capacity(n); - pointer new_start = this->allocation_command - (allocate_new, n, new_cap, new_cap).first; + pointer reuse = 0; + pointer new_start = this->allocation_command(allocate_new, n, new_cap, reuse); size_type new_length = 0; const pointer addr = this->priv_addr(); @@ -2380,7 +2394,7 @@ class basic_string template void priv_shrink_to_fit_dynamic_buffer ( AllocVersion - , typename container_detail::enable_if >::type* = 0) + , typename container_detail::enable_if >::type* = 0) { //Allocate a new buffer. size_type real_cap = 0; @@ -2389,13 +2403,14 @@ class basic_string const size_type long_storage = this->priv_long_storage(); //We can make this nothrow as chars are always NoThrowCopyables BOOST_TRY{ - const std::pair ret = this->allocation_command - (allocate_new, long_size+1, long_size+1, real_cap, long_addr); + pointer reuse = 0; + real_cap = long_size+1; + const pointer ret = this->allocation_command(allocate_new, long_size+1, real_cap, reuse); //Copy and update - Traits::copy( container_detail::to_raw_pointer(ret.first) + Traits::copy( container_detail::to_raw_pointer(ret) , container_detail::to_raw_pointer(this->priv_long_addr()) , long_size+1); - this->priv_long_addr(ret.first); + this->priv_long_addr(ret); this->priv_storage(real_cap); //And release old buffer this->alloc().deallocate(long_addr, long_storage); @@ -2409,13 +2424,12 @@ class basic_string template void priv_shrink_to_fit_dynamic_buffer ( AllocVersion - , typename container_detail::enable_if >::type* = 0) + , typename container_detail::enable_if >::type* = 0) { - size_type received_size; + size_type received_size = this->priv_long_size()+1; + pointer hint = this->priv_long_addr(); if(this->alloc().allocation_command - ( shrink_in_place | nothrow_allocation - , this->priv_long_storage(), this->priv_long_size()+1 - , received_size, this->priv_long_addr()).first){ + ( shrink_in_place | nothrow_allocation, this->priv_long_storage(), received_size, hint)){ this->priv_storage(received_size); } } @@ -2495,7 +2509,7 @@ class basic_string InputIter f, InputIter l, container_detail::false_) { - typedef typename std::iterator_traits::iterator_category Category; + typedef typename boost::container::iterator_traits::iterator_category Category; return this->priv_replace(first, last, f, l, Category()); } @@ -2509,7 +2523,7 @@ class basic_string typedef basic_string - ,std::allocator > + ,new_allocator > string; //!Typedef for a basic_string of @@ -2517,7 +2531,7 @@ string; typedef basic_string - ,std::allocator > + ,new_allocator > wstring; #endif @@ -2543,29 +2557,29 @@ template inline template inline basic_string operator+ - ( BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END mx - , BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END my) + ( BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END x + , BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END y) { - mx += my; - return boost::move(mx); + x += y; + return boost::move(x); } template inline basic_string operator+ - ( BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END mx + ( BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END x , const basic_string& y) { - mx += y; - return boost::move(mx); + x += y; + return boost::move(x); } template inline basic_string operator+ (const basic_string& x - ,BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END my) + ,BOOST_RV_REF_BEG basic_string BOOST_RV_REF_END y) { - my.insert(my.begin(), x.begin(), x.end()); - return boost::move(my); + y.insert(y.begin(), x.begin(), x.end()); + return boost::move(y); } template inline @@ -2894,8 +2908,11 @@ namespace boost { //!specialization for optimizations template struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; +{ + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; +}; } diff --git a/3party/boost/boost/container/throw_exception.hpp b/3party/boost/boost/container/throw_exception.hpp index ab01c30f3e..2c893e95c8 100644 --- a/3party/boost/boost/container/throw_exception.hpp +++ b/3party/boost/boost/container/throw_exception.hpp @@ -11,13 +11,17 @@ #ifndef BOOST_CONTAINER_THROW_EXCEPTION_HPP #define BOOST_CONTAINER_THROW_EXCEPTION_HPP -#include -#include +#ifndef BOOST_CONFIG_HPP +# include +#endif -#if defined(_MSC_VER) +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif +#include +#include + #ifndef BOOST_NO_EXCEPTIONS #include //for std exception types #include //for std::bad_alloc diff --git a/3party/boost/boost/container/vector.hpp b/3party/boost/boost/container/vector.hpp index 16f52d3c5c..0cc781b53f 100644 --- a/3party/boost/boost/container/vector.hpp +++ b/3party/boost/boost/container/vector.hpp @@ -1,6 +1,6 @@ ////////////////////////////////////////////////////////////////////////////// // -// (C) Copyright Ion Gaztanaga 2005-2013. Distributed under the Boost +// (C) Copyright Ion Gaztanaga 2005-2014. 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) // @@ -11,44 +11,58 @@ #ifndef BOOST_CONTAINER_CONTAINER_VECTOR_HPP #define BOOST_CONTAINER_CONTAINER_VECTOR_HPP -#if defined(_MSC_VER) +#ifndef BOOST_CONFIG_HPP +# include +#endif + +#if defined(BOOST_HAS_PRAGMA_ONCE) # pragma once #endif #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +// container #include -#include -#include -#include -#include -#include -#include #include -#include +#include //new_allocator #include -#include -#include -#include -#include -#include -#include +// container detail #include +#include //equal() +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +// intrusive +#include +// move +#include +#include +#include +#include +// move/detail +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#include +#endif +#include +// other +#include #include +#include + +//std +#if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) +#include //for std::initializer_list +#endif namespace boost { namespace container { @@ -74,7 +88,7 @@ class vec_iterator rebind_pointer::type , Pointer >::type pointer; - typedef typename boost::intrusive::pointer_traits ptr_traits; + typedef typename boost::intrusive::pointer_traits ptr_traits; typedef typename ptr_traits::reference reference; #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED @@ -82,13 +96,13 @@ class vec_iterator Pointer m_ptr; public: - const Pointer &get_ptr() const BOOST_CONTAINER_NOEXCEPT + const Pointer &get_ptr() const BOOST_NOEXCEPT_OR_NOTHROW { return m_ptr; } - Pointer &get_ptr() BOOST_CONTAINER_NOEXCEPT + Pointer &get_ptr() BOOST_NOEXCEPT_OR_NOTHROW { return m_ptr; } - explicit vec_iterator(Pointer ptr) BOOST_CONTAINER_NOEXCEPT + explicit vec_iterator(Pointer ptr) BOOST_NOEXCEPT_OR_NOTHROW : m_ptr(ptr) {} #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED @@ -96,88 +110,148 @@ class vec_iterator public: //Constructors - vec_iterator() BOOST_CONTAINER_NOEXCEPT - #ifndef NDEBUG - : m_ptr() - #else - // No value initialization of m_ptr() to speed up things a bit: - #endif + vec_iterator() BOOST_NOEXCEPT_OR_NOTHROW + : m_ptr() //Value initialization to achieve "null iterators" (N3644) {} - vec_iterator(vec_iterator const& other) BOOST_CONTAINER_NOEXCEPT + vec_iterator(vec_iterator const& other) BOOST_NOEXCEPT_OR_NOTHROW : m_ptr(other.get_ptr()) {} //Pointer like operators - reference operator*() const BOOST_CONTAINER_NOEXCEPT + reference operator*() const BOOST_NOEXCEPT_OR_NOTHROW { return *m_ptr; } - pointer operator->() const BOOST_CONTAINER_NOEXCEPT + pointer operator->() const BOOST_NOEXCEPT_OR_NOTHROW { return ::boost::intrusive::pointer_traits::pointer_to(this->operator*()); } - reference operator[](difference_type off) const BOOST_CONTAINER_NOEXCEPT + reference operator[](difference_type off) const BOOST_NOEXCEPT_OR_NOTHROW { return m_ptr[off]; } //Increment / Decrement - vec_iterator& operator++() BOOST_CONTAINER_NOEXCEPT + vec_iterator& operator++() BOOST_NOEXCEPT_OR_NOTHROW { ++m_ptr; return *this; } - vec_iterator operator++(int) BOOST_CONTAINER_NOEXCEPT + vec_iterator operator++(int) BOOST_NOEXCEPT_OR_NOTHROW { return vec_iterator(m_ptr++); } - vec_iterator& operator--() BOOST_CONTAINER_NOEXCEPT + vec_iterator& operator--() BOOST_NOEXCEPT_OR_NOTHROW { --m_ptr; return *this; } - vec_iterator operator--(int) BOOST_CONTAINER_NOEXCEPT + vec_iterator operator--(int) BOOST_NOEXCEPT_OR_NOTHROW { return vec_iterator(m_ptr--); } //Arithmetic - vec_iterator& operator+=(difference_type off) BOOST_CONTAINER_NOEXCEPT + vec_iterator& operator+=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW { m_ptr += off; return *this; } - vec_iterator& operator-=(difference_type off) BOOST_CONTAINER_NOEXCEPT + vec_iterator& operator-=(difference_type off) BOOST_NOEXCEPT_OR_NOTHROW { m_ptr -= off; return *this; } - friend vec_iterator operator+(const vec_iterator &x, difference_type off) BOOST_CONTAINER_NOEXCEPT + friend vec_iterator operator+(const vec_iterator &x, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW { return vec_iterator(x.m_ptr+off); } - friend vec_iterator operator+(difference_type off, vec_iterator right) BOOST_CONTAINER_NOEXCEPT + friend vec_iterator operator+(difference_type off, vec_iterator right) BOOST_NOEXCEPT_OR_NOTHROW { right.m_ptr += off; return right; } - friend vec_iterator operator-(vec_iterator left, difference_type off) BOOST_CONTAINER_NOEXCEPT + friend vec_iterator operator-(vec_iterator left, difference_type off) BOOST_NOEXCEPT_OR_NOTHROW { left.m_ptr -= off; return left; } - friend difference_type operator-(const vec_iterator &left, const vec_iterator& right) BOOST_CONTAINER_NOEXCEPT + friend difference_type operator-(const vec_iterator &left, const vec_iterator& right) BOOST_NOEXCEPT_OR_NOTHROW { return left.m_ptr - right.m_ptr; } //Comparison operators - friend bool operator== (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator== (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_ptr == r.m_ptr; } - friend bool operator!= (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator!= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_ptr != r.m_ptr; } - friend bool operator< (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator< (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_ptr < r.m_ptr; } - friend bool operator<= (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator<= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_ptr <= r.m_ptr; } - friend bool operator> (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator> (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_ptr > r.m_ptr; } - friend bool operator>= (const vec_iterator& l, const vec_iterator& r) BOOST_CONTAINER_NOEXCEPT + friend bool operator>= (const vec_iterator& l, const vec_iterator& r) BOOST_NOEXCEPT_OR_NOTHROW { return l.m_ptr >= r.m_ptr; } }; +template +struct vector_insert_ordered_cursor +{ + typedef typename iterator_traits::value_type size_type; + typedef typename iterator_traits::reference reference; + + vector_insert_ordered_cursor(BiDirPosConstIt posit, BiDirValueIt valueit) + : last_position_it(posit), last_value_it(valueit) + {} + + void operator --() + { + --last_value_it; + --last_position_it; + while(this->get_pos() == size_type(-1)){ + --last_value_it; + --last_position_it; + } + } + + size_type get_pos() const + { return *last_position_it; } + + reference get_val() + { return *last_value_it; } + + BiDirPosConstIt last_position_it; + BiDirValueIt last_value_it; +}; + +template +struct vector_merge_cursor +{ + typedef SizeType size_type; + typedef typename iterator_traits::reference reference; + + vector_merge_cursor(T *pbeg, T *plast, BiDirValueIt valueit, Comp cmp) + : m_pbeg(pbeg), m_pcur(--plast), m_valueit(valueit), m_cmp(cmp) + {} + + void operator --() + { + --m_valueit; + const T &t = *m_valueit; + while((m_pcur + 1) != m_pbeg){ + if(!m_cmp(t, *m_pcur)){ + break; + } + --m_pcur; + } + } + + size_type get_pos() const + { return static_cast((m_pcur + 1) - m_pbeg); } + + reference get_val() + { return *m_valueit; } + + T *const m_pbeg; + T *m_pcur; + BiDirValueIt m_valueit; + Comp m_cmp; +}; + } //namespace container_detail { template -const Pointer &vector_iterator_get_ptr(const container_detail::vec_iterator &it) BOOST_CONTAINER_NOEXCEPT +const Pointer &vector_iterator_get_ptr(const container_detail::vec_iterator &it) BOOST_NOEXCEPT_OR_NOTHROW { return it.get_ptr(); } template -Pointer &get_ptr(container_detail::vec_iterator &it) BOOST_CONTAINER_NOEXCEPT +Pointer &get_ptr(container_detail::vec_iterator &it) BOOST_NOEXCEPT_OR_NOTHROW { return it.get_ptr(); } namespace container_detail { @@ -196,7 +270,7 @@ struct vector_get_ptr_pointer_to_non_const typedef typename pointer_traits_t ::template rebind_pointer::type return_type; - static return_type get_ptr(const const_pointer &ptr) BOOST_CONTAINER_NOEXCEPT + static return_type get_ptr(const const_pointer &ptr) BOOST_NOEXCEPT_OR_NOTHROW { return boost::intrusive::pointer_traits::const_cast_from(ptr); } }; @@ -204,7 +278,7 @@ template struct vector_get_ptr_pointer_to_non_const { typedef const Pointer & return_type; - static return_type get_ptr(const Pointer &ptr) BOOST_CONTAINER_NOEXCEPT + static return_type get_ptr(const Pointer &ptr) BOOST_NOEXCEPT_OR_NOTHROW { return ptr; } }; @@ -212,7 +286,7 @@ struct vector_get_ptr_pointer_to_non_const template typename container_detail::vector_get_ptr_pointer_to_non_const::return_type - vector_iterator_get_ptr(const MaybeConstPointer &ptr) BOOST_CONTAINER_NOEXCEPT + vector_iterator_get_ptr(const MaybeConstPointer &ptr) BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::vector_get_ptr_pointer_to_non_const::get_ptr(ptr); } @@ -224,31 +298,32 @@ namespace container_detail { struct uninitialized_size_t {}; static const uninitialized_size_t uninitialized_size = uninitialized_size_t(); -template -struct vector_value_traits +template +struct vector_value_traits_base { - typedef T value_type; - typedef Allocator allocator_type; - static const bool trivial_dctr = boost::has_trivial_destructor::value; - static const bool trivial_dctr_after_move = ::boost::has_trivial_destructor_after_move::value; - static const bool trivial_copy = has_trivial_copy::value; - static const bool nothrow_copy = has_nothrow_copy::value || trivial_copy; - static const bool trivial_assign = has_trivial_assign::value; - static const bool nothrow_assign = has_nothrow_assign::value || trivial_assign; + static const bool trivial_dctr = is_trivially_destructible::value; + static const bool trivial_dctr_after_move = has_trivial_destructor_after_move::value; + static const bool trivial_copy = is_trivially_copy_constructible::value; + static const bool nothrow_copy = is_nothrow_copy_constructible::value || trivial_copy; + static const bool trivial_assign = is_trivially_copy_assignable::value; + static const bool nothrow_assign = is_nothrow_copy_assignable::value || trivial_assign; +}; + +template +struct vector_value_traits + : public vector_value_traits_base +{ + typedef vector_value_traits_base base_t; //This is the anti-exception array destructor //to deallocate values already constructed typedef typename container_detail::if_c - ,container_detail::scoped_destructor_n >::type ArrayDestructor; //This is the anti-exception array deallocator - typedef typename container_detail::if_c - - ,container_detail::scoped_array_deallocator - >::type ArrayDeallocator; + typedef container_detail::scoped_array_deallocator ArrayDeallocator; }; //!This struct deallocates and allocated memory @@ -262,20 +337,38 @@ struct vector_alloc_holder BOOST_MOVABLE_BUT_NOT_COPYABLE(vector_alloc_holder) public: + typedef Allocator allocator_type; typedef boost::container::allocator_traits allocator_traits_type; typedef typename allocator_traits_type::pointer pointer; typedef typename allocator_traits_type::size_type size_type; typedef typename allocator_traits_type::value_type value_type; + static bool is_propagable_from(const allocator_type &from_alloc, pointer p, const allocator_type &to_alloc, bool const propagate_allocator) + { + (void)propagate_allocator; (void)p; (void)to_alloc; (void)from_alloc; + return (!allocator_traits_type::is_partially_propagable::value || + !allocator_traits_type::storage_is_unpropagable(from_alloc, p)) && + (propagate_allocator || allocator_traits_type::equal(from_alloc, to_alloc)); + } + + static bool are_swap_propagable(const allocator_type &l_a, pointer l_p, const allocator_type &r_a, pointer r_p, bool const propagate_allocator) + { + (void)propagate_allocator; (void)l_p; (void)r_p; (void)l_a; (void)r_a; + return (!allocator_traits_type::is_partially_propagable::value || + (!allocator_traits_type::storage_is_unpropagable(r_a, r_p) && + !allocator_traits_type::storage_is_unpropagable(l_a, l_p)) + ) && (propagate_allocator || allocator_traits_type::equal(l_a, r_a)); + } + //Constructor, does not throw vector_alloc_holder() - BOOST_CONTAINER_NOEXCEPT_IF(::boost::has_nothrow_default_constructor::value) + BOOST_NOEXCEPT_IF(container_detail::is_nothrow_default_constructible::value) : Allocator(), m_start(), m_size(), m_capacity() {} //Constructor, does not throw template - explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_CONTAINER_NOEXCEPT + explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_NOEXCEPT_OR_NOTHROW : Allocator(boost::forward(a)), m_start(), m_size(), m_capacity() {} @@ -288,7 +381,8 @@ struct vector_alloc_holder , m_capacity() { if(initial_size){ - m_start = this->allocation_command(allocate_new, initial_size, initial_size, m_capacity, m_start).first; + pointer reuse = 0; + m_start = this->allocation_command(allocate_new, initial_size, m_capacity = initial_size, reuse); } } @@ -300,13 +394,13 @@ struct vector_alloc_holder , m_capacity() { if(initial_size){ - m_start = this->allocation_command - (allocate_new, initial_size, initial_size, m_capacity, m_start).first; + pointer reuse = 0; + m_start = this->allocation_command(allocate_new, initial_size, m_capacity = initial_size, reuse); } } - vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder) BOOST_CONTAINER_NOEXCEPT - : Allocator(boost::move(static_cast(holder))) + vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder) BOOST_NOEXCEPT_OR_NOTHROW + : Allocator(BOOST_MOVE_BASE(Allocator, holder)) , m_start(holder.m_start) , m_size(holder.m_size) , m_capacity(holder.m_capacity) @@ -315,39 +409,85 @@ struct vector_alloc_holder holder.m_size = holder.m_capacity = 0; } - void first_allocation(size_type cap) + vector_alloc_holder(pointer p, size_type capacity, BOOST_RV_REF(vector_alloc_holder) holder) + : Allocator(BOOST_MOVE_BASE(Allocator, holder)) + , m_start(p) + , m_size(holder.m_size) + , m_capacity(capacity) { - if(cap){ - m_start = this->allocation_command - (allocate_new, cap, cap, m_capacity, m_start).first; + allocator_type &this_alloc = this->alloc(); + allocator_type &x_alloc = holder.alloc(); + if(this->is_propagable_from(x_alloc, holder.start(), this_alloc, true)){ + if(this->m_capacity){ + this->alloc().deallocate(this->m_start, this->m_capacity); + } + m_start = holder.m_start; + m_capacity = holder.m_capacity; + holder.m_start = pointer(); + holder.m_capacity = holder.m_size = 0; + } + else if(this->m_capacity < holder.m_size){ + size_type const n = holder.m_size; + pointer reuse = pointer(); + m_start = this->allocation_command(allocate_new, n, m_capacity = n, reuse); + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += n != 0; + #endif } } - void first_allocation_same_allocator_type(size_type cap) - { this->first_allocation(cap); } + vector_alloc_holder(pointer p, size_type n) + BOOST_NOEXCEPT_IF(container_detail::is_nothrow_default_constructible::value) + : Allocator() + , m_start(p) + , m_size() + , m_capacity(n) + {} - ~vector_alloc_holder() BOOST_CONTAINER_NOEXCEPT + template + vector_alloc_holder(pointer p, size_type n, BOOST_FWD_REF(AllocFwd) a) + : Allocator(::boost::forward(a)) + , m_start(p) + , m_size() + , m_capacity(n) + {} + + ~vector_alloc_holder() BOOST_NOEXCEPT_OR_NOTHROW { if(this->m_capacity){ this->alloc().deallocate(this->m_start, this->m_capacity); } } - std::pair - allocation_command(boost::container::allocation_type command, - size_type limit_size, - size_type preferred_size, - size_type &received_size, const pointer &reuse = pointer()) + pointer allocation_command(boost::container::allocation_type command, + size_type limit_size, size_type &prefer_in_recvd_out_size, pointer &reuse) { - return allocator_version_traits::allocation_command - (this->alloc(), command, limit_size, preferred_size, received_size, reuse); + typedef typename container_detail::version::type alloc_version; + return this->priv_allocation_command(alloc_version(), command, limit_size, prefer_in_recvd_out_size, reuse); + } + + bool try_expand_fwd(size_type at_least) + { + //There is not enough memory, try to expand the old one + const size_type new_cap = this->capacity() + at_least; + size_type real_cap = new_cap; + pointer reuse = this->start(); + bool const success = !!this->allocation_command(expand_fwd, new_cap, real_cap, reuse); + //Check for forward expansion + if(success){ + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + ++this->num_expand_fwd; + #endif + this->capacity(real_cap); + } + return success; } size_type next_capacity(size_type additional_objects) const { return next_capacity_calculator - :: - get( allocator_traits_type::max_size(this->alloc()) + ::get( allocator_traits_type::max_size(this->alloc()) , this->m_capacity, additional_objects ); } @@ -355,37 +495,71 @@ struct vector_alloc_holder size_type m_size; size_type m_capacity; - void swap(vector_alloc_holder &x) BOOST_CONTAINER_NOEXCEPT + void swap_resources(vector_alloc_holder &x) BOOST_NOEXCEPT_OR_NOTHROW { - boost::container::swap_dispatch(this->m_start, x.m_start); - boost::container::swap_dispatch(this->m_size, x.m_size); - boost::container::swap_dispatch(this->m_capacity, x.m_capacity); + boost::adl_move_swap(this->m_start, x.m_start); + boost::adl_move_swap(this->m_size, x.m_size); + boost::adl_move_swap(this->m_capacity, x.m_capacity); } - void move_from_empty(vector_alloc_holder &x) BOOST_CONTAINER_NOEXCEPT + void steal_resources(vector_alloc_holder &x) BOOST_NOEXCEPT_OR_NOTHROW { - //this->m_size was previously initialized this->m_start = x.m_start; + this->m_size = x.m_size; this->m_capacity = x.m_capacity; x.m_start = pointer(); x.m_size = x.m_capacity = 0; } - Allocator &alloc() BOOST_CONTAINER_NOEXCEPT + Allocator &alloc() BOOST_NOEXCEPT_OR_NOTHROW { return *this; } - const Allocator &alloc() const BOOST_CONTAINER_NOEXCEPT + const Allocator &alloc() const BOOST_NOEXCEPT_OR_NOTHROW { return *this; } - const pointer &start() const BOOST_CONTAINER_NOEXCEPT { return m_start; } - const size_type &capacity() const BOOST_CONTAINER_NOEXCEPT { return m_capacity; } - void start(const pointer &p) BOOST_CONTAINER_NOEXCEPT { m_start = p; } - void capacity(const size_type &c) BOOST_CONTAINER_NOEXCEPT { m_capacity = c; } + const pointer &start() const BOOST_NOEXCEPT_OR_NOTHROW { return m_start; } + const size_type &capacity() const BOOST_NOEXCEPT_OR_NOTHROW { return m_capacity; } + void start(const pointer &p) BOOST_NOEXCEPT_OR_NOTHROW { m_start = p; } + void capacity(const size_type &c) BOOST_NOEXCEPT_OR_NOTHROW { m_capacity = c; } + + private: + void priv_first_allocation(size_type cap) + { + if(cap){ + pointer reuse = 0; + m_start = this->allocation_command(allocate_new, cap, cap, reuse); + m_capacity = cap; + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + ++this->num_alloc; + #endif + } + } + + pointer priv_allocation_command(version_1, boost::container::allocation_type command, + size_type , + size_type &prefer_in_recvd_out_size, + pointer &reuse) + { + (void)command; + BOOST_ASSERT( (command & allocate_new)); + BOOST_ASSERT(!(command & nothrow_allocation)); + pointer const p = allocator_traits_type::allocate(this->alloc(), prefer_in_recvd_out_size, reuse); + reuse = pointer(); + return p; + } + + pointer priv_allocation_command(version_2, boost::container::allocation_type command, + size_type limit_size, + size_type &prefer_in_recvd_out_size, + pointer &reuse) + { + return this->alloc().allocation_command(command, limit_size, prefer_in_recvd_out_size, reuse); + } }; //!This struct deallocates and allocated memory template -struct vector_alloc_holder > +struct vector_alloc_holder : public Allocator { private: @@ -402,13 +576,13 @@ struct vector_alloc_holder::value) + BOOST_NOEXCEPT_IF(container_detail::is_nothrow_default_constructible::value) : Allocator(), m_size() {} //Constructor, does not throw template - explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_CONTAINER_NOEXCEPT + explicit vector_alloc_holder(BOOST_FWD_REF(AllocConvertible) a) BOOST_NOEXCEPT_OR_NOTHROW : Allocator(boost::forward(a)), m_size() {} @@ -419,7 +593,7 @@ struct vector_alloc_holderfirst_allocation(initial_size); + this->priv_first_allocation(initial_size); } //Constructor, does not throw @@ -428,11 +602,11 @@ struct vector_alloc_holderfirst_allocation(initial_size); + this->priv_first_allocation(initial_size); } vector_alloc_holder(BOOST_RV_REF(vector_alloc_holder) holder) - : Allocator(boost::move(static_cast(holder))) + : Allocator(BOOST_MOVE_BASE(Allocator, holder)) , m_size(holder.m_size) //Size is initialized here so vector should only call uninitialized_xxx after this { ::boost::container::uninitialized_move_alloc_n @@ -446,60 +620,62 @@ struct vector_alloc_holderfirst_allocation(n); + this->priv_first_allocation(n); ::boost::container::uninitialized_move_alloc_n (this->alloc(), container_detail::to_raw_pointer(holder.start()), n, container_detail::to_raw_pointer(this->start())); } - void first_allocation(size_type cap) + void priv_first_allocation(size_type cap) { if(cap > Allocator::internal_capacity){ throw_bad_alloc(); } } - void first_allocation_same_allocator_type(size_type) BOOST_CONTAINER_NOEXCEPT - {} - - //Destructor - ~vector_alloc_holder() BOOST_CONTAINER_NOEXCEPT - {} - - void swap(vector_alloc_holder &x) + void deep_swap(vector_alloc_holder &x) { - this->priv_swap_members_impl(x); + this->priv_deep_swap(x); } template - void swap(vector_alloc_holder &x) + void deep_swap(vector_alloc_holder &x) { if(this->m_size > OtherAllocator::internal_capacity || x.m_size > Allocator::internal_capacity){ throw_bad_alloc(); } - this->priv_swap_members_impl(x); + this->priv_deep_swap(x); } - void move_from_empty(vector_alloc_holder &) - { //Containers with version 0 allocators can't be moved without move elements one by one + void swap_resources(vector_alloc_holder &x) BOOST_NOEXCEPT_OR_NOTHROW + { //Containers with version 0 allocators can't be moved without moving elements one by one throw_bad_alloc(); } - Allocator &alloc() BOOST_CONTAINER_NOEXCEPT + + void steal_resources(vector_alloc_holder &) + { //Containers with version 0 allocators can't be moved without moving elements one by one + throw_bad_alloc(); + } + + Allocator &alloc() BOOST_NOEXCEPT_OR_NOTHROW { return *this; } - const Allocator &alloc() const BOOST_CONTAINER_NOEXCEPT + const Allocator &alloc() const BOOST_NOEXCEPT_OR_NOTHROW { return *this; } - pointer start() const BOOST_CONTAINER_NOEXCEPT { return Allocator::internal_storage(); } - size_type capacity() const BOOST_CONTAINER_NOEXCEPT { return Allocator::internal_capacity; } + bool try_expand_fwd(size_type at_least) + { return !at_least; } + + pointer start() const BOOST_NOEXCEPT_OR_NOTHROW { return Allocator::internal_storage(); } + size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW { return Allocator::internal_capacity; } size_type m_size; private: template - void priv_swap_members_impl(vector_alloc_holder &x) + void priv_deep_swap(vector_alloc_holder &x) { - const std::size_t MaxTmpStorage = sizeof(value_type)*Allocator::internal_capacity; + const size_type MaxTmpStorage = sizeof(value_type)*Allocator::internal_capacity; value_type *const first_this = container_detail::to_raw_pointer(this->start()); value_type *const first_x = container_detail::to_raw_pointer(x.start()); @@ -509,7 +685,7 @@ struct vector_alloc_holder(this->alloc(), first_x, x.m_size, first_this, this->m_size); } - boost::container::swap_dispatch(this->m_size, x.m_size); + boost::adl_move_swap(this->m_size, x.m_size); } }; @@ -524,27 +700,37 @@ struct vector_alloc_holder > -#else -template -#endif +template ) > class vector { #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + struct value_less + { + typedef typename boost::container::allocator_traits::value_type value_type; + bool operator()(const value_type &a, const value_type &b) const + { return a < b; } + }; + typedef typename container_detail::version::type alloc_version; - boost::container::container_detail::vector_alloc_holder - m_holder; + typedef boost::container::container_detail::vector_alloc_holder alloc_holder_t; + alloc_holder_t m_holder; typedef allocator_traits allocator_traits_type; template friend class vector; - typedef typename ::boost::container::allocator_traits - ::pointer pointer_impl; + typedef typename allocator_traits_type::pointer pointer_impl; typedef container_detail::vec_iterator iterator_impl; typedef container_detail::vec_iterator const_iterator_impl; + protected: + static bool is_propagable_from(const Allocator &from_alloc, pointer_impl p, const Allocator &to_alloc, bool const propagate_allocator) + { return alloc_holder_t::is_propagable_from(from_alloc, p, to_alloc, propagate_allocator); } + + static bool are_swap_propagable( const Allocator &l_a, pointer_impl l_p + , const Allocator &r_a, pointer_impl r_p, bool const propagate_allocator) + { return alloc_holder_t::are_swap_propagable(l_a, l_p, r_a, r_p, propagate_allocator); } + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED public: ////////////////////////////////////////////// @@ -562,26 +748,37 @@ class vector typedef typename ::boost::container::allocator_traits::difference_type difference_type; typedef Allocator allocator_type; typedef Allocator stored_allocator_type; - #if defined BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER && !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if defined BOOST_CONTAINER_VECTOR_ITERATOR_IS_POINTER typedef BOOST_CONTAINER_IMPDEF(pointer) iterator; typedef BOOST_CONTAINER_IMPDEF(const_pointer) const_iterator; #else typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator; typedef BOOST_CONTAINER_IMPDEF(const_iterator_impl) const_iterator; #endif - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) reverse_iterator; - typedef BOOST_CONTAINER_IMPDEF(std::reverse_iterator) const_reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) reverse_iterator; + typedef BOOST_CONTAINER_IMPDEF(boost::container::reverse_iterator) const_reverse_iterator; #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED private: BOOST_COPYABLE_AND_MOVABLE(vector) - typedef container_detail::vector_value_traits value_traits; - - typedef container_detail::integral_constant allocator_v0; - typedef container_detail::integral_constant allocator_v1; - typedef container_detail::integral_constant allocator_v2; - + typedef container_detail::vector_value_traits value_traits; typedef constant_iterator cvalue_iterator; + + protected: + + void steal_resources(vector &x) + { return this->m_holder.steal_resources(x.m_holder); } + + struct initial_capacity_t{}; + template + vector(initial_capacity_t, pointer initial_memory, size_type capacity, BOOST_FWD_REF(AllocFwd) a) + : m_holder(initial_memory, capacity, ::boost::forward(a)) + {} + + vector(initial_capacity_t, pointer initial_memory, size_type capacity) + : m_holder(initial_memory, capacity) + {} + #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED public: @@ -593,11 +790,10 @@ class vector //! Effects: Constructs a vector taking the allocator as parameter. //! - //! Throws: If allocator_type's default constructor throws. + //! Throws: Nothing. //! //! Complexity: Constant. - vector() - BOOST_CONTAINER_NOEXCEPT_IF(::boost::has_nothrow_default_constructor::value) + vector() BOOST_NOEXCEPT_OR_NOTHROW : m_holder() {} @@ -606,20 +802,22 @@ class vector //! Throws: Nothing //! //! Complexity: Constant. - explicit vector(const Allocator& a) BOOST_CONTAINER_NOEXCEPT + explicit vector(const allocator_type& a) BOOST_NOEXCEPT_OR_NOTHROW : m_holder(a) {} - //! Effects: Constructs a vector that will use a copy of allocator a - //! and inserts n value initialized values. + //! Effects: Constructs a vector and inserts n value initialized values. //! - //! Throws: If allocator_type's default constructor or allocation + //! Throws: If allocator_type's allocation //! throws or T's value initialization throws. //! //! Complexity: Linear to n. explicit vector(size_type n) : m_holder(container_detail::uninitialized_size, n) { + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += n != 0; + #endif boost::container::uninitialized_value_init_alloc_n (this->m_holder.alloc(), n, container_detail::to_raw_pointer(this->m_holder.start())); } @@ -627,7 +825,7 @@ class vector //! Effects: Constructs a vector that will use a copy of allocator a //! and inserts n default initialized values. //! - //! Throws: If allocator_type's default constructor or allocation + //! Throws: If allocator_type's allocation //! throws or T's default initialization throws. //! //! Complexity: Linear to n. @@ -636,6 +834,45 @@ class vector vector(size_type n, default_init_t) : m_holder(container_detail::uninitialized_size, n) { + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += n != 0; + #endif + boost::container::uninitialized_default_init_alloc_n + (this->m_holder.alloc(), n, container_detail::to_raw_pointer(this->m_holder.start())); + } + + //! Effects: Constructs a vector that will use a copy of allocator a + //! and inserts n value initialized values. + //! + //! Throws: If allocator_type's allocation + //! throws or T's value initialization throws. + //! + //! Complexity: Linear to n. + explicit vector(size_type n, const allocator_type &a) + : m_holder(container_detail::uninitialized_size, a, n) + { + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += n != 0; + #endif + boost::container::uninitialized_value_init_alloc_n + (this->m_holder.alloc(), n, container_detail::to_raw_pointer(this->m_holder.start())); + } + + //! Effects: Constructs a vector that will use a copy of allocator a + //! and inserts n default initialized values. + //! + //! Throws: If allocator_type's allocation + //! throws or T's default initialization throws. + //! + //! Complexity: Linear to n. + //! + //! Note: Non-standard extension + vector(size_type n, default_init_t, const allocator_type &a) + : m_holder(container_detail::uninitialized_size, a, n) + { + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += n != 0; + #endif boost::container::uninitialized_default_init_alloc_n (this->m_holder.alloc(), n, container_detail::to_raw_pointer(this->m_holder.start())); } @@ -643,13 +880,16 @@ class vector //! Effects: Constructs a vector //! and inserts n copies of value. //! - //! Throws: If allocator_type's default constructor or allocation + //! Throws: If allocator_type's allocation //! throws or T's copy constructor throws. //! //! Complexity: Linear to n. vector(size_type n, const T& value) : m_holder(container_detail::uninitialized_size, n) { + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += n != 0; + #endif boost::container::uninitialized_fill_alloc_n (this->m_holder.alloc(), value, n, container_detail::to_raw_pointer(this->m_holder.start())); } @@ -664,6 +904,9 @@ class vector vector(size_type n, const T& value, const allocator_type& a) : m_holder(container_detail::uninitialized_size, a, n) { + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += n != 0; + #endif boost::container::uninitialized_fill_alloc_n (this->m_holder.alloc(), value, n, container_detail::to_raw_pointer(this->m_holder.start())); } @@ -671,32 +914,32 @@ class vector //! Effects: Constructs a vector //! and inserts a copy of the range [first, last) in the vector. //! - //! Throws: If allocator_type's default constructor or allocation + //! Throws: If allocator_type's allocation //! throws or T's constructor taking a dereferenced InIt throws. //! //! Complexity: Linear to the range [first, last). template vector(InIt first, InIt last) : m_holder() - { this->insert(this->cend(), first, last); } + { this->assign(first, last); } //! Effects: Constructs a vector that will use a copy of allocator a //! and inserts a copy of the range [first, last) in the vector. //! - //! Throws: If allocator_type's default constructor or allocation + //! Throws: If allocator_type's allocation //! throws or T's constructor taking a dereferenced InIt throws. //! //! Complexity: Linear to the range [first, last). template vector(InIt first, InIt last, const allocator_type& a) : m_holder(a) - { this->insert(this->cend(), first, last); } + { this->assign(first, last); } //! Effects: Copy constructs a vector. //! //! Postcondition: x == *this. //! - //! Throws: If allocator_type's default constructor or allocation + //! Throws: If allocator_type's allocation //! throws or T's copy constructor throws. //! //! Complexity: Linear to the elements x contains. @@ -705,6 +948,9 @@ class vector , allocator_traits_type::select_on_container_copy_construction(x.m_holder.alloc()) , x.size()) { + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += x.size() != 0; + #endif ::boost::container::uninitialized_copy_alloc_n ( this->m_holder.alloc(), container_detail::to_raw_pointer(x.m_holder.start()) , x.size(), container_detail::to_raw_pointer(this->m_holder.start())); @@ -715,9 +961,23 @@ class vector //! Throws: Nothing //! //! Complexity: Constant. - vector(BOOST_RV_REF(vector) x) BOOST_CONTAINER_NOEXCEPT + vector(BOOST_RV_REF(vector) x) BOOST_NOEXCEPT_OR_NOTHROW : m_holder(boost::move(x.m_holder)) - {} + { BOOST_STATIC_ASSERT((!allocator_traits_type::is_partially_propagable::value)); } + + #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Constructs a vector that will use a copy of allocator a + //! and inserts a copy of the range [il.begin(), il.last()) in the vector + //! + //! Throws: If T's constructor taking a dereferenced initializer_list iterator throws. + //! + //! Complexity: Linear to the range [il.begin(), il.end()). + vector(std::initializer_list il, const allocator_type& a = allocator_type()) + : m_holder(a) + { + this->assign(il.begin(), il.end()); + } + #endif #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) @@ -749,6 +1009,9 @@ class vector vector(const vector &x, const allocator_type &a) : m_holder(container_detail::uninitialized_size, a, x.size()) { + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += x.size() != 0; + #endif ::boost::container::uninitialized_copy_alloc_n_source ( this->m_holder.alloc(), container_detail::to_raw_pointer(x.m_holder.start()) , x.size(), container_detail::to_raw_pointer(this->m_holder.start())); @@ -762,14 +1025,18 @@ class vector //! //! Complexity: Constant if a == x.get_allocator(), linear otherwise. vector(BOOST_RV_REF(vector) x, const allocator_type &a) - : m_holder(container_detail::uninitialized_size, a, x.size()) + : m_holder( container_detail::uninitialized_size, a + , is_propagable_from(x.get_stored_allocator(), x.m_holder.start(), a, true) ? 0 : x.size() + ) { - if(x.m_holder.alloc() == a){ - this->m_holder.move_from_empty(x.m_holder); + if(is_propagable_from(x.get_stored_allocator(), x.m_holder.start(), a, true)){ + this->m_holder.steal_resources(x.m_holder); } else{ const size_type n = x.size(); - this->m_holder.first_allocation_same_allocator_type(n); + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + this->num_alloc += n != 0; + #endif ::boost::container::uninitialized_move_alloc_n_source ( this->m_holder.alloc(), container_detail::to_raw_pointer(x.m_holder.start()) , n, container_detail::to_raw_pointer(this->m_holder.start())); @@ -782,7 +1049,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Linear to the number of elements. - ~vector() BOOST_CONTAINER_NOEXCEPT + ~vector() BOOST_NOEXCEPT_OR_NOTHROW { boost::container::destroy_alloc_n (this->get_stored_allocator(), container_detail::to_raw_pointer(this->m_holder.start()), this->m_holder.m_size); @@ -805,6 +1072,17 @@ class vector return *this; } + #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Make *this container contains elements from il. + //! + //! Complexity: Linear to the range [il.begin(), il.end()). + vector& operator=(std::initializer_list il) + { + this->assign(il.begin(), il.end()); + return *this; + } + #endif + //! Effects: Move assignment. All x's values are transferred to *this. //! //! Postcondition: x.empty(). *this contains a the elements x had @@ -817,7 +1095,8 @@ class vector //! propagate_on_container_move_assignment is true or //! this->get>allocator() == x.get_allocator(). Linear otherwise. vector& operator=(BOOST_RV_REF(vector) x) - BOOST_CONTAINER_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value) + BOOST_NOEXCEPT_IF(allocator_traits_type::propagate_on_container_move_assignment::value + || allocator_traits_type::is_always_equal::value) { this->priv_move_assign(boost::move(x)); return *this; @@ -836,10 +1115,11 @@ class vector //! //! Note: Non-standard extension to support static_vector template - typename container_detail::enable_if_c - < container_detail::is_version::value && - !container_detail::is_same::value - , vector& >::type + typename container_detail::enable_if_and + < vector& + , container_detail::is_version + , container_detail::is_different + >::type operator=(BOOST_RV_REF_BEG vector BOOST_RV_REF_END x) { this->priv_move_assign(boost::move(x)); @@ -857,10 +1137,11 @@ class vector //! //! Note: Non-standard extension to support static_vector template - typename container_detail::enable_if_c - < container_detail::is_version::value && - !container_detail::is_same::value - , vector& >::type + typename container_detail::enable_if_and + < vector& + , container_detail::is_version + , container_detail::is_different + >::type operator=(const vector &x) { this->priv_copy_assign(x); @@ -877,13 +1158,14 @@ class vector //! Complexity: Linear to n. template void assign(InIt first, InIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value && - ( container_detail::is_input_iterator::value || - container_detail::is_same::value ) - >::type * = 0 - #endif + BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename container_detail::disable_if_or + < void + BOOST_MOVE_I container_detail::is_convertible + BOOST_MOVE_I container_detail::and_ + < container_detail::is_different + BOOST_MOVE_I container_detail::is_not_input_iterator + > + >::type * = 0) ) { //Overwrite all elements we can from [first, last) @@ -895,8 +1177,8 @@ class vector if (first == last){ //There are no more elements in the sequence, erase remaining - T* const end_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - size_type n = static_cast(end_pos - container_detail::to_raw_pointer(vector_iterator_get_ptr(cur))); + T* const end_pos = this->back_raw(); + const size_type n = static_cast(end_pos - container_detail::iterator_to_raw_pointer(cur)); this->priv_destroy_last_n(n); } else{ @@ -905,6 +1187,18 @@ class vector } } + #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Effects: Assigns the the range [il.begin(), il.end()) to *this. + //! + //! Throws: If memory allocation throws or + //! T's constructor from dereferencing iniializer_list iterator throws. + //! + void assign(std::initializer_list il) + { + this->assign(il.begin(), il.end()); + } + #endif + //! Effects: Assigns the the range [first, last) to *this. //! //! Throws: If memory allocation throws or T's copy/move constructor/assignment or @@ -913,36 +1207,42 @@ class vector //! Complexity: Linear to n. template void assign(FwdIt first, FwdIt last - #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value && - ( !container_detail::is_input_iterator::value && - !container_detail::is_same::value ) - >::type * = 0 - #endif + BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I typename container_detail::disable_if_or + < void + BOOST_MOVE_I container_detail::is_same + BOOST_MOVE_I container_detail::is_convertible + BOOST_MOVE_I container_detail::is_input_iterator + >::type * = 0) ) { //For Fwd iterators the standard only requires EmplaceConstructible and assignable from *first //so we can't do any backwards allocation - const size_type input_sz = static_cast(std::distance(first, last)); + const size_type input_sz = static_cast(boost::container::iterator_distance(first, last)); const size_type old_capacity = this->capacity(); if(input_sz > old_capacity){ //If input range is too big, we need to reallocate size_type real_cap = 0; - std::pair ret = - this->m_holder.allocation_command(allocate_new, input_sz, input_sz, real_cap, this->m_holder.start()); - if(!ret.second){ //New allocation, just emplace new values + pointer reuse(this->m_holder.start()); + pointer const ret(this->m_holder.allocation_command(allocate_new|expand_fwd, input_sz, real_cap = input_sz, reuse)); + if(!reuse){ //New allocation, just emplace new values + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + ++this->num_alloc; + #endif pointer const old_p = this->m_holder.start(); if(old_p){ this->priv_destroy_all(); this->m_holder.alloc().deallocate(old_p, old_capacity); } - this->m_holder.start(ret.first); + this->m_holder.start(ret); this->m_holder.capacity(real_cap); this->m_holder.m_size = 0; this->priv_uninitialized_construct_at_end(first, last); return; } else{ + #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS + ++this->num_expand_fwd; + #endif + this->m_holder.capacity(real_cap); //Forward expansion, use assignment + back deletion/construction that comes later } } @@ -977,7 +1277,7 @@ class vector //! Throws: If allocator's copy constructor throws. //! //! Complexity: Constant. - allocator_type get_allocator() const BOOST_CONTAINER_NOEXCEPT + allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return this->m_holder.alloc(); } //! Effects: Returns a reference to the internal allocator. @@ -987,7 +1287,7 @@ class vector //! Complexity: Constant. //! //! Note: Non-standard extension. - stored_allocator_type &get_stored_allocator() BOOST_CONTAINER_NOEXCEPT + stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW { return this->m_holder.alloc(); } //! Effects: Returns a reference to the internal allocator. @@ -997,7 +1297,7 @@ class vector //! Complexity: Constant. //! //! Note: Non-standard extension. - const stored_allocator_type &get_stored_allocator() const BOOST_CONTAINER_NOEXCEPT + const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW { return this->m_holder.alloc(); } ////////////////////////////////////////////// @@ -1011,7 +1311,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - iterator begin() BOOST_CONTAINER_NOEXCEPT + iterator begin() BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->m_holder.start()); } //! Effects: Returns a const_iterator to the first element contained in the vector. @@ -1019,7 +1319,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator begin() const BOOST_CONTAINER_NOEXCEPT + const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_iterator(this->m_holder.start()); } //! Effects: Returns an iterator to the end of the vector. @@ -1027,7 +1327,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - iterator end() BOOST_CONTAINER_NOEXCEPT + iterator end() BOOST_NOEXCEPT_OR_NOTHROW { return iterator(this->m_holder.start() + this->m_holder.m_size); } //! Effects: Returns a const_iterator to the end of the vector. @@ -1035,7 +1335,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator end() const BOOST_CONTAINER_NOEXCEPT + const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW { return this->cend(); } //! Effects: Returns a reverse_iterator pointing to the beginning @@ -1044,7 +1344,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rbegin() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(this->end()); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -1053,7 +1353,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return this->crbegin(); } //! Effects: Returns a reverse_iterator pointing to the end @@ -1062,7 +1362,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - reverse_iterator rend() BOOST_CONTAINER_NOEXCEPT + reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW { return reverse_iterator(this->begin()); } //! Effects: Returns a const_reverse_iterator pointing to the end @@ -1071,7 +1371,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator rend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW { return this->crend(); } //! Effects: Returns a const_iterator to the first element contained in the vector. @@ -1079,7 +1379,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cbegin() const BOOST_CONTAINER_NOEXCEPT + const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_iterator(this->m_holder.start()); } //! Effects: Returns a const_iterator to the end of the vector. @@ -1087,7 +1387,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_iterator cend() const BOOST_CONTAINER_NOEXCEPT + const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW { return const_iterator(this->m_holder.start() + this->m_holder.m_size); } //! Effects: Returns a const_reverse_iterator pointing to the beginning @@ -1096,7 +1396,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crbegin() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->end());} //! Effects: Returns a const_reverse_iterator pointing to the end @@ -1105,7 +1405,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reverse_iterator crend() const BOOST_CONTAINER_NOEXCEPT + const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW { return const_reverse_iterator(this->begin()); } ////////////////////////////////////////////// @@ -1119,7 +1419,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - bool empty() const BOOST_CONTAINER_NOEXCEPT + bool empty() const BOOST_NOEXCEPT_OR_NOTHROW { return !this->m_holder.m_size; } //! Effects: Returns the number of the elements contained in the vector. @@ -1127,7 +1427,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - size_type size() const BOOST_CONTAINER_NOEXCEPT + size_type size() const BOOST_NOEXCEPT_OR_NOTHROW { return this->m_holder.m_size; } //! Effects: Returns the largest possible size of the vector. @@ -1135,7 +1435,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - size_type max_size() const BOOST_CONTAINER_NOEXCEPT + size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW { return allocator_traits_type::max_size(this->m_holder.alloc()); } //! Effects: Inserts or erases elements at the end such that @@ -1173,7 +1473,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - size_type capacity() const BOOST_CONTAINER_NOEXCEPT + size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW { return this->m_holder.capacity(); } //! Effects: If n is less than or equal to capacity(), this call has no @@ -1185,7 +1485,7 @@ class vector void reserve(size_type new_cap) { if (this->capacity() < new_cap){ - this->priv_reserve(new_cap, alloc_version()); + this->priv_reserve_no_capacity(new_cap, alloc_version()); } } @@ -1212,7 +1512,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - reference front() BOOST_CONTAINER_NOEXCEPT + reference front() BOOST_NOEXCEPT_OR_NOTHROW { return *this->m_holder.start(); } //! Requires: !empty() @@ -1223,7 +1523,7 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reference front() const BOOST_CONTAINER_NOEXCEPT + const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW { return *this->m_holder.start(); } //! Requires: !empty() @@ -1234,8 +1534,11 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - reference back() BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.start()[this->m_holder.m_size - 1]; } + reference back() BOOST_NOEXCEPT_OR_NOTHROW + { + BOOST_ASSERT(this->m_holder.m_size > 0); + return this->m_holder.start()[this->m_holder.m_size - 1]; + } //! Requires: !empty() //! @@ -1245,8 +1548,11 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reference back() const BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.start()[this->m_holder.m_size - 1]; } + const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW + { + BOOST_ASSERT(this->m_holder.m_size > 0); + return this->m_holder.start()[this->m_holder.m_size - 1]; + } //! Requires: size() > n. //! @@ -1256,8 +1562,11 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - reference operator[](size_type n) BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.start()[n]; } + reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW + { + BOOST_ASSERT(this->m_holder.m_size > n); + return this->m_holder.start()[n]; + } //! Requires: size() > n. //! @@ -1267,8 +1576,71 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - const_reference operator[](size_type n) const BOOST_CONTAINER_NOEXCEPT - { return this->m_holder.start()[n]; } + const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW + { + return this->m_holder.start()[n]; + } + + //! Requires: size() >= n. + //! + //! Effects: Returns an iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW + { + BOOST_ASSERT(this->m_holder.m_size >= n); + return iterator(this->m_holder.start()+n); + } + + //! Requires: size() >= n. + //! + //! Effects: Returns a const_iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW + { + BOOST_ASSERT(this->m_holder.m_size >= n); + return const_iterator(this->m_holder.start()+n); + } + + //! Requires: size() >= n. + //! + //! Effects: Returns an iterator to the nth element + //! from the beginning of the container. Returns end() + //! if n == size(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW + { return this->priv_index_of(vector_iterator_get_ptr(p)); } + + //! Requires: begin() <= p <= end(). + //! + //! Effects: Returns the index of the element pointed by p + //! and size() if p == end(). + //! + //! Throws: Nothing. + //! + //! Complexity: Constant. + //! + //! Note: Non-standard extension + size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW + { return this->priv_index_of(vector_iterator_get_ptr(p)); } //! Requires: size() > n. //! @@ -1298,22 +1670,22 @@ class vector // ////////////////////////////////////////////// - //! Returns: Allocator pointer such that [data(),data() + size()) is a valid range. + //! Returns: A pointer such that [data(),data() + size()) is a valid range. //! For a non-empty vector, data() == &front(). //! //! Throws: Nothing. //! //! Complexity: Constant. - T* data() BOOST_CONTAINER_NOEXCEPT + T* data() BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::to_raw_pointer(this->m_holder.start()); } - //! Returns: Allocator pointer such that [data(),data() + size()) is a valid range. + //! Returns: A pointer such that [data(),data() + size()) is a valid range. //! For a non-empty vector, data() == &front(). //! //! Throws: Nothing. //! //! Complexity: Constant. - const T * data() const BOOST_CONTAINER_NOEXCEPT + const T * data() const BOOST_NOEXCEPT_OR_NOTHROW { return container_detail::to_raw_pointer(this->m_holder.start()); } ////////////////////////////////////////////// @@ -1322,7 +1694,7 @@ class vector // ////////////////////////////////////////////// - #if defined(BOOST_CONTAINER_PERFECT_FORWARDING) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) + #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts an object of type T constructed with //! std::forward(args)... in the end of the vector. //! @@ -1331,21 +1703,40 @@ class vector //! //! Complexity: Amortized constant time. template - void emplace_back(Args &&...args) + void emplace_back(BOOST_FWD_REF(Args)...args) { - T* back_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - if (this->m_holder.m_size < this->m_holder.capacity()){ + if (BOOST_LIKELY(this->room_enough())){ //There is more memory, just construct a new object at the end - allocator_traits_type::construct(this->m_holder.alloc(), back_pos, ::boost::forward(args)...); + allocator_traits_type::construct(this->m_holder.alloc(), this->back_raw(), ::boost::forward(args)...); ++this->m_holder.m_size; } else{ typedef container_detail::insert_emplace_proxy type; this->priv_forward_range_insert_no_capacity - (vector_iterator_get_ptr(this->cend()), 1, type(::boost::forward(args)...), alloc_version()); + (this->back_ptr(), 1, type(::boost::forward(args)...), alloc_version()); } } + //! Effects: Inserts an object of type T constructed with + //! std::forward(args)... in the end of the vector. + //! + //! Throws: If the in-place constructor throws. + //! + //! Complexity: Constant time. + //! + //! Note: Non-standard extension. + template + bool stable_emplace_back(BOOST_FWD_REF(Args)...args) + { + const bool is_room_enough = this->room_enough() || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(1u)); + if (BOOST_LIKELY(is_room_enough)){ + //There is more memory, just construct a new object at the end + allocator_traits_type::construct(this->m_holder.alloc(), this->back_raw(), ::boost::forward(args)...); + ++this->m_holder.m_size; + } + return is_room_enough; + } + //! Requires: position must be a valid iterator of *this. //! //! Effects: Inserts an object of type T constructed with @@ -1357,51 +1748,55 @@ class vector //! Complexity: If position is end(), amortized constant time //! Linear time otherwise. template - iterator emplace(const_iterator position, Args && ...args) + iterator emplace(const_iterator position, BOOST_FWD_REF(Args) ...args) { //Just call more general insert(pos, size, value) and return iterator typedef container_detail::insert_emplace_proxy type; return this->priv_forward_range_insert( vector_iterator_get_ptr(position), 1 - , type(::boost::forward(args)...), alloc_version()); + , type(::boost::forward(args)...)); } - #else + #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) - #define BOOST_PP_LOCAL_MACRO(n) \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - void emplace_back(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - T* back_pos = container_detail::to_raw_pointer \ - (this->m_holder.start()) + this->m_holder.m_size; \ - if (this->m_holder.m_size < this->m_holder.capacity()){ \ - allocator_traits_type::construct (this->m_holder.alloc() \ - , back_pos BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _) ); \ - ++this->m_holder.m_size; \ - } \ - else{ \ - typedef container_detail::BOOST_PP_CAT(insert_emplace_proxy_arg, n) \ - type; \ - this->priv_forward_range_insert_no_capacity \ - ( vector_iterator_get_ptr(this->cend()), 1 \ - , type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)), alloc_version()); \ - } \ - } \ - \ - BOOST_PP_EXPR_IF(n, template<) BOOST_PP_ENUM_PARAMS(n, class P) BOOST_PP_EXPR_IF(n, >) \ - iterator emplace(const_iterator pos \ - BOOST_PP_ENUM_TRAILING(n, BOOST_CONTAINER_PP_PARAM_LIST, _)) \ - { \ - typedef container_detail::BOOST_PP_CAT(insert_emplace_proxy_arg, n) \ - type; \ - return this->priv_forward_range_insert \ - ( container_detail::to_raw_pointer(vector_iterator_get_ptr(pos)), 1 \ - , type(BOOST_PP_ENUM(n, BOOST_CONTAINER_PP_PARAM_FORWARD, _)), alloc_version()); \ - } \ - //! - #define BOOST_PP_LOCAL_LIMITS (0, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS) - #include BOOST_PP_LOCAL_ITERATE() + #define BOOST_CONTAINER_VECTOR_EMPLACE_CODE(N) \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + void emplace_back(BOOST_MOVE_UREF##N)\ + {\ + if (BOOST_LIKELY(this->room_enough())){\ + allocator_traits_type::construct (this->m_holder.alloc()\ + , this->back_raw() BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + ++this->m_holder.m_size;\ + }\ + else{\ + typedef container_detail::insert_emplace_proxy_arg##N type;\ + this->priv_forward_range_insert_no_capacity\ + ( this->back_ptr(), 1, type(BOOST_MOVE_FWD##N), alloc_version());\ + }\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + bool stable_emplace_back(BOOST_MOVE_UREF##N)\ + {\ + const bool is_room_enough = this->room_enough() || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(1u));\ + if (BOOST_LIKELY(is_room_enough)){\ + allocator_traits_type::construct (this->m_holder.alloc()\ + , this->back_raw() BOOST_MOVE_I##N BOOST_MOVE_FWD##N);\ + ++this->m_holder.m_size;\ + }\ + return is_room_enough;\ + }\ + \ + BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \ + iterator emplace(const_iterator pos BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\ + {\ + typedef container_detail::insert_emplace_proxy_arg##N type;\ + return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), 1, type(BOOST_MOVE_FWD##N));\ + }\ + // + BOOST_MOVE_ITERATE_0TO9(BOOST_CONTAINER_VECTOR_EMPLACE_CODE) + #undef BOOST_CONTAINER_VECTOR_EMPLACE_CODE - #endif //#ifdef BOOST_CONTAINER_PERFECT_FORWARDING + #endif #if defined(BOOST_CONTAINER_DOXYGEN_INVOKED) //! Effects: Inserts a copy of x at the end of the vector. @@ -1460,7 +1855,7 @@ class vector iterator insert(const_iterator p, size_type n, const T& x) { container_detail::insert_n_copies_proxy proxy(x); - return this->priv_forward_range_insert(vector_iterator_get_ptr(p), n, proxy, alloc_version()); + return this->priv_forward_range_insert(vector_iterator_get_ptr(p), n, proxy); } //! Requires: p must be a valid iterator of *this. @@ -1472,13 +1867,14 @@ class vector //! Throws: If memory allocation throws, T's constructor from a //! dereferenced InpIt throws or T's copy/move constructor/assignment throws. //! - //! Complexity: Linear to std::distance [first, last). + //! Complexity: Linear to boost::container::iterator_distance [first, last). template iterator insert(const_iterator pos, InIt first, InIt last #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_not_input_iterator >::type * = 0 #endif ) @@ -1495,19 +1891,20 @@ class vector #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) template iterator insert(const_iterator pos, FwdIt first, FwdIt last - , typename container_detail::enable_if_c - < !container_detail::is_convertible::value - && !container_detail::is_input_iterator::value + , typename container_detail::disable_if_or + < void + , container_detail::is_convertible + , container_detail::is_input_iterator >::type * = 0 ) { container_detail::insert_range_proxy proxy(first); - return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), std::distance(first, last), proxy, alloc_version()); + return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), boost::container::iterator_distance(first, last), proxy); } #endif //! Requires: p must be a valid iterator of *this. num, must - //! be equal to std::distance(first, last) + //! be equal to boost::container::iterator_distance(first, last) //! //! Effects: Insert a copy of the [first, last) range before pos. //! @@ -1516,9 +1913,9 @@ class vector //! Throws: If memory allocation throws, T's constructor from a //! dereferenced InpIt throws or T's copy/move constructor/assignment throws. //! - //! Complexity: Linear to std::distance [first, last). + //! Complexity: Linear to boost::container::iterator_distance [first, last). //! - //! Note: This function avoids a linear operation to calculate std::distance[first, last) + //! Note: This function avoids a linear operation to calculate boost::container::iterator_distance[first, last) //! for forward and bidirectional iterators, and a one by one insertion for input iterators. This is a //! a non-standard extension. #if !defined(BOOST_CONTAINER_DOXYGEN_INVOKED) @@ -1526,9 +1923,24 @@ class vector iterator insert(const_iterator pos, size_type num, InIt first, InIt last) { BOOST_ASSERT(container_detail::is_input_iterator::value || - num == static_cast(std::distance(first, last))); + num == static_cast(boost::container::iterator_distance(first, last))); + (void)last; container_detail::insert_range_proxy proxy(first); - return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), num, proxy, alloc_version()); + return this->priv_forward_range_insert(vector_iterator_get_ptr(pos), num, proxy); + } + #endif + + #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST) + //! Requires: position must be a valid iterator of *this. + //! + //! Effects: Insert a copy of the [il.begin(), il.end()) range before position. + //! + //! Returns: an iterator to the first inserted element or position if first == last. + //! + //! Complexity: Linear to the range [il.begin(), il.end()). + iterator insert(const_iterator position, std::initializer_list il) + { + return this->insert(position, il.begin(), il.end()); } #endif @@ -1537,11 +1949,10 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant time. - void pop_back() BOOST_CONTAINER_NOEXCEPT + void pop_back() BOOST_NOEXCEPT_OR_NOTHROW { //Destroy last element - --this->m_holder.m_size; - this->priv_destroy(container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size); + this->priv_destroy_last(); } //! Effects: Erases the element at position pos. @@ -1552,12 +1963,13 @@ class vector //! last element. Constant if pos is the last element. iterator erase(const_iterator position) { - T *const pos = container_detail::to_raw_pointer(vector_iterator_get_ptr(position)); - T *const beg = container_detail::to_raw_pointer(this->m_holder.start()); + const pointer p = vector_iterator_get_ptr(position); + T *const pos_ptr = container_detail::to_raw_pointer(p); + T *const beg_ptr = container_detail::to_raw_pointer(this->m_holder.start()); + T *const new_end_ptr = ::boost::container::move(pos_ptr + 1, beg_ptr + this->m_holder.m_size, pos_ptr); //Move elements forward and destroy last - this->priv_destroy(::boost::move(pos + 1, beg + this->m_holder.m_size, pos)); - --this->m_holder.m_size; - return iterator(vector_iterator_get_ptr(position)); + this->priv_destroy_last(pos_ptr == new_end_ptr); + return iterator(p); } //! Effects: Erases the elements pointed by [first, last). @@ -1569,15 +1981,11 @@ class vector iterator erase(const_iterator first, const_iterator last) { if (first != last){ - T* const end_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - T* const ptr = container_detail::to_raw_pointer(boost::move - (container_detail::to_raw_pointer(vector_iterator_get_ptr(last)) - ,end_pos - ,container_detail::to_raw_pointer(vector_iterator_get_ptr(first)) - )); - const size_type destroyed = (end_pos - ptr); - boost::container::destroy_alloc_n(this->get_stored_allocator(), ptr, destroyed); - this->m_holder.m_size -= destroyed; + T* const old_end_ptr = this->back_raw(); + T* const first_ptr = container_detail::to_raw_pointer(vector_iterator_get_ptr(first)); + T* const last_ptr = container_detail::to_raw_pointer(vector_iterator_get_ptr(last)); + T* const ptr = container_detail::to_raw_pointer(boost::container::move(last_ptr, old_end_ptr, first_ptr)); + this->priv_destroy_last_n(old_end_ptr - ptr); } return iterator(vector_iterator_get_ptr(first)); } @@ -1587,13 +1995,12 @@ class vector //! Throws: Nothing. //! //! Complexity: Constant. - void swap(vector& x) BOOST_CONTAINER_NOEXCEPT_IF((!container_detail::is_version::value)) + void swap(vector& x) + BOOST_NOEXCEPT_IF( ((allocator_traits_type::propagate_on_container_swap::value + || allocator_traits_type::is_always_equal::value) && + !container_detail::is_version::value)) { - //Just swap internals in case of !allocator_v0. Otherwise, deep swap - this->m_holder.swap(x.m_holder); - //And now the allocator - container_detail::bool_ flag; - container_detail::swap_alloc(this->m_holder.alloc(), x.m_holder.alloc(), flag); + this->priv_swap(x, container_detail::bool_::value>()); } #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED @@ -1607,11 +2014,13 @@ class vector //! Note: Non-standard extension to support static_vector template void swap(vector & x - , typename container_detail::enable_if_c - < container_detail::is_version::value && - !container_detail::is_same::value >::type * = 0 + , typename container_detail::enable_if_and + < void + , container_detail::is_version + , container_detail::is_different + >::type * = 0 ) - { this->m_holder.swap(x.m_holder); } + { this->m_holder.deep_swap(x.m_holder); } #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED @@ -1620,14 +2029,14 @@ class vector //! Throws: Nothing. //! //! Complexity: Linear to the number of elements in the container. - void clear() BOOST_CONTAINER_NOEXCEPT + void clear() BOOST_NOEXCEPT_OR_NOTHROW { this->priv_destroy_all(); } //! Effects: Returns true if x and y are equal //! //! Complexity: Linear to the number of elements in the container. friend bool operator==(const vector& x, const vector& y) - { return x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin()); } + { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); } //! Effects: Returns true if x and y are unequal //! @@ -1639,7 +2048,15 @@ class vector //! //! Complexity: Linear to the number of elements in the container. friend bool operator<(const vector& x, const vector& y) - { return std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); } + { + const_iterator first1(x.cbegin()), first2(y.cbegin()); + const const_iterator last1(x.cend()), last2(y.cend()); + for ( ; (first1 != last1) && (first2 != last2); ++first1, ++first2 ) { + if (*first1 < *first2) return true; + if (*first2 < *first1) return false; + } + return (first1 == last1) && (first2 != last2); + } //! Effects: Returns true if x is greater than y //! @@ -1666,24 +2083,270 @@ class vector { x.swap(y); } #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED + //! Effects: If n is less than or equal to capacity(), this call has no + //! effect. Otherwise, it is a request for allocation of additional memory + //! (memory expansion) that will not invalidate iterators. + //! If the request is successful, then capacity() is greater than or equal to + //! n; otherwise, capacity() is unchanged. In either case, size() is unchanged. + //! + //! Throws: If memory allocation allocation throws or T's copy/move constructor throws. + //! + //! Note: Non-standard extension. + bool stable_reserve(size_type new_cap) + { + const size_type cp = this->capacity(); + return cp >= new_cap || (alloc_version::value == 2 && this->m_holder.try_expand_fwd(new_cap - cp)); + } //Absolutely experimental. This function might change, disappear or simply crash! template - void insert_ordered_at(size_type element_count, BiDirPosConstIt last_position_it, BiDirValueIt last_value_it) + void insert_ordered_at(const size_type element_count, BiDirPosConstIt last_position_it, BiDirValueIt last_value_it) { - const size_type *dummy = 0; - this->priv_insert_ordered_at(element_count, last_position_it, false, dummy, last_value_it); + typedef container_detail::vector_insert_ordered_cursor inserter_t; + return this->priv_insert_ordered_at(element_count, inserter_t(last_position_it, last_value_it)); } - //Absolutely experimental. This function might change, disappear or simply crash! - template - void insert_ordered_at( size_type element_count, BiDirPosConstIt last_position_it - , BiDirSkipConstIt last_skip_it, BiDirValueIt last_value_it) - { - this->priv_insert_ordered_at(element_count, last_position_it, true, last_skip_it, last_value_it); - } + template + void merge(BidirIt first, BidirIt last) + { this->merge(first, last, value_less()); } + + template + void merge(BidirIt first, BidirIt last, Compare comp) + { this->priv_merge(container_detail::false_type(), first, last, comp); } + + template + void merge_unique(BidirIt first, BidirIt last) + { this->priv_merge(container_detail::true_type(), first, last, value_less()); } + + template + void merge_unique(BidirIt first, BidirIt last, Compare comp) + { this->priv_merge(container_detail::true_type(), first, last, comp); } private: + template + void priv_insert_ordered_at(const size_type element_count, PositionValue position_value) + { + const size_type old_size_pos = this->size(); + this->reserve(old_size_pos + element_count); + T* const begin_ptr = container_detail::to_raw_pointer(this->m_holder.start()); + size_type insertions_left = element_count; + size_type prev_pos = old_size_pos; + size_type old_hole_size = element_count; + + //Exception rollback. If any copy throws before the hole is filled, values + //already inserted/copied at the end of the buffer will be destroyed. + typename value_traits::ArrayDestructor past_hole_values_destroyer + (begin_ptr + old_size_pos + element_count, this->m_holder.alloc(), size_type(0u)); + //Loop for each insertion backwards, first moving the elements after the insertion point, + //then inserting the element. + while(insertions_left){ + --position_value; + size_type const pos = position_value.get_pos(); + BOOST_ASSERT(pos != size_type(-1) && pos <= old_size_pos && pos <= prev_pos); + //If needed shift the range after the insertion point and the previous insertion point. + //Function will take care if the shift crosses the size() boundary, using copy/move + //or uninitialized copy/move if necessary. + size_type new_hole_size = (pos != prev_pos) + ? priv_insert_ordered_at_shift_range(pos, prev_pos, this->size(), insertions_left) + : old_hole_size + ; + if(new_hole_size){ + //The hole was reduced by priv_insert_ordered_at_shift_range so expand exception rollback range backwards + past_hole_values_destroyer.increment_size_backwards(prev_pos - pos); + //Insert the new value in the hole + allocator_traits_type::construct(this->m_holder.alloc(), begin_ptr + pos + insertions_left - 1, position_value.get_val()); + if(--new_hole_size){ + //The hole was reduced by the new insertion by one + past_hole_values_destroyer.increment_size_backwards(size_type(1u)); + } + else{ + //Hole was just filled, disable exception rollback and change vector size + past_hole_values_destroyer.release(); + this->m_holder.m_size += element_count; + } + } + else{ + if(old_hole_size){ + //Hole was just filled by priv_insert_ordered_at_shift_range, disable exception rollback and change vector size + past_hole_values_destroyer.release(); + this->m_holder.m_size += element_count; + } + //Insert the new value in the already constructed range + begin_ptr[pos + insertions_left - 1] = position_value.get_val(); + } + --insertions_left; + old_hole_size = new_hole_size; + prev_pos = pos; + } + } + + template + void priv_merge(UniqueBool, BidirIt first, BidirIt last, Compare comp) + { + size_type const n = static_cast(boost::container::iterator_distance(first, last)); + if(BOOST_LIKELY(n)){ + size_type const s = this->size(); + if(BOOST_LIKELY(s)){ + size_type const c = this->capacity(); + size_type const free_c = (c - s); + //Use a new buffer if current one is too small for new elements, + //or there is no room for position indexes + bool new_buffer = false; + if(free_c < n){ + new_buffer = true; + } + else if(!UniqueBool::value && free_c >= n){ + typedef container_detail::vector_merge_cursor inserter_t; + T* const pbeg = container_detail::to_raw_pointer(m_holder.start()); + return this->priv_insert_ordered_at(n, inserter_t(pbeg, pbeg + s, last, comp)); + } + else if(UniqueBool::value){ //Query for room to store n + 1 indexes (+1 to guarantee potential alignment overhead). + //No need to destroy them as they are integral types, which simplifies things a lot. + std::size_t const sz_vlt = sizeof(value_type); + std::size_t const sz_szt = sizeof(size_type); + new_buffer = (c-s-n)*sz_vlt/sz_szt < (n+1); + } + + if(new_buffer){ + size_type const new_size = s + n; + size_type new_cap = new_size; + pointer p = pointer(); + p = this->m_holder.allocation_command(allocate_new, new_size, new_cap, p); + this->priv_merge_in_new_buffer(UniqueBool(), first, n, comp, p, new_cap); + } + else{ + //Use trailing memory to store position offsets + uintptr_t const szt_align_mask = container_detail::alignment_of::value - 1; + boost::uintptr_t const addr = boost::uintptr_t(container_detail::to_raw_pointer(m_holder.start()) + s + n); + //Align memory before casting to address + size_type *const paddr = reinterpret_cast((addr + szt_align_mask) & ~szt_align_mask); + this->priv_insert_ordered_range(UniqueBool(), n, first, last, paddr, comp); + } + } + else{ + this->insert(this->cend(), n, first, last); + } + } + } + + template + void priv_insert_ordered_range + (UniqueBool, size_type const n, BidirIt first, BidirIt const last, size_type positions[], Compare comp) + { + //Linear: at most N + M -1 comparisons + //Log: MlogN + //Average + //Linear: N + M - 2 + //Log: MlogN + //N+M - 2 + //N + //(N+M)/2 < MlogN + //(N/M+1)/2 <= logN + //bool const linear = !s || !n || (s <= n) || ((s+n)/n/2 < logN); + size_type const s = this->size(); + size_type remaining = n; + T* const pbeg = container_detail::to_raw_pointer(m_holder.start()); + T* const pend = pbeg + s; + T* pcur = pbeg; + size_type *position = positions; + size_type added_in_middle = 0; + if(first != last && pcur != pend){ + while(1){ + //maintain stability moving external values only if they are strictly less + if(comp(*first, *pcur)) { + *position = static_cast(pcur - pbeg); + BOOST_ASSERT((position == positions) || (*(position-1) == size_type(-1)) || (*(position-1) <= *position)); + ++position; + ++added_in_middle; + --remaining; + if(++first == last) break; + } + else if(UniqueBool::value && !comp(*pcur, *first)){ + *position = size_type(-1); + ++position; + --remaining; + if(++first == last) break; + } + else{ + if(++pcur == pend) break; + } + } + } + this->insert_ordered_at(added_in_middle, position, first); + this->insert(this->cend(), remaining, first, last); + } + + template + void priv_merge_in_new_buffer + (UniqueBool, FwdIt first, size_type n, Compare comp, pointer new_storage, size_type const new_cap) + { + BOOST_ASSERT((new_cap >= this->size() ) && (new_cap - this->size()) >= n); + allocator_type &a = this->m_holder.alloc(); + typename value_traits::ArrayDeallocator new_buffer_deallocator(new_storage, a, new_cap); + typename value_traits::ArrayDestructor new_values_destroyer(new_storage, a, 0u); + T* pbeg = container_detail::to_raw_pointer(m_holder.start()); + size_type const old_size = this->size(); + T* const pend = pbeg + old_size; + T* d_first = container_detail::to_raw_pointer(new_storage); + size_type added = n; + //Merge in new buffer loop + while(1){ + if(!n) { + ::boost::container::uninitialized_move_alloc(this->m_holder.alloc(), pbeg, pend, d_first); + break; + } + else if(pbeg == pend) { + ::boost::container::uninitialized_move_alloc_n(this->m_holder.alloc(), first, n, d_first); + break; + } + //maintain stability moving external values only if they are strictly less + else if(comp(*first, *pbeg)) { + allocator_traits_type::construct( this->m_holder.alloc(), d_first, ::boost::move(*first) ); + new_values_destroyer.increment_size(1u); + ++first; + --n; + ++d_first; + } + else if(UniqueBool::value && !comp(*pbeg, *first)){ + ++first; + --n; + --added; + } + else{ + allocator_traits_type::construct( this->m_holder.alloc(), d_first, ::boost::move(*pbeg) ); + new_values_destroyer.increment_size(1u); + ++pbeg; + ++d_first; + } + } + + //Nothrow operations + pointer const old_p = this->m_holder.start(); + size_type const old_cap = this->m_holder.capacity(); + boost::container::destroy_alloc_n(a, container_detail::to_raw_pointer(old_p), old_size); + a.deallocate(old_p, old_cap); + this->m_holder.m_size = old_size + added; + this->m_holder.start(new_storage); + this->m_holder.capacity(new_cap); + new_buffer_deallocator.release(); + new_values_destroyer.release(); + } + + bool room_enough() const + { return this->m_holder.m_size < this->m_holder.capacity(); } + + pointer back_ptr() const + { return this->m_holder.start() + this->m_holder.m_size; } + + T* back_raw() const + { return container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; } + + size_type priv_index_of(pointer p) const + { + BOOST_ASSERT(this->m_holder.start() <= p); + BOOST_ASSERT(p <= (this->m_holder.start()+this->size())); + return static_cast(p - this->m_holder.start()); + } template void priv_move_assign(BOOST_RV_REF_BEG vector BOOST_RV_REF_END x @@ -1704,33 +2367,42 @@ class vector template void priv_move_assign(BOOST_RV_REF_BEG vector BOOST_RV_REF_END x - , typename container_detail::enable_if_c - < !container_detail::is_version::value && - container_detail::is_same::value>::type * = 0) + , typename container_detail::disable_if_or + < void + , container_detail::is_version + , container_detail::is_different + >::type * = 0) { //for move constructor, no aliasing (&x != this) is assummed. BOOST_ASSERT(this != &x); allocator_type &this_alloc = this->m_holder.alloc(); allocator_type &x_alloc = x.m_holder.alloc(); - const bool propagate_alloc = allocator_traits_type:: - propagate_on_container_move_assignment::value; - container_detail::bool_ flag; - const bool allocators_equal = this_alloc == x_alloc; (void)allocators_equal; + const bool propagate_alloc = allocator_traits_type::propagate_on_container_move_assignment::value; + + const bool is_propagable_from_x = is_propagable_from(x_alloc, x.m_holder.start(), this_alloc, propagate_alloc); + const bool is_propagable_from_t = is_propagable_from(this_alloc, m_holder.start(), x_alloc, propagate_alloc); + const bool are_both_propagable = is_propagable_from_x && is_propagable_from_t; + //Resources can be transferred if both allocators are //going to be equal after this function (either propagated or already equal) - if(propagate_alloc || allocators_equal){ + if(are_both_propagable){ //Destroy objects but retain memory in case x reuses it in the future this->clear(); - //Move allocator if needed - container_detail::move_alloc(this_alloc, x_alloc, flag); - //Nothrow swap - this->m_holder.swap(x.m_holder); + this->m_holder.swap_resources(x.m_holder); + } + else if(is_propagable_from_x){ + this->clear(); + this->m_holder.alloc().deallocate(this->m_holder.m_start, this->m_holder.m_capacity); + this->m_holder.steal_resources(x.m_holder); } //Else do a one by one move else{ - this->assign( boost::make_move_iterator(x.begin()) - , boost::make_move_iterator(x.end())); + this->assign( boost::make_move_iterator(container_detail::iterator_to_raw_pointer(x.begin())) + , boost::make_move_iterator(container_detail::iterator_to_raw_pointer(x.end() )) + ); } + //Move allocator if needed + container_detail::move_alloc(this_alloc, x_alloc, container_detail::bool_()); } template @@ -1751,10 +2423,12 @@ class vector } template - void priv_copy_assign(const vector &x - , typename container_detail::enable_if_c - < !container_detail::is_version::value && - container_detail::is_same::value >::type * = 0) + typename container_detail::disable_if_or + < void + , container_detail::is_version + , container_detail::is_different + >::type + priv_copy_assign(const vector &x) { allocator_type &this_alloc = this->m_holder.alloc(); const allocator_type &x_alloc = x.m_holder.alloc(); @@ -1769,7 +2443,40 @@ class vector , container_detail::to_raw_pointer(x.m_holder.start() + x.m_holder.m_size)); } - void priv_reserve(size_type, allocator_v0) + template //Template it to avoid it in explicit instantiations + void priv_swap(Vector &x, container_detail::true_type) //version_0 + { this->m_holder.deep_swap(x.m_holder); } + + template //Template it to avoid it in explicit instantiations + void priv_swap(Vector &x, container_detail::false_type) //version_N + { + const bool propagate_alloc = allocator_traits_type::propagate_on_container_swap::value; + if(are_swap_propagable( this->get_stored_allocator(), this->m_holder.start() + , x.get_stored_allocator(), this->m_holder.start(), propagate_alloc)){ + //Just swap internals + this->m_holder.swap_resources(x.m_holder); + } + else{ + //Else swap element by element... + bool const t_smaller = this->size() < x.size(); + vector &sml = t_smaller ? *this : x; + vector &big = t_smaller ? x : *this; + + size_type const common_elements = sml.size(); + for(size_type i = 0; i != common_elements; ++i){ + boost::adl_move_swap(sml[i], big[i]); + } + //... and move-insert the remaining range + sml.insert( sml.cend() + , boost::make_move_iterator(container_detail::iterator_to_raw_pointer(big.nth(common_elements))) + , boost::make_move_iterator(container_detail::iterator_to_raw_pointer(big.end())) + ); + } + //And now swap the allocator + container_detail::swap_alloc(this->m_holder.alloc(), x.m_holder.alloc(), container_detail::bool_()); + } + + void priv_reserve_no_capacity(size_type, version_0) { throw_bad_alloc(); } container_detail::insert_range_proxy, T*> priv_dummy_empty_proxy() @@ -1778,28 +2485,27 @@ class vector (::boost::make_move_iterator((T *)0)); } - void priv_reserve(size_type new_cap, allocator_v1) + void priv_reserve_no_capacity(size_type new_cap, version_1) { //There is not enough memory, allocate a new buffer - pointer p = this->m_holder.allocate(new_cap); + //Pass the hint so that allocators can take advantage of this. + pointer const p = allocator_traits_type::allocate(this->m_holder.alloc(), new_cap, this->m_holder.m_start); //We will reuse insert code, so create a dummy input iterator this->priv_forward_range_insert_new_allocation - ( container_detail::to_raw_pointer(p), new_cap - , container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size - , 0, this->priv_dummy_empty_proxy()); + ( container_detail::to_raw_pointer(p), new_cap, this->back_raw(), 0, this->priv_dummy_empty_proxy()); } - void priv_reserve(size_type new_cap, allocator_v2) + void priv_reserve_no_capacity(size_type new_cap, version_2) { //There is not enough memory, allocate a new //buffer or expand the old one. bool same_buffer_start; size_type real_cap = 0; - std::pair ret = this->m_holder.allocation_command - (allocate_new | expand_fwd | expand_bwd, new_cap, new_cap, real_cap, this->m_holder.start()); + pointer reuse = 0; + pointer const ret(this->m_holder.allocation_command(allocate_new | expand_fwd | expand_bwd, new_cap, real_cap = new_cap, reuse)); //Check for forward expansion - same_buffer_start = ret.second && this->m_holder.start() == ret.first; + same_buffer_start = reuse && this->m_holder.start() == ret; if(same_buffer_start){ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS ++this->num_expand_fwd; @@ -1807,9 +2513,9 @@ class vector this->m_holder.capacity(real_cap); } else{ //If there is no forward expansion, move objects, we will reuse insertion code - T * const new_mem = container_detail::to_raw_pointer(ret.first); - T * const ins_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - if(ret.second){ //Backwards (and possibly forward) expansion + T * const new_mem = container_detail::to_raw_pointer(ret); + T * const ins_pos = this->back_raw(); + if(reuse){ //Backwards (and possibly forward) expansion #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS ++this->num_expand_bwd; #endif @@ -1826,30 +2532,35 @@ class vector } } - void priv_destroy(value_type* p) BOOST_CONTAINER_NOEXCEPT + void priv_destroy_last(const bool moved = false) BOOST_NOEXCEPT_OR_NOTHROW { - if(!value_traits::trivial_dctr) + (void)moved; + if(!(value_traits::trivial_dctr || (value_traits::trivial_dctr_after_move && moved))){ + value_type* const p = this->back_raw() - 1; allocator_traits_type::destroy(this->get_stored_allocator(), p); + } + --this->m_holder.m_size; } - void priv_destroy_last_n(size_type n) BOOST_CONTAINER_NOEXCEPT + void priv_destroy_last_n(const size_type n) BOOST_NOEXCEPT_OR_NOTHROW { - T* const end_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - boost::container::destroy_alloc_n(this->get_stored_allocator(), end_pos-n, n); + BOOST_ASSERT(n <= this->m_holder.m_size); + if(!value_traits::trivial_dctr){ + T* const destroy_pos = container_detail::to_raw_pointer(this->m_holder.start()) + (this->m_holder.m_size-n); + boost::container::destroy_alloc_n(this->get_stored_allocator(), destroy_pos, n); + } this->m_holder.m_size -= n; } template void priv_uninitialized_construct_at_end(InpIt first, InpIt last) { - T* end_pos = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; - for(; first != last; ++first, ++end_pos, ++this->m_holder.m_size){ - //There is more memory, just construct a new object at the end - allocator_traits_type::construct(this->m_holder.alloc(), end_pos, *first); - } + T* const old_end_pos = this->back_raw(); + T* const new_end_pos = boost::container::uninitialized_copy_alloc(this->m_holder.alloc(), first, last, old_end_pos); + this->m_holder.m_size += new_end_pos - old_end_pos; } - void priv_destroy_all() BOOST_CONTAINER_NOEXCEPT + void priv_destroy_all() BOOST_NOEXCEPT_OR_NOTHROW { boost::container::destroy_alloc_n (this->get_stored_allocator(), container_detail::to_raw_pointer(this->m_holder.start()), this->m_holder.m_size); @@ -1860,8 +2571,7 @@ class vector iterator priv_insert(const const_iterator &p, BOOST_FWD_REF(U) x) { return this->priv_forward_range_insert - ( vector_iterator_get_ptr(p), 1, container_detail::get_insert_value_proxy - (::boost::forward(x)), alloc_version()); + ( vector_iterator_get_ptr(p), 1, container_detail::get_insert_value_proxy(::boost::forward(x))); } container_detail::insert_copy_proxy priv_single_insert_proxy(const T &x) @@ -1873,7 +2583,7 @@ class vector template void priv_push_back(BOOST_FWD_REF(U) u) { - if (this->m_holder.m_size < this->m_holder.capacity()){ + if (BOOST_LIKELY(this->room_enough())){ //There is more memory, just construct a new object at the end allocator_traits_type::construct ( this->m_holder.alloc() @@ -1883,7 +2593,7 @@ class vector } else{ this->priv_forward_range_insert_no_capacity - ( vector_iterator_get_ptr(this->cend()), 1 + ( this->back_ptr(), 1 , this->priv_single_insert_proxy(::boost::forward(u)), alloc_version()); } } @@ -1911,10 +2621,10 @@ class vector } } - void priv_shrink_to_fit(allocator_v0) BOOST_CONTAINER_NOEXCEPT + void priv_shrink_to_fit(version_0) BOOST_NOEXCEPT_OR_NOTHROW {} - void priv_shrink_to_fit(allocator_v1) + void priv_shrink_to_fit(version_1) { const size_type cp = this->m_holder.capacity(); if(cp){ @@ -1926,7 +2636,8 @@ class vector } else if(sz < cp){ //Allocate a new buffer. - pointer p = this->m_holder.allocate(sz); + //Pass the hint so that allocators can take advantage of this. + pointer const p = allocator_traits_type::allocate(this->m_holder.alloc(), sz, this->m_holder.m_start); //We will reuse insert code, so create a dummy input iterator #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS @@ -1940,7 +2651,7 @@ class vector } } - void priv_shrink_to_fit(allocator_v2) BOOST_CONTAINER_NOEXCEPT + void priv_shrink_to_fit(version_2) BOOST_NOEXCEPT_OR_NOTHROW { const size_type cp = this->m_holder.capacity(); if(cp){ @@ -1951,10 +2662,10 @@ class vector this->m_holder.m_capacity = 0; } else{ - size_type received_size; + size_type received_size = sz; + pointer reuse(this->m_holder.start()); if(this->m_holder.allocation_command - ( shrink_in_place | nothrow_allocation - , cp, sz, received_size, this->m_holder.start()).first){ + (shrink_in_place | nothrow_allocation, cp, received_size, reuse)){ this->m_holder.capacity(received_size); #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS ++this->num_shrink; @@ -1966,7 +2677,7 @@ class vector template iterator priv_forward_range_insert_no_capacity - (const pointer &pos, const size_type, const InsertionProxy , allocator_v0) + (const pointer &pos, const size_type, const InsertionProxy , version_0) { throw_bad_alloc(); return iterator(pos); @@ -1974,14 +2685,15 @@ class vector template iterator priv_forward_range_insert_no_capacity - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v1) + (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, version_1) { //Check if we have enough memory or try to expand current memory const size_type n_pos = pos - this->m_holder.start(); T *const raw_pos = container_detail::to_raw_pointer(pos); const size_type new_cap = this->m_holder.next_capacity(n); - T * new_buf = container_detail::to_raw_pointer(this->m_holder.alloc().allocate(new_cap)); + //Pass the hint so that allocators can take advantage of this. + T * const new_buf = container_detail::to_raw_pointer(allocator_traits_type::allocate(this->m_holder.alloc(), new_cap, this->m_holder.m_start)); #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS ++this->num_alloc; #endif @@ -1992,23 +2704,23 @@ class vector template iterator priv_forward_range_insert_no_capacity - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v2) + (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, version_2) { //Check if we have enough memory or try to expand current memory T *const raw_pos = container_detail::to_raw_pointer(pos); const size_type n_pos = raw_pos - container_detail::to_raw_pointer(this->m_holder.start()); - size_type real_cap = 0; //There is not enough memory, allocate a new //buffer or expand the old one. - std::pair ret = (this->m_holder.allocation_command - (allocate_new | expand_fwd | expand_bwd, - this->m_holder.m_size + n, this->m_holder.next_capacity(n), real_cap, this->m_holder.start())); + size_type real_cap = this->m_holder.next_capacity(n); + pointer reuse(this->m_holder.start()); + pointer const ret (this->m_holder.allocation_command + (allocate_new | expand_fwd | expand_bwd, this->m_holder.m_size + n, real_cap, reuse)); //Buffer reallocated - if(ret.second){ + if(reuse){ //Forward expansion, delay insertion - if(this->m_holder.start() == ret.first){ + if(this->m_holder.start() == ret){ #ifdef BOOST_CONTAINER_VECTOR_ALLOC_STATS ++this->num_expand_fwd; #endif @@ -2022,8 +2734,7 @@ class vector ++this->num_expand_bwd; #endif this->priv_forward_range_insert_expand_backwards - ( container_detail::to_raw_pointer(ret.first) - , real_cap, raw_pos, n, insert_range_proxy); + (container_detail::to_raw_pointer(ret), real_cap, raw_pos, n, insert_range_proxy); } } //New buffer @@ -2032,8 +2743,7 @@ class vector ++this->num_alloc; #endif this->priv_forward_range_insert_new_allocation - ( container_detail::to_raw_pointer(ret.first) - , real_cap, raw_pos, n, insert_range_proxy); + ( container_detail::to_raw_pointer(ret), real_cap, raw_pos, n, insert_range_proxy); } return iterator(this->m_holder.start() + n_pos); @@ -2041,43 +2751,9 @@ class vector template iterator priv_forward_range_insert - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v0) - { - //Check if we have enough memory or try to expand current memory - const size_type remaining = this->m_holder.capacity() - this->m_holder.m_size; - - if (n > remaining){ - //This will trigger an error - throw_bad_alloc(); - } - const size_type n_pos = pos - this->m_holder.start(); - T *const raw_pos = container_detail::to_raw_pointer(pos); - this->priv_forward_range_insert_expand_forward(raw_pos, n, insert_range_proxy); - return iterator(this->m_holder.start() + n_pos); - } - - template - iterator priv_forward_range_insert - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v1) - { - //Check if we have enough memory or try to expand current memory - const size_type remaining = this->m_holder.capacity() - this->m_holder.m_size; - T *const raw_pos = container_detail::to_raw_pointer(pos); - - if (n <= remaining){ - const size_type n_pos = raw_pos - container_detail::to_raw_pointer(this->m_holder.start()); - this->priv_forward_range_insert_expand_forward(raw_pos, n, insert_range_proxy); - return iterator(this->m_holder.start() + n_pos); - } - else{ - return this->priv_forward_range_insert_no_capacity(pos, n, insert_range_proxy, alloc_version()); - } - } - - template - iterator priv_forward_range_insert - (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy, allocator_v2) + (const pointer &pos, const size_type n, const InsertionProxy insert_range_proxy) { + BOOST_ASSERT(this->m_holder.capacity() >= this->m_holder.m_size); //Check if we have enough memory or try to expand current memory const size_type remaining = this->m_holder.capacity() - this->m_holder.m_size; @@ -2096,7 +2772,7 @@ class vector template iterator priv_forward_range_insert_at_end - (const size_type n, const InsertionProxy insert_range_proxy, allocator_v0) + (const size_type n, const InsertionProxy insert_range_proxy, version_0) { //Check if we have enough memory or try to expand current memory const size_type remaining = this->m_holder.capacity() - this->m_holder.m_size; @@ -2109,81 +2785,11 @@ class vector return this->end(); } - template + template iterator priv_forward_range_insert_at_end - (const size_type n, const InsertionProxy insert_range_proxy, allocator_v1) + (const size_type n, const InsertionProxy insert_range_proxy, AllocVersion) { - return this->priv_forward_range_insert(vector_iterator_get_ptr(this->cend()), n, insert_range_proxy, allocator_v1()); - } - - template - iterator priv_forward_range_insert_at_end - (const size_type n, const InsertionProxy insert_range_proxy, allocator_v2) - { - return this->priv_forward_range_insert(vector_iterator_get_ptr(this->cend()), n, insert_range_proxy, allocator_v2()); - } - - //Absolutely experimental. This function might change, disappear or simply crash! - template - void priv_insert_ordered_at( size_type element_count, BiDirPosConstIt last_position_it - , bool do_skip, BiDirSkipConstIt last_skip_it, BiDirValueIt last_value_it) - { - const size_type old_size_pos = this->size(); - this->reserve(old_size_pos + element_count); - T* const begin_ptr = container_detail::to_raw_pointer(this->m_holder.start()); - size_type insertions_left = element_count; - size_type next_pos = old_size_pos; - size_type hole_size = element_count; - - //Exception rollback. If any copy throws before the hole is filled, values - //already inserted/copied at the end of the buffer will be destroyed. - typename value_traits::ArrayDestructor past_hole_values_destroyer - (begin_ptr + old_size_pos + element_count, this->m_holder.alloc(), size_type(0u)); - //Loop for each insertion backwards, first moving the elements after the insertion point, - //then inserting the element. - while(insertions_left){ - if(do_skip){ - size_type n = *(--last_skip_it); - std::advance(last_value_it, -difference_type(n)); - } - const size_type pos = static_cast(*(--last_position_it)); - BOOST_ASSERT(pos <= old_size_pos); - //If needed shift the range after the insertion point and the previous insertion point. - //Function will take care if the shift crosses the size() boundary, using copy/move - //or uninitialized copy/move if necessary. - size_type new_hole_size = (pos != next_pos) - ? priv_insert_ordered_at_shift_range(pos, next_pos, this->size(), insertions_left) - : hole_size - ; - if(new_hole_size > 0){ - //The hole was reduced by priv_insert_ordered_at_shift_range so expand exception rollback range backwards - past_hole_values_destroyer.increment_size_backwards(next_pos - pos); - //Insert the new value in the hole - allocator_traits_type::construct(this->m_holder.alloc(), begin_ptr + pos + insertions_left - 1, *(--last_value_it)); - --new_hole_size; - if(new_hole_size == 0){ - //Hole was just filled, disable exception rollback and change vector size - past_hole_values_destroyer.release(); - this->m_holder.m_size += element_count; - } - else{ - //The hole was reduced by the new insertion by one - past_hole_values_destroyer.increment_size_backwards(size_type(1u)); - } - } - else{ - if(hole_size){ - //Hole was just filled by priv_insert_ordered_at_shift_range, disable exception rollback and change vector size - past_hole_values_destroyer.release(); - this->m_holder.m_size += element_count; - } - //Insert the new value in the already constructed range - begin_ptr[pos + insertions_left - 1] = *(--last_value_it); - } - --insertions_left; - hole_size = new_hole_size; - next_pos = pos; - } + return this->priv_forward_range_insert(this->back_ptr(), n, insert_range_proxy); } //Takes the range pointed by [first_pos, last_pos) and shifts it to the right @@ -2204,7 +2810,7 @@ class vector //| prefix | range | suffix |raw_mem ~ //|____________|_______|__________________|_____________~ // - //New situation in Case Allocator (hole_size == 0): + //New situation in Case A (hole_size == 0): // range is moved through move assignments // // first_pos last_pos limit_pos @@ -2216,7 +2822,7 @@ class vector // |_>_>_>_>_>^ // // - //New situation in Case B (hole_size > 0): + //New situation in Case B (hole_size >= 0): // range is moved through uninitialized moves // // first_pos last_pos limit_pos @@ -2251,14 +2857,14 @@ class vector //Case A: if((last_pos + shift_count) <= limit_pos){ //All move assigned - boost::move_backward(first_ptr, last_ptr, last_ptr + shift_count); + boost::container::move_backward(first_ptr, last_ptr, last_ptr + shift_count); } //Case B: else if((first_pos + shift_count) >= limit_pos){ //All uninitialized_moved ::boost::container::uninitialized_move_alloc (this->m_holder.alloc(), first_ptr, last_ptr, first_ptr + shift_count); - hole_size = last_pos + shift_count - limit_pos; + hole_size = first_pos + shift_count - limit_pos; } //Case C: else{ @@ -2267,7 +2873,7 @@ class vector T* const boundary_ptr = limit_ptr - shift_count; ::boost::container::uninitialized_move_alloc(this->m_holder.alloc(), boundary_ptr, last_ptr, limit_ptr); //The rest is move assigned - boost::move_backward(first_ptr, boundary_ptr, limit_ptr); + boost::container::move_backward(first_ptr, boundary_ptr, limit_ptr); } return hole_size; } @@ -2276,7 +2882,7 @@ class vector template void priv_forward_range_insert_at_end_expand_forward(const size_type n, InsertionProxy insert_range_proxy) { - T* const old_finish = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; + T* const old_finish = this->back_raw(); insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), old_finish, n); this->m_holder.m_size += n; } @@ -2285,9 +2891,9 @@ class vector void priv_forward_range_insert_expand_forward(T* const pos, const size_type n, InsertionProxy insert_range_proxy) { //n can't be 0, because there is nothing to do in that case - if(!n) return; + if(BOOST_UNLIKELY(!n)) return; //There is enough memory - T* const old_finish = container_detail::to_raw_pointer(this->m_holder.start()) + this->m_holder.m_size; + T* const old_finish = this->back_raw(); const size_type elems_after = old_finish - pos; if (!elems_after){ @@ -2301,7 +2907,7 @@ class vector (this->m_holder.alloc(), old_finish - n, old_finish, old_finish); this->m_holder.m_size += n; //Copy previous to last objects to the initialized end - boost::move_backward(pos, old_finish - n, old_finish); + boost::container::move_backward(pos, old_finish - n, old_finish); //Insert new objects in the pos insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), pos, n); } @@ -2449,10 +3055,10 @@ class vector (this->m_holder.alloc(), pos, raw_gap, new_start + before_plus_new); //Now we have a contiguous buffer so program trailing element destruction //and update size to the final size. - old_values_destroyer.shrink_forward(elemsbefore + raw_gap); + old_values_destroyer.shrink_forward(new_size-s_before); this->m_holder.m_size = new_size; //Now move remaining last objects in the old buffer begin - ::boost::move(pos + raw_gap, old_finish, old_start); + ::boost::container::move(pos + raw_gap, old_finish, old_start); //Once moved, avoid calling the destructors if trivial after move if(value_traits::trivial_dctr_after_move){ old_values_destroyer.release(); @@ -2517,30 +3123,33 @@ class vector //Copy the first part of old_begin to raw_mem ::boost::container::uninitialized_move_alloc_n (this->m_holder.alloc(), old_start, s_before, new_start); - //The buffer is all constructed until old_end + //The buffer is all constructed until old_end, + //so program trailing destruction and assign final size + //if !do_after, s_before+n otherwise. + size_type new_1st_range; if(do_after){ + new_1st_range = s_before; //release destroyer and update size old_values_destroyer.release(); - this->m_holder.m_size = old_size + s_before; - //Now copy the second part of old_begin overwriting itself - T *const next = ::boost::move(old_start + s_before, pos, old_start); - //Now copy the new_beg elements - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), next, s_before); } else{ - //The buffer is all constructed until old_end, - //so program trailing destruction and assign final size - this->m_holder.m_size = old_size + n; - const size_type n_destroy = s_before - n; - old_values_destroyer.shrink_forward(old_size - n_destroy); - //Now copy the second part of old_begin overwriting itself - T *const next = ::boost::move(old_start + s_before, pos, old_start); - //Now copy the all the new elements - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), next, n); - //Now displace old_end elements - ::boost::move(pos, old_finish, next + n); + new_1st_range = n; if(value_traits::trivial_dctr_after_move) old_values_destroyer.release(); + else{ + old_values_destroyer.shrink_forward(old_size - (s_before - n)); + } + } + this->m_holder.m_size = old_size + new_1st_range; + //Now copy the second part of old_begin overwriting itself + T *const next = ::boost::container::move(old_start + s_before, pos, old_start); + //Now copy the new_beg elements + insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), next, new_1st_range); + + //If there is no after work and the last old part needs to be moved to front, do it + if(!do_after && (n != s_before)){ + //Now displace old_end elements + ::boost::container::move(pos, old_finish, next + new_1st_range); } } else { @@ -2590,7 +3199,7 @@ class vector insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), old_start, rest_new); T* const move_start = old_start + rest_new; //Displace old_end - T* const move_end = ::boost::move(pos, old_finish, move_start); + T* const move_end = ::boost::container::move(pos, old_finish, move_start); //Destroy remaining moved elements from old_end except if they //have trivial destructor after being moved size_type n_destroy = s_before - n; @@ -2642,7 +3251,7 @@ class vector (this->m_holder.alloc(), finish_n, old_finish, old_finish); this->m_holder.m_size += n_after; //Displace the rest of old_end to the new position - boost::move_backward(pos, finish_n, old_finish); + boost::container::move_backward(pos, finish_n, old_finish); //Now overwrite with new_end //The new_end part is [first + (n - n_after), last) insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), pos, n_after); @@ -2668,30 +3277,15 @@ class vector ::boost::container::uninitialized_move_alloc (this->m_holder.alloc(), pos, old_finish, old_finish + mid_last_dist); - BOOST_TRY{ - //Copy the first part to the already constructed old_end zone - insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), pos, elemsafter); - //Copy the rest to the uninitialized zone filling the gap - insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), old_finish, mid_last_dist); - this->m_holder.m_size += n_after; - } - BOOST_CATCH(...){ - boost::container::destroy_alloc_n(this->get_stored_allocator(), pos, mid_last_dist); - BOOST_RETHROW - } - BOOST_CATCH_END -/* - size_type mid_last_dist = n_after - elemsafter; - //First initialize data in raw memory + typename value_traits::ArrayDestructor old_end_destroyer + (old_finish + mid_last_dist, this->m_holder.alloc(), old_finish - pos); - //The new_end part is [first + (n - n_after), last) - insert_range_proxy.uninitialized_copy_last_and_update(old_finish, elemsafter); - this->m_holder.m_size += mid_last_dist; - ::boost::container::uninitialized_move_alloc - (this->m_holder.alloc(), pos, old_finish, old_finish + mid_last_dist); - this->m_holder.m_size += n_after - mid_last_dist; - //Now copy the part of new_end over constructed elements - insert_range_proxy.copy_remaining_to(pos);*/ + //Copy the first part to the already constructed old_end zone + insert_range_proxy.copy_n_and_update(this->m_holder.alloc(), pos, elemsafter); + //Copy the rest to the uninitialized zone filling the gap + insert_range_proxy.uninitialized_copy_n_and_update(this->m_holder.alloc(), old_finish, mid_last_dist); + this->m_holder.m_size += n_after; + old_end_destroyer.release(); } } } @@ -2717,37 +3311,24 @@ class vector #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED }; -}} +}} //namespace boost::container #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED namespace boost { - //!has_trivial_destructor_after_move<> == true_type //!specialization for optimizations template struct has_trivial_destructor_after_move > - : public ::boost::has_trivial_destructor_after_move -{}; - +{ + typedef typename ::boost::container::allocator_traits::pointer pointer; + static const bool value = ::boost::has_trivial_destructor_after_move::value && + ::boost::has_trivial_destructor_after_move::value; +}; } -//#define BOOST_CONTAINER_PUT_SWAP_OVERLOAD_IN_NAMESPACE_STD - -#ifdef BOOST_CONTAINER_PUT_SWAP_OVERLOAD_IN_NAMESPACE_STD - -namespace std { - -template -inline void swap(boost::container::vector& x, boost::container::vector& y) -{ x.swap(y); } - -} //namespace std { - -#endif - #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED #include diff --git a/3party/boost/boost/context/all.hpp b/3party/boost/boost/context/all.hpp index 6bf7e8f190..152f299089 100644 --- a/3party/boost/boost/context/all.hpp +++ b/3party/boost/boost/context/all.hpp @@ -1,12 +1,13 @@ -// Copyright Oliver Kowalke 2009. +// Copyright Oliver Kowalke 2014. // 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_CONTEXT_ALL_H -#define BOOST_CONTEXT_ALL_H - #include - -#endif // BOOST_CONTEXT_ALL_H +#include +#include +#include +#include +#include +#include diff --git a/3party/boost/boost/context/detail/config.hpp b/3party/boost/boost/context/detail/config.hpp index c30c8f8b84..ea23a5f9db 100644 --- a/3party/boost/boost/context/detail/config.hpp +++ b/3party/boost/boost/context/detail/config.hpp @@ -1,5 +1,5 @@ -// Copyright Oliver Kowalke 2009. +// Copyright Oliver Kowalke 2014. // 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) @@ -7,6 +7,9 @@ #ifndef BOOST_CONTEXT_DETAIL_CONFIG_H #define BOOST_CONTEXT_DETAIL_CONFIG_H +// required for SD-6 compile-time integer sequences +#include + #include #include @@ -37,13 +40,42 @@ #undef BOOST_CONTEXT_CALLDECL #if (defined(i386) || defined(__i386__) || defined(__i386) \ - || defined(__i486__) || defined(__i586__) || defined(__i686__) \ - || defined(__X86__) || defined(_X86_) || defined(__THW_INTEL__) \ - || defined(__I86__) || defined(__INTEL__) || defined(__IA32__) \ - || defined(_M_IX86) || defined(_I86_)) && defined(BOOST_WINDOWS) + || defined(__i486__) || defined(__i586__) || defined(__i686__) \ + || defined(__X86__) || defined(_X86_) || defined(__THW_INTEL__) \ + || defined(__I86__) || defined(__INTEL__) || defined(__IA32__) \ + || defined(_M_IX86) || defined(_I86_)) && defined(BOOST_WINDOWS) # define BOOST_CONTEXT_CALLDECL __cdecl #else # define BOOST_CONTEXT_CALLDECL #endif +#if defined(BOOST_USE_SEGMENTED_STACKS) +# if ! ( (defined(__GNUC__) && __GNUC__ > 3 && __GNUC_MINOR__ > 6) || \ + (defined(__clang__) && __clang_major__ > 2 && __clang_minor__ > 3) ) +# error "compiler does not support segmented_stack stacks" +# endif +# define BOOST_CONTEXT_SEGMENTS 10 +#endif + +#undef BOOST_CONTEXT_NO_EXECUTION_CONTEXT +#if defined(BOOST_NO_CXX11_DECLTYPE) || \ + defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) || \ + defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS) || \ + defined(BOOST_NO_CXX11_HDR_TUPLE) || \ + defined(BOOST_NO_CXX11_LAMBDAS) || \ + defined(BOOST_NO_CXX11_NOEXCEPT) || \ + defined(BOOST_NO_CXX11_NULLPTR) || \ + defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) || \ + defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + defined(BOOST_NO_CXX11_VARIADIC_MACROS) || \ + defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || \ + defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES) || \ + ! defined(__cpp_lib_integer_sequence) && __cpp_lib_integer_sequence < 201304 +# define BOOST_CONTEXT_NO_EXECUTION_CONTEXT +#endif +// workaroud: MSVC 14 does not provide macros to test for compile-time integer sequence +#if _MSC_VER > 1800 // _MSC_VER == 1800 -> MS Visual Studio 2013 +# undef BOOST_CONTEXT_NO_EXECUTION_CONTEXT +#endif + #endif // BOOST_CONTEXT_DETAIL_CONFIG_H diff --git a/3party/boost/boost/context/detail/invoke.hpp b/3party/boost/boost/context/detail/invoke.hpp new file mode 100644 index 0000000000..aba05d5cfb --- /dev/null +++ b/3party/boost/boost/context/detail/invoke.hpp @@ -0,0 +1,48 @@ + +// Copyright Oliver Kowalke 2014. +// 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_CONTEXT_DETAIL_INVOKE_H +#define BOOST_CONTEXT_DETAIL_INVOKE_H + +#include +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace context { +namespace detail { + +template< typename Fn, typename... Args > +typename std::enable_if< + std::is_member_pointer< typename std::decay< Fn >::type >::value, + typename std::result_of< Fn&&( Args && ...) >::type +>::type +invoke( Fn && fn, Args && ... args) { + return std::mem_fn( fn)( std::forward< Args >( args) ...); +} + +template< typename Fn, typename ... Args > +typename std::enable_if< + ! std::is_member_pointer< typename std::decay< Fn >::type >::value, + typename std::result_of< Fn&&( Args && ...) >::type +>::type +invoke( Fn && fn, Args && ... args) { + return std::forward< Fn >( fn)( std::forward< Args >( args) ...); +} + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +#include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_CONTEXT_DETAIL_INVOKE_H diff --git a/3party/boost/boost/context/execution_context.hpp b/3party/boost/boost/context/execution_context.hpp new file mode 100644 index 0000000000..97b1d4e70a --- /dev/null +++ b/3party/boost/boost/context/execution_context.hpp @@ -0,0 +1,11 @@ + +// Copyright Oliver Kowalke 2014. +// 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) + +#if defined(BOOST_USE_WINFIBERS) +#include +#else +#include +#endif diff --git a/3party/boost/boost/context/execution_context.ipp b/3party/boost/boost/context/execution_context.ipp new file mode 100644 index 0000000000..c0a3d91890 --- /dev/null +++ b/3party/boost/boost/context/execution_context.ipp @@ -0,0 +1,374 @@ + +// Copyright Oliver Kowalke 2014. +// 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_CONTEXT_EXECUTION_CONTEXT_H +#define BOOST_CONTEXT_EXECUTION_CONTEXT_H + +#include + +#if ! defined(BOOST_CONTEXT_NO_EXECUTION_CONTEXT) + +# include +# include +# include +# include +# include +# include +# include +# include + +# include +# include +# include +# include + +# include +# include +# include + +# ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +# endif + +# if defined(BOOST_USE_SEGMENTED_STACKS) +extern "C" { + +void __splitstack_getcontext( void * [BOOST_CONTEXT_SEGMENTS]); + +void __splitstack_setcontext( void * [BOOST_CONTEXT_SEGMENTS]); + +} +# endif + +namespace boost { +namespace context { + +struct preallocated { + void * sp; + std::size_t size; + stack_context sctx; + + preallocated( void * sp_, std::size_t size_, stack_context sctx_) noexcept : + sp( sp_), size( size_), sctx( sctx_) { + } +}; + +class BOOST_CONTEXT_DECL execution_context { +private: + struct activation_record { + typedef boost::intrusive_ptr< activation_record > ptr_t; + + enum flag_t { + flag_main_ctx = 1 << 1, + flag_preserve_fpu = 1 << 2, + flag_segmented_stack = 1 << 3 + }; + + thread_local static activation_record toplevel_rec; + thread_local static ptr_t current_rec; + + std::size_t use_count; + fcontext_t fctx; + stack_context sctx; + int flags; + + // used for toplevel-context + // (e.g. main context, thread-entry context) + activation_record() noexcept : + use_count( 1), + fctx( nullptr), + sctx(), + flags( flag_main_ctx) { + } + + activation_record( fcontext_t fctx_, stack_context sctx_, bool use_segmented_stack) noexcept : + use_count( 0), + fctx( fctx_), + sctx( sctx_), + flags( use_segmented_stack ? flag_segmented_stack : 0) { + } + + virtual ~activation_record() noexcept = default; + + void resume( bool fpu = false) noexcept { + // store current activation record in local variable + activation_record * from = current_rec.get(); + // store `this` in static, thread local pointer + // `this` will become the active (running) context + // returned by execution_context::current() + current_rec = this; + // set FPU flag + if (fpu) { + from->flags |= flag_preserve_fpu; + this->flags |= flag_preserve_fpu; + } else { + from->flags &= ~flag_preserve_fpu; + this->flags &= ~flag_preserve_fpu; + } +# if defined(BOOST_USE_SEGMENTED_STACKS) + if ( 0 != (flags & flag_segmented_stack) ) { + // adjust segmented stack properties + __splitstack_getcontext( from->sctx.segments_ctx); + __splitstack_setcontext( sctx.segments_ctx); + // context switch from parent context to `this`-context + jump_fcontext( & from->fctx, fctx, reinterpret_cast< intptr_t >( this), fpu); + // parent context resumed + // adjust segmented stack properties + __splitstack_setcontext( from->sctx.segments_ctx); + } else { + // context switch from parent context to `this`-context + jump_fcontext( & from->fctx, fctx, reinterpret_cast< intptr_t >( this), fpu); + // parent context resumed + } +# else + // context switch from parent context to `this`-context + jump_fcontext( & from->fctx, fctx, reinterpret_cast< intptr_t >( this), fpu); + // parent context resumed +# endif + } + + virtual void deallocate() {} + + friend void intrusive_ptr_add_ref( activation_record * ar) { + ++ar->use_count; + } + + friend void intrusive_ptr_release( activation_record * ar) { + BOOST_ASSERT( nullptr != ar); + + if ( 0 == --ar->use_count) { + ar->deallocate(); + } + } + }; + + template< typename Fn, typename StackAlloc > + class capture_record : public activation_record { + private: + StackAlloc salloc_; + Fn fn_; + + static void destroy( capture_record * p) { + StackAlloc salloc( p->salloc_); + stack_context sctx( p->sctx); + // deallocate activation record + p->~capture_record(); + // destroy stack with stack allocator + salloc.deallocate( sctx); + } + + public: + explicit capture_record( stack_context sctx, StackAlloc const& salloc, fcontext_t fctx, Fn && fn, bool use_segmented_stack) noexcept : + activation_record( fctx, sctx, use_segmented_stack), + salloc_( salloc), + fn_( std::forward< Fn >( fn) ) { + } + + void deallocate() override final { + destroy( this); + } + + void run() noexcept { + try { + fn_(); + } catch (...) { + std::terminate(); + } + BOOST_ASSERT( 0 == (flags & flag_main_ctx) ); + } + }; + + // tampoline function + // entered if the execution context + // is resumed for the first time + template< typename AR > + static void entry_func( intptr_t p) noexcept { + BOOST_ASSERT( 0 != p); + + AR * ar( reinterpret_cast< AR * >( p) ); + BOOST_ASSERT( nullptr != ar); + + // start execution of toplevel context-function + ar->run(); + } + + typedef boost::intrusive_ptr< activation_record > ptr_t; + + ptr_t ptr_; + + template< typename StackAlloc, typename Fn > + static activation_record * create_context( StackAlloc salloc, Fn && fn, bool use_segmented_stack) { + typedef capture_record< Fn, StackAlloc > capture_t; + + stack_context sctx( salloc.allocate() ); + // reserve space for control structure +#if defined(BOOST_NO_CXX14_CONSTEXPR) || defined(BOOST_NO_CXX11_STD_ALIGN) + std::size_t size = sctx.size - sizeof( capture_t); + void * sp = static_cast< char * >( sctx.sp) - sizeof( capture_t); +#else + constexpr std::size_t func_alignment = 64; // alignof( capture_t); + constexpr std::size_t func_size = sizeof( capture_t); + // reserve space on stack + void * sp = static_cast< char * >( sctx.sp) - func_size - func_alignment; + // align sp pointer + std::size_t space = func_size + func_alignment; + sp = std::align( func_alignment, func_size, sp, space); + BOOST_ASSERT( nullptr != sp); + // calculate remaining size + std::size_t size = sctx.size - ( static_cast< char * >( sctx.sp) - static_cast< char * >( sp) ); +#endif + // create fast-context + fcontext_t fctx = make_fcontext( sp, size, & execution_context::entry_func< capture_t >); + BOOST_ASSERT( nullptr != fctx); + // placment new for control structure on fast-context stack + return new ( sp) capture_t( sctx, salloc, fctx, std::forward< Fn >( fn), use_segmented_stack); + } + + template< typename StackAlloc, typename Fn > + static activation_record * create_context( preallocated palloc, StackAlloc salloc, Fn && fn, bool use_segmented_stack) { + typedef capture_record< Fn, StackAlloc > capture_t; + + // reserve space for control structure +#if defined(BOOST_NO_CXX14_CONSTEXPR) || defined(BOOST_NO_CXX11_STD_ALIGN) + std::size_t size = palloc.size - sizeof( capture_t); + void * sp = static_cast< char * >( palloc.sp) - sizeof( capture_t); +#else + constexpr std::size_t func_alignment = 64; // alignof( capture_t); + constexpr std::size_t func_size = sizeof( capture_t); + // reserve space on stack + void * sp = static_cast< char * >( palloc.sp) - func_size - func_alignment; + // align sp pointer + std::size_t space = func_size + func_alignment; + sp = std::align( func_alignment, func_size, sp, space); + BOOST_ASSERT( nullptr != sp); + // calculate remaining size + std::size_t size = palloc.size - ( static_cast< char * >( palloc.sp) - static_cast< char * >( sp) ); +#endif + // create fast-context + fcontext_t fctx = make_fcontext( sp, size, & execution_context::entry_func< capture_t >); + BOOST_ASSERT( nullptr != fctx); + // placment new for control structure on fast-context stack + return new ( sp) capture_t( palloc.sctx, salloc, fctx, std::forward< Fn >( fn), use_segmented_stack); + } + + template< typename StackAlloc, typename Fn, typename Tpl, std::size_t ... I > + static activation_record * create_capture_record( StackAlloc salloc, + Fn && fn_, Tpl && tpl_, + std::index_sequence< I ... >, + bool use_segmented_stack) { + return create_context( + salloc, + // lambda, executed in new execution context + [fn=std::forward< Fn >( fn_),tpl=std::forward< Tpl >( tpl_)] () mutable -> decltype( auto) { + detail::invoke( fn, + // non-type template parameter pack used to extract the + // parameters (arguments) from the tuple and pass them to fn + // via parameter pack expansion + // std::tuple_element<> does not perfect forwarding + std::forward< decltype( std::get< I >( std::declval< Tpl >() ) ) >( + std::get< I >( std::forward< Tpl >( tpl) ) ) ... ); + }, + use_segmented_stack); + } + + template< typename StackAlloc, typename Fn, typename Tpl, std::size_t ... I > + static activation_record * create_capture_record( preallocated palloc, StackAlloc salloc, + Fn && fn_, Tpl && tpl_, + std::index_sequence< I ... >, + bool use_segmented_stack) { + return create_context( + palloc, salloc, + // lambda, executed in new execution context + [fn=std::forward< Fn >( fn_),tpl=std::forward< Tpl >( tpl_)] () mutable -> decltype( auto) { + detail::invoke( fn, + // non-type template parameter pack used to extract the + // parameters (arguments) from the tuple and pass them to fn + // via parameter pack expansion + // std::tuple_element<> does not perfect forwarding + std::forward< decltype( std::get< I >( std::declval< Tpl >() ) ) >( + std::get< I >( std::forward< Tpl >( tpl) ) ) ... ); + }, + use_segmented_stack); + } + + execution_context() : + // default constructed with current activation_record + ptr_( activation_record::current_rec) { + } + +public: + static execution_context current() noexcept { + return execution_context(); + } + +# if defined(BOOST_USE_SEGMENTED_STACKS) + template< typename Fn, typename ... Args > + explicit execution_context( segmented_stack salloc, Fn && fn, Args && ... args) : + // deferred execution of fn and its arguments + // arguments are stored in std::tuple<> + // non-type template parameter pack via std::index_sequence_for<> + // preserves the number of arguments + // used to extract the function arguments from std::tuple<> + ptr_( create_capture_record( salloc, + std::forward< Fn >( fn), + std::make_tuple( std::forward< Args >( args) ... ), + std::index_sequence_for< Args ... >(), true) ) { + } + + template< typename Fn, typename ... Args > + explicit execution_context( preallocated palloc, segmented_stack salloc, Fn && fn, Args && ... args) : + // deferred execution of fn and its arguments + // arguments are stored in std::tuple<> + // non-type template parameter pack via std::index_sequence_for<> + // preserves the number of arguments + // used to extract the function arguments from std::tuple<> + ptr_( create_capture_record( palloc, salloc, + std::forward< Fn >( fn), + std::make_tuple( std::forward< Args >( args) ... ), + std::index_sequence_for< Args ... >(), true) ) { + } +# endif + + template< typename StackAlloc, typename Fn, typename ... Args > + explicit execution_context( StackAlloc salloc, Fn && fn, Args && ... args) : + // deferred execution of fn and its arguments + // arguments are stored in std::tuple<> + // non-type template parameter pack via std::index_sequence_for<> + // preserves the number of arguments + // used to extract the function arguments from std::tuple<> + ptr_( create_capture_record( salloc, + std::forward< Fn >( fn), + std::make_tuple( std::forward< Args >( args) ... ), + std::index_sequence_for< Args ... >(), false) ) { + } + + template< typename StackAlloc, typename Fn, typename ... Args > + explicit execution_context( preallocated palloc, StackAlloc salloc, Fn && fn, Args && ... args) : + // deferred execution of fn and its arguments + // arguments are stored in std::tuple<> + // non-type template parameter pack via std::index_sequence_for<> + // preserves the number of arguments + // used to extract the function arguments from std::tuple<> + ptr_( create_capture_record( palloc, salloc, + std::forward< Fn >( fn), + std::make_tuple( std::forward< Args >( args) ... ), + std::index_sequence_for< Args ... >(), false) ) { + } + + void operator()( bool preserve_fpu = false) noexcept { + ptr_->resume( preserve_fpu); + } +}; + +}} + +# ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +# endif + +#endif + +#endif // BOOST_CONTEXT_EXECUTION_CONTEXT_H diff --git a/3party/boost/boost/context/execution_context_winfib.ipp b/3party/boost/boost/context/execution_context_winfib.ipp new file mode 100644 index 0000000000..8f0bbb55e3 --- /dev/null +++ b/3party/boost/boost/context/execution_context_winfib.ipp @@ -0,0 +1,308 @@ + +// Copyright Oliver Kowalke 2014. +// 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_CONTEXT_EXECUTION_CONTEXT_H +#define BOOST_CONTEXT_EXECUTION_CONTEXT_H + +#include + +#if ! defined(BOOST_CONTEXT_NO_EXECUTION_CONTEXT) + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace context { + +struct preallocated { + void * sp; + std::size_t size; + stack_context sctx; + + preallocated( void * sp_, std::size_t size_, stack_context sctx_) noexcept : + sp( sp_), size( size_), sctx( sctx_) { + } +}; + +class BOOST_CONTEXT_DECL execution_context { +private: + struct activation_record { + typedef boost::intrusive_ptr< activation_record > ptr_t; + + enum flag_t { + flag_main_ctx = 1 << 1, + flag_preserve_fpu = 1 << 2, + flag_segmented_stack = 1 << 3 + }; + + thread_local static activation_record toplevel_rec; + thread_local static ptr_t current_rec; + + std::size_t use_count; + LPVOID fiber; + stack_context sctx; + int flags; + + // used for toplevel-context + // (e.g. main context, thread-entry context) + activation_record() noexcept : + use_count( 1), + fiber( nullptr), + sctx(), + flags( flag_main_ctx) { + } + + activation_record( stack_context sctx_, bool use_segmented_stack) noexcept : + use_count( 0), + fiber( nullptr), + sctx( sctx_), + flags( use_segmented_stack ? flag_segmented_stack : 0) { + } + + virtual ~activation_record() noexcept = default; + + void resume() noexcept { + // store current activation record in local variable + activation_record * from = current_rec.get(); + // store `this` in static, thread local pointer + // `this` will become the active (running) context + // returned by execution_context::current() + current_rec = this; + // context switch from parent context to `this`-context +#if ( _WIN32_WINNT > 0x0600) + if ( ::IsThreadAFiber() ) { + from->fiber = ::GetCurrentFiber(); + } else { + from->fiber = ::ConvertThreadToFiber( nullptr); + } +#else + from->fiber = ::ConvertThreadToFiber( nullptr); + if ( nullptr == from->fiber) { + DWORD err = ::GetLastError(); + BOOST_ASSERT( ERROR_ALREADY_FIBER == err); + from->fiber = ::GetCurrentFiber(); + BOOST_ASSERT( nullptr != from->fiber); + BOOST_ASSERT( reinterpret_cast< LPVOID >( 0x1E00) != from->fiber); + } +#endif + ::SwitchToFiber( fiber); + } + + virtual void deallocate() {} + + friend void intrusive_ptr_add_ref( activation_record * ar) { + ++ar->use_count; + } + + friend void intrusive_ptr_release( activation_record * ar) { + BOOST_ASSERT( nullptr != ar); + + if ( 0 == --ar->use_count) { + ar->deallocate(); + } + } + }; + + template< typename Fn, typename StackAlloc > + class capture_record : public activation_record { + private: + StackAlloc salloc_; + Fn fn_; + + static void destroy( capture_record * p) { + StackAlloc salloc( p->salloc_); + stack_context sctx( p->sctx); + // deallocate activation record + p->~capture_record(); + // destroy stack with stack allocator + salloc.deallocate( sctx); + } + + public: + explicit capture_record( stack_context sctx, StackAlloc const& salloc, Fn && fn, bool use_segmented_stack) noexcept : + activation_record( sctx, use_segmented_stack), + salloc_( salloc), + fn_( std::forward< Fn >( fn) ) { + } + + void deallocate() override final { + destroy( this); + } + + void run() noexcept { + try { + fn_(); + } catch (...) { + std::terminate(); + } + BOOST_ASSERT( 0 == (flags & flag_main_ctx) ); + } + }; + + // tampoline function + // entered if the execution context + // is resumed for the first time + template< typename AR > + static VOID WINAPI entry_func( LPVOID p) { + BOOST_ASSERT( 0 != p); + + AR * ar( reinterpret_cast< AR * >( p) ); + // start execution of toplevel context-function + ar->run(); + //ctx->fn_(ctx->param_); + ::DeleteFiber( ar->fiber); + } + + typedef boost::intrusive_ptr< activation_record > ptr_t; + + ptr_t ptr_; + + template< typename StackAlloc, typename Fn > + static activation_record * create_context( StackAlloc salloc, Fn && fn, bool use_segmented_stack) { + typedef capture_record< Fn, StackAlloc > capture_t; + + // hackish + std::size_t fsize = salloc.size_; + salloc.size_ = sizeof( capture_t); + + stack_context sctx( salloc.allocate() ); + // reserve space for control structure + void * sp = static_cast< char * >( sctx.sp) - sizeof( capture_t); + // placment new for control structure on fast-context stack + capture_t * cr = new ( sp) capture_t( sctx, salloc, std::forward< Fn >( fn), use_segmented_stack); + // create fiber + // use default stacksize + cr->fiber = ::CreateFiber( fsize, execution_context::entry_func< capture_t >, cr); + BOOST_ASSERT( nullptr != cr->fiber); + return cr; + } + + template< typename StackAlloc, typename Fn > + static activation_record * create_context( preallocated palloc, StackAlloc salloc, Fn && fn, bool use_segmented_stack) { + typedef capture_record< Fn, StackAlloc > capture_t; + + // hackish + std::size_t fsize = salloc.size_; + salloc.size_ = sizeof( capture_t); + + // reserve space for control structure + void * sp = static_cast< char * >( palloc.sp) - sizeof( capture_t); + // placment new for control structure on fast-context stack + capture_t * cr = new ( sp) capture_t( palloc.sctx, salloc, std::forward< Fn >( fn), use_segmented_stack); + // create fiber + // use default stacksize + cr->fiber = ::CreateFiber( fsize, execution_context::entry_func< capture_t >, cr); + BOOST_ASSERT( nullptr != cr->fiber); + return cr; + } + + template< typename StackAlloc, typename Fn, typename Tpl, std::size_t ... I > + static activation_record * create_capture_record( StackAlloc salloc, + Fn && fn_, Tpl && tpl_, + std::index_sequence< I ... >, + bool use_segmented_stack) { + return create_context( + salloc, + // lambda, executed in new execution context + [fn=std::forward< Fn >( fn_),tpl=std::forward< Tpl >( tpl_)] () mutable -> decltype( auto) { + detail::invoke( fn, + // non-type template parameter pack used to extract the + // parameters (arguments) from the tuple and pass them to fn + // via parameter pack expansion + // std::tuple_element<> does not perfect forwarding + std::forward< decltype( std::get< I >( std::declval< Tpl >() ) ) >( + std::get< I >( std::forward< Tpl >( tpl) ) ) ... ); + }, + use_segmented_stack); + } + + template< typename StackAlloc, typename Fn, typename Tpl, std::size_t ... I > + static activation_record * create_capture_record( preallocated palloc, StackAlloc salloc, + Fn && fn_, Tpl && tpl_, + std::index_sequence< I ... >, + bool use_segmented_stack) { + return create_context( + palloc, salloc, + // lambda, executed in new execution context + [fn=std::forward< Fn >( fn_),tpl=std::forward< Tpl >( tpl_)] () mutable -> decltype( auto) { + detail::invoke( fn, + // non-type template parameter pack used to extract the + // parameters (arguments) from the tuple and pass them to fn + // via parameter pack expansion + // std::tuple_element<> does not perfect forwarding + std::forward< decltype( std::get< I >( std::declval< Tpl >() ) ) >( + std::get< I >( std::forward< Tpl >( tpl) ) ) ... ); + }, + use_segmented_stack); + } + + execution_context() : + // default constructed with current activation_record + ptr_( activation_record::current_rec) { + } + +public: + static execution_context current() noexcept { + return execution_context(); + } + + template< typename StackAlloc, typename Fn, typename ... Args > + explicit execution_context( StackAlloc salloc, Fn && fn, Args && ... args) : + // deferred execution of fn and its arguments + // arguments are stored in std::tuple<> + // non-type template parameter pack via std::index_sequence_for<> + // preserves the number of arguments + // used to extract the function arguments from std::tuple<> + ptr_( create_capture_record( salloc, + std::forward< Fn >( fn), + std::make_tuple( std::forward< Args >( args) ... ), + std::index_sequence_for< Args ... >(), false) ) { + } + + template< typename StackAlloc, typename Fn, typename ... Args > + explicit execution_context( preallocated palloc, StackAlloc salloc, Fn && fn, Args && ... args) : + // deferred execution of fn and its arguments + // arguments are stored in std::tuple<> + // non-type template parameter pack via std::index_sequence_for<> + // preserves the number of arguments + // used to extract the function arguments from std::tuple<> + ptr_( create_capture_record( palloc, salloc, + std::forward< Fn >( fn), + std::make_tuple( std::forward< Args >( args) ... ), + std::index_sequence_for< Args ... >(), false) ) { + } + + void operator()( bool preserve_fpu = false) noexcept { + ptr_->resume(); + } +}; + +}} + +# ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +# endif + +#endif + +#endif // BOOST_CONTEXT_EXECUTION_CONTEXT_H diff --git a/3party/boost/boost/context/fcontext.hpp b/3party/boost/boost/context/fcontext.hpp index d054df290c..2ebcd46e38 100644 --- a/3party/boost/boost/context/fcontext.hpp +++ b/3party/boost/boost/context/fcontext.hpp @@ -31,7 +31,7 @@ typedef void* fcontext_t; extern "C" BOOST_CONTEXT_DECL intptr_t BOOST_CONTEXT_CALLDECL jump_fcontext( fcontext_t * ofc, fcontext_t nfc, - intptr_t vp, bool preserve_fpu = true); + intptr_t vp, bool preserve_fpu = false); extern "C" BOOST_CONTEXT_DECL fcontext_t BOOST_CONTEXT_CALLDECL make_fcontext( void * sp, std::size_t size, void (* fn)( intptr_t) ); diff --git a/3party/boost/boost/context/fixedsize_stack.hpp b/3party/boost/boost/context/fixedsize_stack.hpp new file mode 100644 index 0000000000..ab19609e87 --- /dev/null +++ b/3party/boost/boost/context/fixedsize_stack.hpp @@ -0,0 +1,87 @@ + +// Copyright Oliver Kowalke 2014. +// 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_CONTEXT_FIXEDSIZE_H +#define BOOST_CONTEXT_FIXEDSIZE_H + +#include +#include +#include + +#include +#include + +#include +#include +#include + +#if defined(BOOST_USE_VALGRIND) +#include +#endif + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace context { + +template< typename traitsT > +class basic_fixedsize_stack { +private: +#if defined(BOOST_USE_WINFIBERS) + friend class execution_context; +#endif + + std::size_t size_; + +public: + typedef traitsT traits_type; + + basic_fixedsize_stack( std::size_t size = traits_type::default_size() ) : + size_( size) { + BOOST_ASSERT( traits_type::minimum_size() <= size_); + BOOST_ASSERT( traits_type::is_unbounded() || ( traits_type::maximum_size() >= size_) ); + } + + stack_context allocate() { + void * vp = std::malloc( size_); + if ( ! vp) throw std::bad_alloc(); + + stack_context sctx; + sctx.size = size_; + sctx.sp = static_cast< char * >( vp) + sctx.size; +#if defined(BOOST_USE_VALGRIND) + sctx.valgrind_stack_id = VALGRIND_STACK_REGISTER( sctx.sp, vp); +#endif + return sctx; + } + + void deallocate( stack_context & sctx) { + BOOST_ASSERT( sctx.sp); +#if defined(BOOST_USE_WINFIBERS) + BOOST_ASSERT( traits_type::minimum_size() <= sctx.size); + BOOST_ASSERT( traits_type::is_unbounded() || ( traits_type::maximum_size() >= sctx.size) ); +#endif + +#if defined(BOOST_USE_VALGRIND) + VALGRIND_STACK_DEREGISTER( sctx.valgrind_stack_id); +#endif + + void * vp = static_cast< char * >( sctx.sp) - sctx.size; + std::free( vp); + } +}; + +typedef basic_fixedsize_stack< stack_traits > fixedsize_stack; + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_CONTEXT_FIXEDSIZE_H diff --git a/3party/boost/boost/context/posix/protected_fixedsize_stack.hpp b/3party/boost/boost/context/posix/protected_fixedsize_stack.hpp new file mode 100644 index 0000000000..b01d6a5d68 --- /dev/null +++ b/3party/boost/boost/context/posix/protected_fixedsize_stack.hpp @@ -0,0 +1,112 @@ + +// Copyright Oliver Kowalke 2014. +// 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_CONTEXT_PROTECTED_FIXEDSIZE_H +#define BOOST_CONTEXT_PROTECTED_FIXEDSIZE_H + +extern "C" { +#include +#include +#include +#include +} + +#include +#include +#include + +#include +#include + +#include +#include +#include + +#if defined(BOOST_USE_VALGRIND) +#include +#endif + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace context { + +template< typename traitsT > +class basic_protected_fixedsize_stack { +private: + std::size_t size_; + +public: + typedef traitsT traits_type; + + basic_protected_fixedsize_stack( std::size_t size = traits_type::default_size() ) : + size_( size) { + BOOST_ASSERT( traits_type::minimum_size() <= size_); + BOOST_ASSERT( traits_type::is_unbounded() || ( traits_type::maximum_size() >= size_) ); + } + + stack_context allocate() { + // page at bottom will be used as guard-page + const std::size_t pages( + static_cast< std::size_t >( + std::floor( + static_cast< float >( size_) / traits_type::page_size() ) ) ); + BOOST_ASSERT_MSG( 2 <= pages, "at least two pages must fit into stack (one page is guard-page)"); + const std::size_t size__( pages * traits_type::page_size() ); + BOOST_ASSERT( 0 < size_ && 0 < size__); + BOOST_ASSERT( size__ <= size_); + + // conform to POSIX.4 (POSIX.1b-1993, _POSIX_C_SOURCE=199309L) +#if defined(MAP_ANON) + void * vp = ::mmap( 0, size__, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANON, -1, 0); +#else + void * vp = ::mmap( 0, size__, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); +#endif + if ( MAP_FAILED == vp) throw std::bad_alloc(); + + // conforming to POSIX.1-2001 +#if defined(BOOST_DISABLE_ASSERTS) + ::mprotect( vp, traits_type::page_size(), PROT_NONE); +#else + const int result( ::mprotect( vp, traits_type::page_size(), PROT_NONE) ); + BOOST_ASSERT( 0 == result); +#endif + + stack_context sctx; + sctx.size = size__; + sctx.sp = static_cast< char * >( vp) + sctx.size; +#if defined(BOOST_USE_VALGRIND) + sctx.valgrind_stack_id = VALGRIND_STACK_REGISTER( sctx.sp, vp); +#endif + return sctx; + } + + void deallocate( stack_context & sctx) { + BOOST_ASSERT( sctx.sp); + BOOST_ASSERT( traits_type::minimum_size() <= sctx.size); + BOOST_ASSERT( traits_type::is_unbounded() || ( traits_type::maximum_size() >= sctx.size) ); + +#if defined(BOOST_USE_VALGRIND) + VALGRIND_STACK_DEREGISTER( sctx.valgrind_stack_id); +#endif + + void * vp = static_cast< char * >( sctx.sp) - sctx.size; + // conform to POSIX.4 (POSIX.1b-1993, _POSIX_C_SOURCE=199309L) + ::munmap( vp, sctx.size); + } +}; + +typedef basic_protected_fixedsize_stack< stack_traits > protected_fixedsize_stack; + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_CONTEXT_PROTECTED_FIXEDSIZE_H diff --git a/3party/boost/boost/context/posix/segmented_stack.hpp b/3party/boost/boost/context/posix/segmented_stack.hpp new file mode 100644 index 0000000000..f4a32d7394 --- /dev/null +++ b/3party/boost/boost/context/posix/segmented_stack.hpp @@ -0,0 +1,81 @@ + +// Copyright Oliver Kowalke 2014. +// 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_CONTEXT_SEGMENTED_H +#define BOOST_CONTEXT_SEGMENTED_H + +#include +#include + +#include + +#include +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +// forward declaration for splitstack-functions defined in libgcc +extern "C" { +void *__splitstack_makecontext( std::size_t, + void * [BOOST_CONTEXT_SEGMENTS], + std::size_t *); + +void __splitstack_releasecontext( void * [BOOST_CONTEXT_SEGMENTS]); + +void __splitstack_resetcontext( void * [BOOST_CONTEXT_SEGMENTS]); + +void __splitstack_block_signals_context( void * [BOOST_CONTEXT_SEGMENTS], + int * new_value, int * old_value); +} + +namespace boost { +namespace context { + +template< typename traitsT > +class basic_segmented_stack { +private: + std::size_t size_; + +public: + typedef traitsT traits_type; + + basic_segmented_stack( std::size_t size = traits_type::default_size() ) : + size_( size) { + BOOST_ASSERT( traits_type::minimum_size() <= size_); + BOOST_ASSERT( traits_type::is_unbounded() || ( traits_type::maximum_size() >= size_) ); + } + + stack_context allocate() { + stack_context sctx; + void * vp = __splitstack_makecontext( size_, sctx.segments_ctx, & sctx.size); + if ( ! vp) throw std::bad_alloc(); + + // sctx.size is already filled by __splitstack_makecontext + sctx.sp = static_cast< char * >( vp) + sctx.size; + + int off = 0; + __splitstack_block_signals_context( sctx.segments_ctx, & off, 0); + + return sctx; + } + + void deallocate( stack_context & sctx) { + __splitstack_releasecontext( sctx.segments_ctx); + } +}; + +typedef basic_segmented_stack< stack_traits > segmented_stack; + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_CONTEXT_SEGMENTED_H diff --git a/3party/boost/boost/context/protected_fixedsize_stack.hpp b/3party/boost/boost/context/protected_fixedsize_stack.hpp new file mode 100644 index 0000000000..a05aa73fe9 --- /dev/null +++ b/3party/boost/boost/context/protected_fixedsize_stack.hpp @@ -0,0 +1,13 @@ + +// Copyright Oliver Kowalke 2014. +// 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) + +#include + +#if defined(BOOST_WINDOWS) +# include +#else +# include +#endif diff --git a/3party/boost/boost/context/segmented_stack.hpp b/3party/boost/boost/context/segmented_stack.hpp new file mode 100644 index 0000000000..88e3e6a61f --- /dev/null +++ b/3party/boost/boost/context/segmented_stack.hpp @@ -0,0 +1,13 @@ + +// Copyright Oliver Kowalke 2014. +// 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) + +#include + +#if defined(BOOST_USE_SEGMENTED_STACKS) +# if ! defined(BOOST_WINDOWS) +# include +# endif +#endif diff --git a/3party/boost/boost/context/stack_context.hpp b/3party/boost/boost/context/stack_context.hpp new file mode 100644 index 0000000000..48863b3bc8 --- /dev/null +++ b/3party/boost/boost/context/stack_context.hpp @@ -0,0 +1,67 @@ + +// Copyright Oliver Kowalke 2014. +// 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_CONTEXT_STACK_CONTEXT_H +#define BOOST_CONTEXT_STACK_CONTEXT_H + +#include + +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace context { + +#if defined(BOOST_USE_SEGMENTED_STACKS) +struct stack_context { + typedef void * segments_context[BOOST_CONTEXT_SEGMENTS]; + + std::size_t size; + void * sp; + segments_context segments_ctx; +#if defined(BOOST_USE_VALGRIND) + unsigned valgrind_stack_id; +#endif + + stack_context() : + size( 0), + sp( 0), + segments_ctx() +#if defined(BOOST_USE_VALGRIND) + , valgrind_stack_id( 0) +#endif + {} +}; +#else +struct stack_context { + std::size_t size; + void * sp; +#if defined(BOOST_USE_VALGRIND) + unsigned valgrind_stack_id; +#endif + + stack_context() : + size( 0), + sp( 0) +#if defined(BOOST_USE_VALGRIND) + , valgrind_stack_id( 0) +#endif + {} +}; +#endif + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_CONTEXT_STACK_CONTEXT_H diff --git a/3party/boost/boost/context/stack_traits.hpp b/3party/boost/boost/context/stack_traits.hpp new file mode 100644 index 0000000000..9b8a70636d --- /dev/null +++ b/3party/boost/boost/context/stack_traits.hpp @@ -0,0 +1,42 @@ + +// Copyright Oliver Kowalke 2014. +// 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_CONTEXT_STACK_TRAITS_H +#define BOOST_CONTEXT_STACK_TRAITS_H + +#include + +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace context { + +struct BOOST_CONTEXT_DECL stack_traits +{ + static bool is_unbounded() BOOST_NOEXCEPT; + + static std::size_t page_size() BOOST_NOEXCEPT; + + static std::size_t default_size() BOOST_NOEXCEPT; + + static std::size_t minimum_size() BOOST_NOEXCEPT; + + static std::size_t maximum_size() BOOST_NOEXCEPT; +}; + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_CONTEXT_STACK_TRAITS_H diff --git a/3party/boost/boost/context/windows/protected_fixedsize_stack.hpp b/3party/boost/boost/context/windows/protected_fixedsize_stack.hpp new file mode 100644 index 0000000000..9721cb76a3 --- /dev/null +++ b/3party/boost/boost/context/windows/protected_fixedsize_stack.hpp @@ -0,0 +1,99 @@ + +// Copyright Oliver Kowalke 2014. +// 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_CONTEXT_PROTECTED_FIXEDSIZE_H +#define BOOST_CONTEXT_PROTECTED_FIXEDSIZE_H + +extern "C" { +#include +} + +#include +#include +#include + +#include + +#include +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace context { + +template< typename traitsT > +class basic_protected_fixedsize_stack { +private: +#if defined(BOOST_USE_WINFIBERS) + friend class execution_context; +#endif + + std::size_t size_; + +public: + typedef traitsT traits_type; + + basic_protected_fixedsize_stack( std::size_t size = traits_type::default_size() ) : + size_( size) { + BOOST_ASSERT( traits_type::minimum_size() <= size_); + BOOST_ASSERT( traits_type::is_unbounded() || ( traits_type::maximum_size() >= size_) ); + } + + stack_context allocate() { + // page at bottom will be used as guard-page + const std::size_t pages( + static_cast< std::size_t >( + std::floor( + static_cast< float >( size_) / traits_type::page_size() ) ) ); + BOOST_ASSERT_MSG( 2 <= pages, "at least two pages must fit into stack (one page is guard-page)"); + const std::size_t size__( pages * traits_type::page_size() ); + BOOST_ASSERT( 0 < size_ && 0 < size__); + BOOST_ASSERT( size__ <= size_); + + void * vp = ::VirtualAlloc( 0, size__, MEM_COMMIT, PAGE_READWRITE); + if ( ! vp) throw std::bad_alloc(); + + DWORD old_options; +#if defined(BOOST_DISABLE_ASSERTS) + ::VirtualProtect( + vp, traits_type::page_size(), PAGE_READWRITE | PAGE_GUARD /*PAGE_NOACCESS*/, & old_options); +#else + const BOOL result = ::VirtualProtect( + vp, traits_type::page_size(), PAGE_READWRITE | PAGE_GUARD /*PAGE_NOACCESS*/, & old_options); + BOOST_ASSERT( FALSE != result); +#endif + + stack_context sctx; + sctx.size = size__; + sctx.sp = static_cast< char * >( vp) + sctx.size; + return sctx; + } + + void deallocate( stack_context & sctx) { + BOOST_ASSERT( sctx.sp); +#if defined(BOOST_USE_WINFIBERS) + BOOST_ASSERT( traits_type::minimum_size() <= sctx.size); + BOOST_ASSERT( traits_type::is_unbounded() || ( traits_type::maximum_size() >= sctx.size) ); +#endif + + void * vp = static_cast< char * >( sctx.sp) - sctx.size; + ::VirtualFree( vp, 0, MEM_RELEASE); + } +}; + +typedef basic_protected_fixedsize_stack< stack_traits > protected_fixedsize_stack; + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_CONTEXT_PROTECTED_FIXEDSIZE_H diff --git a/3party/boost/boost/convert.hpp b/3party/boost/boost/convert.hpp new file mode 100644 index 0000000000..1644c55018 --- /dev/null +++ b/3party/boost/boost/convert.hpp @@ -0,0 +1,216 @@ +/// @file +// Boost.Convert +// Copyright (c) 2009-2014 Vladimir Batov. +// +// Many thanks to Julian Gonggrijp, Rob Stewart, Andrzej Krzemienski, Matus Chochlik, Jeroen Habraken, +// Hartmut Kaiser, Joel De Guzman, Thijs (M.A.) van den Berg, Roland Bock, Gavin Lambert, Paul Bristow, +// Alex Hagen-Zanker, Christopher Kormanyos for taking part in the Boost.Convert review. +// +// Special thanks to: +// +// 1. Alex Hagen-Zanker, Roland Bock, Rob Stewart for their considerable contributions to the design +// and implementation of the library; +// 2. Andrzej Krzemienski for helping to partition responsibilities and to ultimately pave +// the way for the boost::optional and future std::tr2::optional deployment; +// 3. Edward Diener the Boost Review Manager for helping with the converters' design, his continuous +// involvement, technical and administrative help, guidance and advice; +// 4. Joel De Guzman, Rob Stewart and Alex Hagen-Zanker for making sure the performance tests work +// as they should; +// 5. Paul Bristow for helping great deal with the documentation; +// 6. Kevlin Henney and Dave Abrahams for their lexical_cast-related insights and explanations. +// +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_HPP +#define BOOST_CONVERT_HPP + +#include +#include + +namespace boost +{ + namespace detail { enum throw_on_failure {}; } + + /// @details The boost::throw_on_failure is the name of an object of the + /// boost::detail::throw_on_failure type that is used to indicate + /// desired exception-throwing behavior. + detail::throw_on_failure const throw_on_failure = detail::throw_on_failure(0); + + namespace cnv + { + template struct reference; + struct by_default; + } + + /// @brief Boost.Convert main deployment interface + /// @param[in] value_in Value of the TypeIn type to be converted to the TyeOut type + /// @param[in] converter Converter to be used for conversion + /// @return boost::optional result of conversion together with the indication of + /// success or failure of the conversion request. + /// @details For example, + /// @code + /// boost::cnv::cstream cnv; + /// + /// boost::optional i = boost::convert("12", cnv); + /// boost::optional s = boost::convert(123.456, cnv); + /// @endcode + + template + boost::optional + convert(TypeIn const& value_in, Converter const& converter) + { + optional result; + boost::unwrap_ref(converter)(value_in, result); + return result; + } + + namespace cnv { namespace detail + { + template + struct delayed_resolution + { + static optional convert(TypeIn const& value_in) + { + return boost::convert(value_in, Converter()); + } + }; + }} + /// @brief Boost.Convert deployment interface with the default converter + /// @details For example, + /// @code + /// struct boost::cnv::by_default : public boost::cnv::cstream {}; + /// + /// // boost::cnv::cstream (through boost::cnv::by_default) is deployed + /// // as the default converter when no converter is provided explicitly. + /// boost::optional i = boost::convert("12"); + /// boost::optional s = boost::convert(123.456); + /// @endcode + + template + boost::optional + convert(TypeIn const& value_in) + { + return cnv::detail::delayed_resolution::convert(value_in); + } +} + +namespace boost +{ + /// @brief Boost.Convert non-optional deployment interface + + template + TypeOut + convert(TypeIn const& value_in, Converter const& converter, boost::detail::throw_on_failure) + { + return convert(value_in, converter).value(); + } + + template + typename enable_if, TypeOut>::type + convert(TypeIn const& value_in, Converter const& converter, Fallback const& fallback) + { + return convert(value_in, converter).value_or(fallback); + } + + template + typename enable_if, TypeOut>::type + convert(TypeIn const& value_in, Converter const& converter, Fallback fallback) + { + return convert(value_in, converter).value_or_eval(fallback); + } +} + +namespace boost { namespace cnv +{ + template + struct reference + { + typedef reference this_type; + + reference(Converter const& cnv) : converter_(cnv) {} + +#ifdef BOOST_CONVERT_CXX11 + reference(Converter&& cnv) : converter_(std::move(cnv)) {} +#endif + + this_type& + value_or(TypeOut const& fallback) + { + return (fallback_ = fallback, *this); + } + + TypeOut + operator()(TypeIn const& value_in) + { + optional result = convert(value_in, converter_); + return result ? result.get() : fallback_.value(); + } + + private: + + Converter converter_; + optional fallback_; + }; + template + struct reference + { + typedef reference this_type; + + reference(Converter const& cnv) : converter_(cnv) {} + +#ifdef BOOST_CONVERT_CXX11 + reference(Converter&& cnv) : converter_(std::move(cnv)) {} +#endif + + this_type& + value_or(TypeOut const& fallback) + { + return (fallback_ = fallback, *this); + } + + template + TypeOut + operator()(TypeIn const& value_in) + { + optional result = convert(value_in, converter_); + return result ? result.get() : fallback_.value(); + } + + private: + + Converter converter_; + optional fallback_; + }; + + /// @brief Boost.Convert deployment interface with algorithms + /// @details For example, + /// @code + /// boost::array strs = {{ " 5", "0XF", "not an int" }}; + /// std::vector ints; + /// boost::cnv::cstream cnv; + /// + /// cnv(std::hex)(std::skipws); + /// + /// std::transform( + /// strs.begin(), + /// strs.end(), + /// std::back_inserter(ints), + /// boost::cnv::apply(boost::cref(cnv)).value_or(-1)); + /// @endcode + + template + reference + apply(Converter const& cnv) + { + return cnv::reference(cnv); + } + template + reference + apply(Converter const& cnv) + { + return cnv::reference(cnv); + } +}} + +#endif // BOOST_CONVERT_HPP diff --git a/3party/boost/boost/convert/base.hpp b/3party/boost/boost/convert/base.hpp new file mode 100644 index 0000000000..128c46f3a5 --- /dev/null +++ b/3party/boost/boost/convert/base.hpp @@ -0,0 +1,180 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_CONVERTER_BASE_HPP +#define BOOST_CONVERT_CONVERTER_BASE_HPP + +#include +#include +#include +#include + +namespace boost { namespace cnv +{ + namespace ARG = boost::cnv::parameter; + + template struct cnvbase; +}} + +#define BOOST_CNV_TO_STRING \ + template \ + typename boost::enable_if, void>::type \ + operator() + +#define BOOST_CNV_STRING_TO \ + template \ + typename boost::enable_if, void>::type \ + operator() + +#define BOOST_CNV_PARAM(param_name, param_type) \ + derived_type& operator()(boost::parameter::aux::tag::type const& arg) + +template +struct boost::cnv::cnvbase +{ + typedef cnvbase this_type; + typedef int int_type; + typedef unsigned int uint_type; + typedef long int lint_type; + typedef unsigned long int ulint_type; + typedef short int sint_type; + typedef unsigned short int usint_type; + typedef long long int llint_type; + typedef unsigned long long int ullint_type; + typedef float flt_type; + typedef double dbl_type; + typedef long double ldbl_type; + + // Integration of user-types via operator>>() + template + void + operator()(type_in const& in, boost::optional& out) const + { + in >> out; + } + + // Basic type to string + BOOST_CNV_TO_STRING ( int_type v, optional& r) const { to_str_(v, r); } + BOOST_CNV_TO_STRING ( uint_type v, optional& r) const { to_str_(v, r); } + BOOST_CNV_TO_STRING ( lint_type v, optional& r) const { to_str_(v, r); } + BOOST_CNV_TO_STRING (ulint_type v, optional& r) const { to_str_(v, r); } + BOOST_CNV_TO_STRING ( sint_type v, optional& r) const { to_str_(v, r); } + BOOST_CNV_TO_STRING (usint_type v, optional& r) const { to_str_(v, r); } + BOOST_CNV_TO_STRING ( flt_type v, optional& r) const { to_str_(v, r); } + BOOST_CNV_TO_STRING ( dbl_type v, optional& r) const { to_str_(v, r); } + BOOST_CNV_TO_STRING ( ldbl_type v, optional& r) const { to_str_(v, r); } + // String to basic type + BOOST_CNV_STRING_TO (string_type const& s, optional< int_type>& r) const { str_to_(s, r); } + BOOST_CNV_STRING_TO (string_type const& s, optional< uint_type>& r) const { str_to_(s, r); } + BOOST_CNV_STRING_TO (string_type const& s, optional< lint_type>& r) const { str_to_(s, r); } + BOOST_CNV_STRING_TO (string_type const& s, optional& r) const { str_to_(s, r); } + BOOST_CNV_STRING_TO (string_type const& s, optional< sint_type>& r) const { str_to_(s, r); } + BOOST_CNV_STRING_TO (string_type const& s, optional& r) const { str_to_(s, r); } + BOOST_CNV_STRING_TO (string_type const& s, optional< flt_type>& r) const { str_to_(s, r); } + BOOST_CNV_STRING_TO (string_type const& s, optional< dbl_type>& r) const { str_to_(s, r); } + BOOST_CNV_STRING_TO (string_type const& s, optional< ldbl_type>& r) const { str_to_(s, r); } + // Formatters +// BOOST_CNV_PARAM (locale, std::locale const) { locale_ = arg[ARG:: locale]; return dncast(); } + BOOST_CNV_PARAM (base, base::type const) { base_ = arg[ARG:: base]; return dncast(); } + BOOST_CNV_PARAM (adjust, adjust::type const) { adjust_ = arg[ARG:: adjust]; return dncast(); } + BOOST_CNV_PARAM (precision, int const) { precision_ = arg[ARG::precision]; return dncast(); } + BOOST_CNV_PARAM (precision, int) { precision_ = arg[ARG::precision]; return dncast(); } + BOOST_CNV_PARAM (uppercase, bool const) { uppercase_ = arg[ARG::uppercase]; return dncast(); } + BOOST_CNV_PARAM (skipws, bool const) { skipws_ = arg[ARG:: skipws]; return dncast(); } + BOOST_CNV_PARAM (width, int const) { width_ = arg[ARG:: width]; return dncast(); } + BOOST_CNV_PARAM (fill, char const) { fill_ = arg[ARG:: fill]; return dncast(); } + + protected: + + cnvbase() + : + base_ (10), + skipws_ (false), + precision_ (0), + uppercase_ (false), + width_ (0), + fill_ (' '), + adjust_ (boost::cnv::adjust::right) + {} + + template + void + str_to_(string_type const& str, optional& result_out) const + { + cnv::range range (str); + + /**/ if (skipws_) for (; std::isspace(*range.begin()); ++range); + else if (std::isspace(*range.begin())) return; + + dncast().str_to(range, result_out); + } + template + void + to_str_(in_type value_in, optional& result_out) const + { + typedef typename cnv::range::value_type char_type; + + char_type buf[bufsize_]; + cnv::range range = dncast().to_str(value_in, buf); + char_type* beg = range.begin(); + char_type* end = range.end(); + + if (beg < end) + { + format_(buf, beg, end); + + result_out = string_type(beg, end); + } + } + + template + void + format_(char_type* buf, char_type*& beg, char_type*& end) const + { + if (uppercase_) + { + for (char_type* p = beg; p < end; ++p) *p = std::toupper(*p); + } + if (width_) + { + int const num_fillers = (std::max)(0, int(width_ - (end - beg))); + int const num_left = adjust_ == boost::cnv::adjust::left ? 0 + : adjust_ == boost::cnv::adjust::right ? num_fillers + : (num_fillers / 2); + int const num_right = num_fillers - num_left; + int const str_size = end - beg; + bool const move = (beg < buf + num_left) // No room for left fillers + || (buf + bufsize_ < end + num_right); // No room for right fillers + if (move) + { + std::memmove(buf + num_left, beg, str_size * sizeof(char_type)); + beg = buf + num_left; + end = beg + str_size; + } + for (int k = 0; k < num_left; *(--beg) = fill_, ++k); + for (int k = 0; k < num_right; *(end++) = fill_, ++k); + } + } + + derived_type const& dncast () const { return *static_cast(this); } + derived_type& dncast () { return *static_cast(this); } + + // ULONG_MAX(8 bytes) = 18446744073709551615 (20(10) or 32(2) characters) + // double (8 bytes) max is 316 chars + static int const bufsize_ = 1024; + int base_; + bool skipws_; + int precision_; + bool uppercase_; + int width_; + int fill_; + adjust::type adjust_; +// std::locale locale_; +}; + +#undef BOOST_CNV_TO_STRING +#undef BOOST_CNV_STRING_TO +#undef BOOST_CNV_PARAM + +#endif // BOOST_CONVERT_CONVERTER_BASE_HPP diff --git a/3party/boost/boost/convert/detail/boost_parameter_ext.hpp b/3party/boost/boost/convert/detail/boost_parameter_ext.hpp new file mode 100644 index 0000000000..f5052c2d78 --- /dev/null +++ b/3party/boost/boost/convert/detail/boost_parameter_ext.hpp @@ -0,0 +1,61 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_PARAMETER_EXT_PRIVATE_HPP +#define BOOST_PARAMETER_EXT_PRIVATE_HPP + +#include + +// A Boost.Parameter extension by Andrey Semashev. +// This should really go to Boost.Parameter in the end. + +namespace boost { namespace parameter { + +// The metafunction, given the type of the arguments pack and the keyword tag, +// returns the corresponding parameter type +template< typename ArgsT, typename KeywordTagT > +struct parameter_type +{ + typedef void type; +}; + +template< typename ArgT, typename KeywordTagT > +struct parameter_type, KeywordTagT> +{ + typedef typename aux::tagged_argument< KeywordTagT, ArgT >::value_type type; +}; + +template< typename KeywordTagT1, typename ArgT, typename KeywordTagT2 > +struct parameter_type< aux::tagged_argument< KeywordTagT1, ArgT >, KeywordTagT2 > +{ + typedef void type; +}; + +template< typename ArgT, typename TailT, typename KeywordTagT > +struct parameter_type< + aux::arg_list< + aux::tagged_argument< KeywordTagT, ArgT >, + TailT + >, + KeywordTagT +> +{ + typedef typename aux::tagged_argument< KeywordTagT, ArgT >::value_type type; +}; + +template< typename KeywordTagT1, typename ArgT, typename TailT, typename KeywordTagT2 > +struct parameter_type< + aux::arg_list< + aux::tagged_argument< KeywordTagT1, ArgT >, + TailT + >, + KeywordTagT2 +> : + public parameter_type< TailT, KeywordTagT2 > +{ +}; + +}} // boost::parameter + +#endif // BOOST_PARAMETER_EXT_PRIVATE_HPP diff --git a/3party/boost/boost/convert/detail/char.hpp b/3party/boost/boost/convert/detail/char.hpp new file mode 100644 index 0000000000..afe6943088 --- /dev/null +++ b/3party/boost/boost/convert/detail/char.hpp @@ -0,0 +1,22 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_DETAIL_IS_CHAR_HPP +#define BOOST_CONVERT_DETAIL_IS_CHAR_HPP + +#include +#include + +namespace boost { namespace cnv +{ + namespace detail + { + template struct is_char : mpl::false_ {}; + template<> struct is_char : mpl:: true_ {}; + template<> struct is_char : mpl:: true_ {}; + } + template struct is_char : detail::is_char::type> {}; +}} + +#endif // BOOST_CONVERT_DETAIL_IS_CHAR_HPP diff --git a/3party/boost/boost/convert/detail/forward.hpp b/3party/boost/boost/convert/detail/forward.hpp new file mode 100644 index 0000000000..5548aec3fe --- /dev/null +++ b/3party/boost/boost/convert/detail/forward.hpp @@ -0,0 +1,39 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_FORWARD_HPP +#define BOOST_CONVERT_FORWARD_HPP + +#if defined(_MSC_VER) +# pragma warning(disable: 4244) +# pragma warning(disable: 4224) +# pragma warning(disable: 4996) +# pragma warning(disable: 4180) // qualifier applied to function type has no meaning +# pragma warning(disable: 4100) // unreferenced formal parameter + +#if _MSC_VER < 1900 /* MSVC-14 defines real snprintf()... just about time! */ +# define snprintf _snprintf +#endif + +#endif + +#include +#include +#include + +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#undef BOOST_CONVERT_CXX11 +#else +#define BOOST_CONVERT_CXX11 +#endif + +#if defined(BOOST_INTEL) && (BOOST_INTEL <= 1200) /* Intel 12.0 and lower have broken SFINAE */ +# define BOOST_CONVERT_INTEL_SFINAE_BROKEN +#endif + +#if defined(BOOST_MSVC) && (BOOST_MSVC < 1800) /* MSVC-11 and lower have broken SFINAE */ +# define BOOST_CONVERT_MSVC_SFINAE_BROKEN +#endif + +#endif // BOOST_CONVERT_FORWARD_HPP diff --git a/3party/boost/boost/convert/detail/has_member.hpp b/3party/boost/boost/convert/detail/has_member.hpp new file mode 100644 index 0000000000..fafc39f5c4 --- /dev/null +++ b/3party/boost/boost/convert/detail/has_member.hpp @@ -0,0 +1,61 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_HAS_MEMBER_HPP +#define BOOST_CONVERT_HAS_MEMBER_HPP + +#include +#include + +// This macro allows to check if a type has a member named "__member_name__"... +// ... regardless of the signature. If takes advantage of the following behavior related to +// function resolution. Say, both, foo and base, declare a method with the same name "func": +// +// struct foo { int func (int, int) { return 0; } }; +// struct base { void func () {} }; +// struct mixin : public foo, public base {}; +// +// Now, if we inherit from both -- foo and base -- classes, then the following calls will fail +// mixin_ptr(0)->func(); +// mixin_ptr(0)->func(5, 5); +// with the error message (gcc): request for member func is ambiguous +// regardless if we provide any arguments or not even though one might expect that +// arg-based signature resolution might kick in. The only way to deploy those methods is: +// +// mixin_ptr(0)->foo::func(); +// mixin_ptr(0)->base::func(5, 5); +// +// C2. The actual signature of __member_name__ is not taken into account. If +// __T__::__member_name__(any-signature) exists, then the introduced base::__member_name__ +// will cause mixin->__member_name__() call to fail to compile (due to ambiguity). +// C3. &U::__member_name__ (a.k.a. &mixin::__member_name__) +// has the type of func_type only if __T__::__member_name__ does not exist. +// If __T__::member_name does exist, then mixin::__member_name__ is ambiguous +// and "yes_type test (...)" kicks in instead. +// C4. Need to find some unique/ugly name so that it does not clash if this macro is +// used inside some other template class; + +#define BOOST_DECLARE_HAS_MEMBER(__trait_name__, __member_name__) \ + \ + template /*C4*/ \ + class __trait_name__ \ + { \ + typedef typename ::boost::remove_const<__boost_has_member_T__>::type check_type; \ + typedef ::boost::type_traits::yes_type yes_type; \ + typedef ::boost::type_traits:: no_type no_type; \ + \ + struct base { void __member_name__(/*C2*/) {}}; \ + struct mixin : public base, public check_type {}; \ + \ + template struct aux {}; \ + \ + template static no_type test(aux<&U::__member_name__>*); /*C3*/ \ + template static yes_type test(...); \ + \ + public: \ + \ + BOOST_STATIC_CONSTANT(bool, value = (sizeof(yes_type) == sizeof(test(0)))); \ + } + +#endif // BOOST_CONVERT_HAS_MEMBER_HPP diff --git a/3party/boost/boost/convert/detail/is_callable.hpp b/3party/boost/boost/convert/detail/is_callable.hpp new file mode 100644 index 0000000000..d516fdc05b --- /dev/null +++ b/3party/boost/boost/convert/detail/is_callable.hpp @@ -0,0 +1,100 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_IS_CALLABLE_HPP +#define BOOST_CONVERT_IS_CALLABLE_HPP + +#include + +namespace boost { namespace cnv { namespace detail +{ + typedef ::boost::type_traits::yes_type yes_type; + typedef ::boost::type_traits:: no_type no_type; + + struct not_found {}; + struct void_return_substitute {}; + + // The overloaded comma operator only kicks in for U != void essentially short-circuiting + // itself ineffective. Otherwise, when U=void, the standard op,() kicks in and returns + // 'void_return_substitute'. + template U const& operator, (U const&, void_return_substitute); + template U& operator, (U&, void_return_substitute); + + template struct match_const { typedef dst type; }; + template struct match_const { typedef dst const type; }; + + template + struct redirect + { + static no_type test (...); + static yes_type test (return_type); + }; + + template + struct redirect + { + static yes_type test (...); + static no_type test (not_found); + }; +}}} + +// No-args case needs to be implemented differently and has not been implemented yet. +// template +// struct check + +// C1. Need to find some unique/ugly names so that they do not clash if this macro is +// used inside some other template class; +// C2. Body of the function is not actually used anywhere. +// However, Intel C++ compiler treats it as an error. So, we provide the body. + +#define BOOST_DECLARE_IS_CALLABLE(__trait_name__, __member_name__) \ + \ +template \ +class __trait_name__ \ +{ \ + typedef __boost_is_callable_T__ class_type; /*C1*/ \ + typedef __boost_is_callable_signature__ signature; /*C1*/ \ + typedef boost::cnv::detail::not_found not_found; \ + \ + BOOST_DECLARE_HAS_MEMBER(has_member, __member_name__); \ + \ + struct mixin : public class_type \ + { \ + using class_type::__member_name__; \ + not_found __member_name__(...) const { return not_found(); /*C2*/} \ + }; \ + \ + typedef typename boost::cnv::detail::match_const::type* mixin_ptr; \ + \ + template struct check { static bool const value = false; }; \ + \ + template \ + struct check \ + { \ + typedef typename boost::decay::type* a1; \ + \ + static bool const value = sizeof(boost::type_traits::yes_type) \ + == sizeof(boost::cnv::detail::redirect::test( \ + (mixin_ptr(0)->__member_name__(*a1(0)), \ + boost::cnv::detail::void_return_substitute()))); \ + }; \ + template \ + struct check \ + { \ + typedef typename boost::decay::type* a1; \ + typedef typename boost::decay::type* a2; \ + \ + static bool const value = sizeof(boost::type_traits::yes_type) \ + == sizeof(boost::cnv::detail::redirect::test( \ + (mixin_ptr(0)->__member_name__(*a1(0), *a2(0)), \ + boost::cnv::detail::void_return_substitute()))); \ + }; \ + \ + public: \ + \ + /* Check the existence of __member_name__ first, then the signature. */ \ + static bool const value = check::value, signature>::value; \ +} + +#endif // BOOST_CONVERT_IS_CALLABLE_HPP diff --git a/3party/boost/boost/convert/detail/is_converter.hpp b/3party/boost/boost/convert/detail/is_converter.hpp new file mode 100644 index 0000000000..05edbf2031 --- /dev/null +++ b/3party/boost/boost/convert/detail/is_converter.hpp @@ -0,0 +1,46 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_IS_CONVERTER_HPP +#define BOOST_CONVERT_IS_CONVERTER_HPP + +#include +#include +#include +#include +#include + +namespace boost { namespace cnv +{ + template + struct is_cnv { BOOST_STATIC_CONSTANT(bool, value = false); }; + + template + struct is_cnv, void>::type> + { + typedef typename ::boost::unwrap_reference::type class_type; + typedef void signature_type(TypeIn const&, optional&); + + BOOST_DECLARE_IS_CALLABLE(is_callable, operator()); + + BOOST_STATIC_CONSTANT(bool, value = (is_callable::value)); + }; + + template + struct is_cnv::value && function_types::function_arity::value == 2, + void>::type> + { + typedef TypeIn in_type; + typedef optional& out_type; + typedef typename function_traits::arg1_type func_in_type; + typedef typename function_traits::arg2_type func_out_type; + + BOOST_STATIC_CONSTANT(bool, in_good = (is_convertible::value)); + BOOST_STATIC_CONSTANT(bool, out_good = (is_same::value)); + BOOST_STATIC_CONSTANT(bool, value = (in_good && out_good)); + }; +}} + +#endif // BOOST_CONVERT_IS_CONVERTER_HPP diff --git a/3party/boost/boost/convert/detail/is_fun.hpp b/3party/boost/boost/convert/detail/is_fun.hpp new file mode 100644 index 0000000000..95d8001eb6 --- /dev/null +++ b/3party/boost/boost/convert/detail/is_fun.hpp @@ -0,0 +1,60 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_IS_FUNCTION_HPP +#define BOOST_CONVERT_IS_FUNCTION_HPP + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace cnv +{ + typedef ::boost::type_traits::yes_type yes_type; + typedef ::boost::type_traits:: no_type no_type; + + template + struct check_functor { BOOST_STATIC_CONSTANT(bool, value = false); }; + + template + struct is_fun { BOOST_STATIC_CONSTANT(bool, value = false); }; + + template + struct check_functor + { + static yes_type test (TypeOut const&); + static no_type test (...); + + static const bool value = sizeof(yes_type) == sizeof(test(((Functor*) 0)->operator()())); + }; + + template + struct is_fun::value && !is_convertible::value, void>::type> + { + BOOST_DECLARE_HAS_MEMBER(has_funop, operator()); + + BOOST_STATIC_CONSTANT(bool, value = (check_functor::value, Functor, TypeOut>::value)); + }; + + template + struct is_fun::value && + function_types::function_arity::value == 0 && + !is_same::value, + void>::type> + { + typedef TypeOut out_type; + typedef typename function_types::result_type::type func_out_type; + + BOOST_STATIC_CONSTANT(bool, value = (is_convertible::value)); + }; +}} + +#endif // BOOST_CONVERT_IS_FUNCTION_HPP diff --git a/3party/boost/boost/convert/detail/is_string.hpp b/3party/boost/boost/convert/detail/is_string.hpp new file mode 100644 index 0000000000..ab682b0c72 --- /dev/null +++ b/3party/boost/boost/convert/detail/is_string.hpp @@ -0,0 +1,34 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_DETAIL_IS_STRING_HPP +#define BOOST_CONVERT_DETAIL_IS_STRING_HPP + +#include + +namespace boost { namespace cnv +{ + namespace detail + { + template struct is_string : mpl::false_ {}; + + template struct is_string + { + static bool const value = cnv::is_char::value; + }; + template struct is_string + { + static bool const value = cnv::is_char::value; + }; + template struct is_string + { + static bool const value = cnv::is_char::value; + }; + } + template struct is_string : detail::is_string< + typename remove_const::type, + boost::is_class::value && boost::cnv::is_range::value> {}; +}} + +#endif // BOOST_CONVERT_DETAIL_IS_STRING_HPP diff --git a/3party/boost/boost/convert/detail/range.hpp b/3party/boost/boost/convert/detail/range.hpp new file mode 100644 index 0000000000..439fbf48d0 --- /dev/null +++ b/3party/boost/boost/convert/detail/range.hpp @@ -0,0 +1,112 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_DETAIL_RANGE_HPP +#define BOOST_CONVERT_DETAIL_RANGE_HPP + +#include +#include +#include +#include + +namespace boost { namespace cnv +{ + namespace detail + { + template struct is_range : mpl::false_ {}; + + template struct is_range + { + BOOST_DECLARE_HAS_MEMBER(has_begin, begin); + BOOST_DECLARE_HAS_MEMBER( has_end, end); + + static bool const value = has_begin::value && has_end::value; + }; + } + template struct is_range : detail::is_range::type, boost::is_class::value> {}; + template struct range; + template struct iterator; + + template + struct iterator >::type> + { + typedef typename boost::range_iterator::type type; + typedef typename boost::range_iterator::type const_type; + typedef typename boost::iterator_value::type value_type; + }; + template + struct iterator + { + typedef typename remove_const::type value_type; + typedef T* type; + typedef value_type const* const_type; + }; + template + struct range_base + { + typedef typename cnv::iterator::value_type value_type; + typedef typename cnv::iterator::type iterator; + typedef typename cnv::iterator::const_type const_iterator; + typedef const_iterator sentry_type; + + range_base (iterator b, iterator e) : begin_(b), end_(e) {} + + iterator begin () { return begin_; } + iterator end () { return end_; } + const_iterator begin () const { return begin_; } + const_iterator end () const { return end_; } + sentry_type sentry () const { return end_; } + void operator++ () { ++begin_; } + void operator-- () { --end_; } + + protected: + + iterator begin_; + mutable iterator end_; + }; + + template + struct range >::type> : public range_base + { + typedef range this_type; + typedef range_base base_type; + + range (T& r) : base_type(r.begin(), r.end()) {} + }; + + template + struct range >::type> : public range_base + { + typedef range this_type; + typedef range_base base_type; + + typedef typename remove_const::type value_type; + typedef T* iterator; + typedef value_type const* const_iterator; + + struct sentry_type + { + friend bool operator!=(iterator it, sentry_type) { return !!*it; } + }; + + range (iterator b, iterator e =0) : base_type(b, e) {} + + iterator end () { return base_type::end_ ? base_type::end_ : (base_type::end_ = base_type::begin_ + size()); } + const_iterator end () const { return base_type::end_ ? base_type::end_ : (base_type::end_ = base_type::begin_ + size()); } + sentry_type sentry () const { return sentry_type(); } + std::size_t size () const { return std::char_traits::length(base_type::begin_); } + }; + template + struct range : public range + { + range (T* b, T* e =0) : range(b, e) {} + }; + template + struct range : public range + { + range (T* b, T* e =0) : range(b, e) {} + }; +}} + +#endif // BOOST_CONVERT_DETAIL_RANGE_HPP diff --git a/3party/boost/boost/convert/lexical_cast.hpp b/3party/boost/boost/convert/lexical_cast.hpp new file mode 100644 index 0000000000..5a9f77b845 --- /dev/null +++ b/3party/boost/boost/convert/lexical_cast.hpp @@ -0,0 +1,40 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_LEXICAL_CAST_HPP +#define BOOST_CONVERT_LEXICAL_CAST_HPP + +#include + +namespace boost { namespace cnv +{ + struct lexical_cast; +}} + +/// @brief boost::lexical_cast-based converter +/// @details The purpose of the converter is to +/// * Make use of the boost::lexical_cast functionality and performance that many people have become +/// accustomed to and comfortable with; +/// * Demonstrate how existing independent conversion/transformation-related facilities might be +// incorporated in to the Boost.Convert framework. +/// +/// The converter can easily replace boost::lexical_cast, adding flexibility and convenience. + +struct boost::cnv::lexical_cast +{ + template + void + operator()(TypeIn const& value_in, boost::optional& result_out) const + { + try + { + result_out = boost::lexical_cast(value_in); + } + catch (boost::bad_lexical_cast const&) + { + } + } +}; + +#endif // BOOST_CONVERT_LEXICAL_CAST_HPP diff --git a/3party/boost/boost/convert/parameters.hpp b/3party/boost/boost/convert/parameters.hpp new file mode 100644 index 0000000000..ae5511bfae --- /dev/null +++ b/3party/boost/boost/convert/parameters.hpp @@ -0,0 +1,33 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_PARAMETERS_HPP +#define BOOST_CONVERT_PARAMETERS_HPP + +#include + +namespace boost +{ + namespace cnv + { + struct adjust { enum type { left, right, center };}; + struct base { enum type { bin =2, dec =10, hex =16, oct =8 };}; + struct notation { enum type { fixed, scientific };}; + + namespace parameter + { + BOOST_PARAMETER_KEYWORD(type, adjust) + BOOST_PARAMETER_KEYWORD(type, base) + BOOST_PARAMETER_KEYWORD(type, fill) + BOOST_PARAMETER_KEYWORD(type, locale) + BOOST_PARAMETER_KEYWORD(type, notation) + BOOST_PARAMETER_KEYWORD(type, precision) + BOOST_PARAMETER_KEYWORD(type, skipws) + BOOST_PARAMETER_KEYWORD(type, uppercase) + BOOST_PARAMETER_KEYWORD(type, width) + } + } +} + +#endif // BOOST_CONVERT_PARAMETERS_HPP diff --git a/3party/boost/boost/convert/printf.hpp b/3party/boost/boost/convert/printf.hpp new file mode 100644 index 0000000000..d33b873d05 --- /dev/null +++ b/3party/boost/boost/convert/printf.hpp @@ -0,0 +1,89 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_PRINTF_HPP +#define BOOST_CONVERT_PRINTF_HPP + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace cnv +{ + struct printf; +}} + +struct boost::cnv::printf : public boost::cnv::cnvbase +{ + typedef boost::cnv::printf this_type; + typedef boost::cnv::cnvbase base_type; + + using base_type::operator(); + + template + cnv::range + to_str(in_type value_in, char* buf) const + { + char const* fmt = pformat(pos()); + int const num_chars = snprintf(buf, bufsize_, fmt, precision_, value_in); + bool const success = num_chars < bufsize_; + + return cnv::range(buf, success ? (buf + num_chars) : buf); + } + template + void + str_to(cnv::range range, optional& result_out) const + { + out_type result = boost::make_default(); + int const num_read = sscanf(&*range.begin(), format(pos()), &result); + + if (num_read == 1) + result_out = result; + } + + private: + + template int pos() const + { + typedef boost::mpl::vector managed_types; + + typedef typename boost::mpl::find::type type_iterator; + typedef typename type_iterator::pos type_pos; + + return type_pos::value; + } + + char const* pformat(int pos) const + { + static char const* d_format[] = { "%.*f", "%.*f", "%.*d", "%.*u", "%.*hd", "%.*hu", "%.*ld", "%.*lu" }; // Must match managed_types + static char const* x_format[] = { "%.*f", "%.*f", "%.*x", "%.*x", "%.*hx", "%.*hx", "%.*lx", "%.*lx" }; // Must match managed_types + static char const* o_format[] = { "%.*f", "%.*f", "%.*o", "%.*o", "%.*ho", "%.*ho", "%.*lo", "%.*lo" }; // Must match managed_types + char const* format = base_ == 10 ? d_format[pos] + : base_ == 16 ? x_format[pos] + : base_ == 8 ? o_format[pos] + : (BOOST_ASSERT(0), (char const*) 0); + return format; + } + char const* format(int pos) const + { + static char const* d_format[] = { "%f", "%f", "%d", "%u", "%hd", "%hu", "%ld", "%lu" }; // Must match managed_types + static char const* x_format[] = { "%f", "%f", "%x", "%x", "%hx", "%hx", "%lx", "%lx" }; // Must match managed_types + static char const* o_format[] = { "%f", "%f", "%o", "%o", "%ho", "%ho", "%lo", "%lo" }; // Must match managed_types + char const* format = base_ == 10 ? d_format[pos] + : base_ == 16 ? x_format[pos] + : base_ == 8 ? o_format[pos] + : (BOOST_ASSERT(0), (char const*) 0); + return format; + } +}; + +#endif // BOOST_CONVERT_PRINTF_HPP diff --git a/3party/boost/boost/convert/spirit.hpp b/3party/boost/boost/convert/spirit.hpp new file mode 100644 index 0000000000..f062cd8a43 --- /dev/null +++ b/3party/boost/boost/convert/spirit.hpp @@ -0,0 +1,53 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_SPIRIT_BASED_CONVERTER_HPP +#define BOOST_CONVERT_SPIRIT_BASED_CONVERTER_HPP + +#include +#include +#include +#include + +namespace boost { namespace cnv +{ + struct spirit; +}} + +struct boost::cnv::spirit : public boost::cnv::cnvbase +{ + typedef boost::cnv::spirit this_type; + typedef boost::cnv::cnvbase base_type; + + using base_type::operator(); + + template + void + str_to(cnv::range range, optional& result_out) const + { + typedef typename cnv::range::iterator iterator; + typedef typename boost::spirit::traits::create_parser::type parser; + + iterator beg = range.begin(); + iterator end = range.end(); + out_type result; + + if (boost::spirit::qi::parse(beg, end, parser(), result)) + if (beg == end) // ensure the whole string has been parsed + result_out = result; + } + template + cnv::range + to_str(in_type value_in, char_type* beg) const + { + typedef typename boost::spirit::traits::create_generator::type generator; + + char_type* end = beg; + bool good = boost::spirit::karma::generate(end, generator(), value_in); + + return cnv::range(beg, good ? end : beg); + } +}; + +#endif // BOOST_CONVERT_SPIRIT_BASED_CONVERTER_HPP diff --git a/3party/boost/boost/convert/stream.hpp b/3party/boost/boost/convert/stream.hpp new file mode 100644 index 0000000000..d379facb72 --- /dev/null +++ b/3party/boost/boost/convert/stream.hpp @@ -0,0 +1,196 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_STRINGSTREAM_BASED_CONVERTER_HPP +#define BOOST_CONVERT_STRINGSTREAM_BASED_CONVERTER_HPP + +#include +#include +#include +#include +#include + +#define BOOST_CNV_STRING_ENABLE \ + template \ + typename boost::enable_if, void>::type \ + operator() + +#define BOOST_CNV_PARAM(PARAM_NAME, PARAM_TYPE) \ + this_type& \ + operator()(boost::parameter::aux::tag::type const& arg) + +namespace boost { namespace cnv +{ + template struct basic_stream; + + typedef boost::cnv::basic_stream cstream; + typedef boost::cnv::basic_stream wstream; +}} + +template +struct boost::cnv::basic_stream : boost::noncopyable +{ + // C01. In string-to-type conversions the "string" must be a CONTIGUOUS ARRAY of + // characters because "ibuffer_type" uses/relies on that (it deals with char_type*). + // C02. Use the provided "string_in" as the input (read-from) buffer and, consequently, + // avoid the overhead associated with stream_.str(string_in) -- + // copying of the content into internal buffer. + // C03. The "strbuf.gptr() != strbuf.egptr()" check replaces "istream.eof() != true" + // which for some reason does not work when we try converting the "true" string + // to "bool" with std::boolalpha set. Seems that istream state gets unsynced compared + // to the actual underlying buffer. + + typedef Char char_type; + typedef boost::cnv::basic_stream this_type; + typedef std::basic_stringstream stream_type; + typedef std::basic_istream istream_type; + typedef std::basic_streambuf buffer_type; + typedef std::basic_string stdstr_type; + typedef std::ios_base& (*manipulator_type)(std::ios_base&); + + struct ibuffer_type : public buffer_type + { + using buffer_type::eback; + using buffer_type::gptr; + using buffer_type::egptr; + + ibuffer_type(char_type const* beg, std::size_t sz) //C01 + { + char_type* b = const_cast(beg); + + buffer_type::setg(b, b, b + sz); + } + }; + struct obuffer_type : public buffer_type + { + using buffer_type::pbase; + using buffer_type::pptr; + using buffer_type::epptr; + }; + + basic_stream() : stream_(std::ios_base::in | std::ios_base::out) {} +#if !defined( BOOST_NO_CXX11_RVALUE_REFERENCES ) + basic_stream(this_type&& other) : stream_(std::move(other.stream_)) {} +#endif + + BOOST_CNV_STRING_ENABLE(type const& v, optional& s) const { to_str(v, s); } + BOOST_CNV_STRING_ENABLE(string_type const& s, optional& r) const { str_to(cnv::range(s), r); } + // Resolve ambiguity of string-to-string + template void operator()( char_type const* s, optional& r) const { str_to(cnv::range< char_type const*>(s), r); } + template void operator()(stdstr_type const& s, optional& r) const { str_to(cnv::range(s), r); } + + // Formatters + template + this_type& operator() (manipulator m) { return (stream_ << m, *this); } + this_type& operator() (manipulator_type m) { return (m(stream_), *this); } + this_type& operator() (std::locale const& l) { return (stream_.imbue(l), *this); } + + BOOST_CNV_PARAM(locale, std::locale const) { return (stream_.imbue(arg[cnv::parameter::locale]), *this); } + BOOST_CNV_PARAM(precision, int const) { return (stream_.precision(arg[cnv::parameter::precision]), *this); } + BOOST_CNV_PARAM(precision, int) { return (stream_.precision(arg[cnv::parameter::precision]), *this); } + BOOST_CNV_PARAM(width, int const) { return (stream_.width(arg[cnv::parameter::width]), *this); } + BOOST_CNV_PARAM(fill, char const) { return (stream_.fill(arg[cnv::parameter::fill]), *this); } + BOOST_CNV_PARAM(uppercase, bool const) + { + bool uppercase = arg[cnv::parameter::uppercase]; + uppercase ? (void) stream_.setf(std::ios::uppercase) : stream_.unsetf(std::ios::uppercase); + return *this; + } + BOOST_CNV_PARAM(skipws, bool const) + { + bool skipws = arg[cnv::parameter::skipws]; + skipws ? (void) stream_.setf(std::ios::skipws) : stream_.unsetf(std::ios::skipws); + return *this; + } + BOOST_CNV_PARAM(adjust, boost::cnv::adjust::type const) + { + cnv::adjust::type adjust = arg[cnv::parameter::adjust]; + + /**/ if (adjust == cnv::adjust:: left) stream_.setf(std::ios::adjustfield, std::ios:: left); + else if (adjust == cnv::adjust::right) stream_.setf(std::ios::adjustfield, std::ios::right); + else BOOST_ASSERT(!"Not implemented"); + + return *this; + } + BOOST_CNV_PARAM(base, boost::cnv::base::type const) + { + cnv::base::type base = arg[cnv::parameter::base]; + + /**/ if (base == cnv::base::dec) std::dec(stream_); + else if (base == cnv::base::hex) std::hex(stream_); + else if (base == cnv::base::oct) std::oct(stream_); + else BOOST_ASSERT(!"Not implemented"); + + return *this; + } + BOOST_CNV_PARAM(notation, boost::cnv::notation::type const) + { + cnv::notation::type notation = arg[cnv::parameter::notation]; + + /**/ if (notation == cnv::notation:: fixed) std::fixed(stream_); + else if (notation == cnv::notation::scientific) std::scientific(stream_); + else BOOST_ASSERT(!"Not implemented"); + + return *this; + } + + private: + + template void str_to(cnv::range, optional&) const; + template void to_str(in_type const&, optional&) const; + + mutable stream_type stream_; +}; + +template +template +inline +void +boost::cnv::basic_stream::to_str( + in_type const& value_in, + boost::optional& string_out) const +{ + stream_.clear(); // Clear the flags + stream_.str(stdstr_type()); // Clear/empty the content of the stream + + if (!(stream_ << value_in).fail()) + { + buffer_type* buf = stream_.rdbuf(); + obuffer_type* obuf = static_cast(buf); + char_type const* beg = obuf->pbase(); + char_type const* end = obuf->pptr(); + + string_out = string_type(beg, end); // Instead of stream_.str(); + } +} + +template +template +inline +void +boost::cnv::basic_stream::str_to( + boost::cnv::range string_in, + boost::optional& result_out) const +{ + istream_type& istream = stream_; + buffer_type* oldbuf = istream.rdbuf(); + char_type const* beg = &*string_in.begin(); + std::size_t sz = string_in.end() - string_in.begin(); + ibuffer_type newbuf (beg, sz); //C02 + + istream.rdbuf(&newbuf); + istream.clear(); // Clear the flags + + istream >> *(result_out = boost::make_default()); + + if (istream.fail() || newbuf.gptr() != newbuf.egptr()/*C03*/) + result_out = boost::none; + + istream.rdbuf(oldbuf); +} + +#undef BOOST_CNV_STRING_ENABLE +#undef BOOST_CNV_PARAM + +#endif // BOOST_CONVERT_STRINGSTREAM_BASED_CONVERTER_HPP diff --git a/3party/boost/boost/convert/strtol.hpp b/3party/boost/boost/convert/strtol.hpp new file mode 100644 index 0000000000..bc329c6870 --- /dev/null +++ b/3party/boost/boost/convert/strtol.hpp @@ -0,0 +1,218 @@ +// Copyright (c) 2009-2014 Vladimir Batov. +// Use, modification and distribution are subject to the Boost Software License, +// Version 1.0. See http://www.boost.org/LICENSE_1_0.txt. + +#ifndef BOOST_CONVERT_STRTOL_CONVERTER_HPP +#define BOOST_CONVERT_STRTOL_CONVERTER_HPP + +#include +#include +#include +#include +#include +#include +#include +#include + +#if __GNUC__ == 4 && __GNUC_MINOR__ <= 2 +namespace std +{ + using ::strtold; // Tests indicated that gcc-4.2.1 does not have 'std::strtold' +} +#endif + +namespace boost { namespace cnv +{ + struct strtol; +}} + +/// @brief std::strtol-based extended converter +/// @details The converter offers a fairly decent overall performance and moderate formatting facilities. + +struct boost::cnv::strtol : public boost::cnv::cnvbase +{ + // C2. Old C-strings have an advantage over [begin, end) ranges. They do not need the 'end' iterator! + // Instead, they provide a sentinel (0 terminator). Consequently, C strings can be traversed + // without the need to compare if the 'end' has been reached (i.e. "for (; it != end; ++it)"). + // Instead, the current character is checked if it's 0 (i.e. "for (; *p; ++p)") which is faster. + // + // So, the implementation takes advantage of the fact. Namely, we simply check if *cnv_end == 0 + // instead of traversing once with strlen() to find the end iterator and then comparing to it as in + // + // char const* str_end = str + strlen(str); // Unnecessary traversal! + // ... + // bool const good = ... && cnv_end == str_end; + + typedef boost::cnv::strtol this_type; + typedef boost::cnv::cnvbase base_type; + + using base_type::operator(); + + private: + + friend struct boost::cnv::cnvbase; + + template void str_to(cnv::range v, optional< int_type>& r) const { str_to_i (v, r); } + template void str_to(cnv::range v, optional< sint_type>& r) const { str_to_i (v, r); } + template void str_to(cnv::range v, optional< lint_type>& r) const { str_to_i (v, r); } + template void str_to(cnv::range v, optional< uint_type>& r) const { str_to_i (v, r); } + template void str_to(cnv::range v, optional< usint_type>& r) const { str_to_i (v, r); } + template void str_to(cnv::range v, optional< ulint_type>& r) const { str_to_i (v, r); } + template void str_to(cnv::range v, optional< flt_type>& r) const { str_to_d (v, r); } + template void str_to(cnv::range v, optional< dbl_type>& r) const { str_to_d (v, r); } + template void str_to(cnv::range v, optional< ldbl_type>& r) const { str_to_d (v, r); } + + template cnv::range to_str ( int_type v, char_type* buf) const { return i_to_str(v, buf); } + template cnv::range to_str (lint_type v, char_type* buf) const { return i_to_str(v, buf); } + template cnv::range to_str ( dbl_type v, char_type* buf) const; + + template cnv::range i_to_str (in_type, char_type*) const; + template void str_to_i (cnv::range, optional&) const; + template void str_to_d (cnv::range, optional&) const; + + static double adjust_fraction (double, int); + static int get_char (int v) { return (v < 10) ? (v += '0') : (v += 'A' - 10); } +}; + +template +boost::cnv::range +boost::cnv::strtol::i_to_str(Type value, char_type* buf) const +{ + // C1. Base=10 optimization improves performance 10% + + char_type* beg = buf + bufsize_ / 2; + char_type* end = beg; + bool const is_negative = (value < 0) ? (value = -value, true) : false; + + if (base_ == 10) for (; value; *(--beg) = int(value % 10) + '0', value /= 10); //C1 + else for (; value; *(--beg) = get_char(value % base_), value /= base_); + + if (beg == end) *(--beg) = '0'; + if (is_negative) *(--beg) = '-'; + + return cnv::range(beg, end); +} + +inline +double +boost::cnv::strtol::adjust_fraction(double fraction, int precision) +{ + // C1. Bring forward the fraction coming right after precision digits. + // That is, say, fraction=0.234567, precision=2. Then brought forward=23.4567 + // C3. INT_MAX(4bytes)=2,147,483,647. So, 10^8 seems appropriate. If not, drop it down to 4. + // C4. ::round() returns the integral value that is nearest to x, + // with halfway cases rounded away from zero. Therefore, + // round( 0.4) = 0 + // round( 0.5) = 1 + // round( 0.6) = 1 + // round(-0.4) = 0 + // round(-0.5) = -1 + // round(-0.6) = -1 + + int const tens[] = { 1, 10, 100, 1000, 10000, 100000, 1000000, 10000000 }; + + for (int k = precision / 8; k; --k) fraction *= 100000000; //C3. + + fraction *= tens[precision % 8]; //C1 + +// return ::rint(fraction); //C4 + return boost::math::round(fraction); //C4 +} + +template +inline +boost::cnv::range +boost::cnv::strtol::to_str(double value, char_type* buf) const +{ + char_type* beg = buf + bufsize_ / 2; + char_type* end = beg; + char_type* ipos = end - 1; + bool const is_negative = (value < 0) ? (value = -value, true) : false; + double ipart = std::floor(value); + double fpart = adjust_fraction(value - ipart, precision_); + int precision = precision_; + int const base = 10; + + for (; 1 <= ipart; ipart /= base) + *(--beg) = get_char(int(ipart - std::floor(ipart / base) * base)); + + if (beg == end) *(--beg) = '0'; + if (precision) *(end++) = '.'; + + for (char_type* fpos = end += precision; precision; --precision, fpart /= base) + *(--fpos) = get_char(int(fpart - std::floor(fpart / base) * base)); + + if (1 <= fpart) + { + for (; beg <= ipos; --ipos) + if (*ipos == '9') *ipos = '0'; + else { ++*ipos; break; } + + if (ipos < beg) + *(beg = ipos) = '1'; + } + if (is_negative) *(--beg) = '-'; + + return cnv::range(beg, end); +} + +template +void +boost::cnv::strtol::str_to_i(cnv::range range, boost::optional& result_out) const +{ + + typedef typename boost::make_unsigned::type unsigned_type; + typedef cnv::range range_type; + typedef typename range_type::iterator iterator; + + iterator s = range.begin(); + unsigned int ch = *s; + bool const is_negative = ch == '-' ? (ch = *++s, true) : ch == '+' ? (ch = *++s, false) : false; + bool const is_unsigned = boost::is_same::value; + unsigned int base = base_; + + /**/ if (is_negative && is_unsigned) return; + else if ((base == 0 || base == 16) && ch == '0' && (*++s == 'x' || *s == 'X')) ++s, base = 16; + else if (base == 0) base = ch == '0' ? (++s, 8) : 10; + + unsigned_type const max = (std::numeric_limits::max)() + (is_negative ? 1 : 0); + unsigned_type const cutoff = max / base; + unsigned int const cutlim = max % base; + unsigned_type result = 0; + + for (; s != range.sentry(); ++s) + { + unsigned int ch = *s; + + /**/ if (std::isdigit(ch)) ch -= '0'; + else if (std::isalpha(ch)) ch -= (std::isupper(ch) ? 'A' : 'a') - 10; + else return; + + if (base <= ch || cutoff < result || (result == cutoff && cutlim < ch)) + return; + + result *= base; + result += ch; + } + result_out = is_negative ? -out_type(result) : out_type(result); +} + +template +void +boost::cnv::strtol::str_to_d(cnv::range range, optional& result_out) const +{ + typedef cnv::range range_type; + typedef typename range_type::iterator iterator; + typedef typename range_type::value_type char_type; + + char_type const* str = &*range.begin(); // Currently only works with 'char' + char* cnv_end = 0; + ldbl_type const result = strtold(str, &cnv_end); + bool const good = result != -HUGE_VALL && result != HUGE_VALL && *cnv_end == 0/*C2*/; + out_type const max = (std::numeric_limits::max)(); + + if (good && -max <= result && result <= max) + result_out = out_type(result); +} + +#endif // BOOST_CONVERT_STRTOL_CONVERTER_HPP diff --git a/3party/boost/boost/core/addressof.hpp b/3party/boost/boost/core/addressof.hpp index a90fcc3e24..889b5825e1 100644 --- a/3party/boost/boost/core/addressof.hpp +++ b/3party/boost/boost/core/addressof.hpp @@ -49,7 +49,7 @@ template struct addressof_impl #if !defined( BOOST_NO_CXX11_NULLPTR ) -#if defined( __clang__ ) && !defined( _LIBCPP_VERSION ) && !defined( BOOST_NO_CXX11_DECLTYPE ) +#if !defined( BOOST_NO_CXX11_DECLTYPE ) && ( ( defined( __clang__ ) && !defined( _LIBCPP_VERSION ) ) || defined( __INTEL_COMPILER ) ) typedef decltype(nullptr) addr_nullptr_t; @@ -107,7 +107,7 @@ template BOOST_FORCEINLINE T * addressof( T & v ) { -#if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || defined( __SUNPRO_CC ) +#if (defined( __BORLANDC__ ) && BOOST_WORKAROUND( __BORLANDC__, BOOST_TESTED_AT( 0x610 ) ) ) || (defined(__SUNPRO_CC) && BOOST_WORKAROUND(__SUNPRO_CC, <= 0x5120)) return boost::detail::addressof_impl::f( v, 0 ); diff --git a/3party/boost/boost/core/demangle.hpp b/3party/boost/boost/core/demangle.hpp index 56f58e83a4..eebd0ce0f1 100644 --- a/3party/boost/boost/core/demangle.hpp +++ b/3party/boost/boost/core/demangle.hpp @@ -17,10 +17,6 @@ # pragma once #endif -#if defined(ANDROID) && (defined(__i386__) || defined(mips)) -// do not define anything to avoid compilation issue with libc++ in Android SDK -// it uses gabi for libc++ on mips and x86 -#else #if defined( __clang__ ) && defined( __has_include ) # if __has_include() # define BOOST_CORE_HAS_CXXABI_H @@ -28,7 +24,6 @@ #elif defined( __GLIBCXX__ ) || defined( __GLIBCPP__ ) # define BOOST_CORE_HAS_CXXABI_H #endif -#endif #if defined( BOOST_CORE_HAS_CXXABI_H ) # include diff --git a/3party/boost/boost/core/ignore_unused.hpp b/3party/boost/boost/core/ignore_unused.hpp index 22047c2e54..994e5f6476 100644 --- a/3party/boost/boost/core/ignore_unused.hpp +++ b/3party/boost/boost/core/ignore_unused.hpp @@ -14,53 +14,53 @@ namespace boost { #ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES template -inline void ignore_unused(Ts const& ...) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(Ts const& ...) {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} #else template -inline void ignore_unused(T1 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&) {} template -inline void ignore_unused(T1 const&, T2 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&) {} template -inline void ignore_unused(T1 const&, T2 const&, T3 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&) {} template -inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&) {} template -inline void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&) +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&) {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} template -inline void ignore_unused() +BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused() {} #endif diff --git a/3party/boost/boost/core/lightweight_test.hpp b/3party/boost/boost/core/lightweight_test.hpp index f5943b3db2..cdc8a72d8b 100644 --- a/3party/boost/boost/core/lightweight_test.hpp +++ b/3party/boost/boost/core/lightweight_test.hpp @@ -123,9 +123,9 @@ template inline void test_ne_impl( char const * expr1, char co inline int report_errors() { - detail::report_errors_remind().called_report_errors_function = true; + boost::detail::report_errors_remind().called_report_errors_function = true; - int errors = detail::test_errors(); + int errors = boost::detail::test_errors(); if( errors == 0 ) { diff --git a/3party/boost/boost/core/underlying_type.hpp b/3party/boost/boost/core/underlying_type.hpp index c79a0a6e56..7ecba313f4 100644 --- a/3party/boost/boost/core/underlying_type.hpp +++ b/3party/boost/boost/core/underlying_type.hpp @@ -65,8 +65,8 @@ struct underlying_type_impl * * Requires EnumType must be an enum type or the emulation of a scoped enum. * If BOOST_NO_UNDERLYING_TYPE is defined, the implementation will not be able - * to deduce the underlying type of enums. The used is expected to specialize - * this trait. + * to deduce the underlying type of enums. The user is expected to specialize + * this trait in this case. */ template< typename EnumType > struct underlying_type : diff --git a/3party/boost/boost/coroutine/asymmetric_coroutine.hpp b/3party/boost/boost/coroutine/asymmetric_coroutine.hpp index 38ad3ab939..09256bb7f2 100644 --- a/3party/boost/boost/coroutine/asymmetric_coroutine.hpp +++ b/3party/boost/boost/coroutine/asymmetric_coroutine.hpp @@ -30,6 +30,7 @@ #include #include #include +#include #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX @@ -394,11 +395,11 @@ public: } } - push_coroutine( BOOST_RV_REF( push_coroutine) other) BOOST_NOEXCEPT : + inline push_coroutine( BOOST_RV_REF( push_coroutine) other) BOOST_NOEXCEPT : impl_( 0) { swap( other); } - push_coroutine & operator=( BOOST_RV_REF( push_coroutine) other) BOOST_NOEXCEPT + inline push_coroutine & operator=( BOOST_RV_REF( push_coroutine) other) BOOST_NOEXCEPT { push_coroutine tmp( boost::move( other) ); swap( tmp); @@ -407,13 +408,13 @@ public: BOOST_EXPLICIT_OPERATOR_BOOL(); - bool operator!() const BOOST_NOEXCEPT + inline bool operator!() const BOOST_NOEXCEPT { return 0 == impl_ || impl_->is_complete(); } - void swap( push_coroutine & other) BOOST_NOEXCEPT + inline void swap( push_coroutine & other) BOOST_NOEXCEPT { std::swap( impl_, other.impl_); } - push_coroutine & operator()() + inline push_coroutine & operator()() { BOOST_ASSERT( * this); @@ -472,14 +473,13 @@ public: push_coroutine< R >, R, coroutine_fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -500,14 +500,13 @@ public: push_coroutine< R >, R, coroutine_fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -528,14 +527,13 @@ public: push_coroutine< R >, R, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -556,14 +554,13 @@ public: push_coroutine< R >, R, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -584,14 +581,13 @@ public: push_coroutine< R >, R, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -612,14 +608,13 @@ public: push_coroutine< R >, R, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -640,14 +635,13 @@ public: push_coroutine< R >, R, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -668,14 +662,13 @@ public: push_coroutine< R >, R, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -788,13 +781,92 @@ public: return * this; } - iterator operator++( int) + iterator operator++( int); + + reference_t operator*() const { - iterator tmp( * this); - ++*this; - return tmp; + if ( ! val_) + boost::throw_exception( + invalid_result() ); + return * val_; } + pointer_t operator->() const + { + if ( ! val_) + boost::throw_exception( + invalid_result() ); + return val_; + } + }; + + class const_iterator : public std::iterator< std::input_iterator_tag, const typename remove_reference< R >::type > + { + private: + pull_coroutine< R > * c_; + R * val_; + + void fetch_() + { + BOOST_ASSERT( c_); + + if ( ! ( * c_) ) + { + c_ = 0; + val_ = 0; + return; + } + val_ = c_->impl_->get_pointer(); + } + + void increment_() + { + BOOST_ASSERT( c_); + BOOST_ASSERT( * c_); + + ( * c_)(); + fetch_(); + } + + public: + typedef typename const_iterator::pointer pointer_t; + typedef typename const_iterator::reference reference_t; + + const_iterator() : + c_( 0), val_( 0) + {} + + explicit const_iterator( pull_coroutine< R > const* c) : + c_( const_cast< pull_coroutine< R > * >( c) ), + val_( 0) + { fetch_(); } + + const_iterator( const_iterator const& other) : + c_( other.c_), val_( other.val_) + {} + + const_iterator & operator=( const_iterator const& other) + { + if ( this == & other) return * this; + c_ = other.c_; + val_ = other.val_; + return * this; + } + + bool operator==( const_iterator const& other) const + { return other.c_ == c_ && other.val_ == val_; } + + bool operator!=( const_iterator const& other) const + { return other.c_ != c_ || other.val_ != val_; } + + const_iterator & operator++() + { + increment_(); + return * this; + } + + const_iterator operator++( int); + reference_t operator*() const { if ( ! val_) @@ -813,8 +885,7 @@ public: }; friend class iterator; - - struct const_iterator; + friend class const_iterator; }; template< typename R > @@ -862,14 +933,13 @@ public: push_coroutine< R & >, R &, coroutine_fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -890,14 +960,13 @@ public: push_coroutine< R & >, R &, coroutine_fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -918,14 +987,13 @@ public: push_coroutine< R & >, R &, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -946,14 +1014,13 @@ public: push_coroutine< R & >, R &, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -974,14 +1041,13 @@ public: push_coroutine< R & >, R &, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1002,14 +1068,13 @@ public: push_coroutine< R & >, R &, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1030,14 +1095,13 @@ public: push_coroutine< R & >, R &, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1058,14 +1122,13 @@ public: push_coroutine< R & >, R &, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1110,7 +1173,7 @@ public: R & get() const { return impl_->get(); } - class iterator : public std::iterator< std::input_iterator_tag, R > + class iterator : public std::iterator< std::input_iterator_tag, typename remove_reference< R >::type > { private: pull_coroutine< R & > * c_; @@ -1174,13 +1237,92 @@ public: return * this; } - iterator operator++( int) + iterator operator++( int); + + reference_t operator*() const { - iterator tmp( * this); - ++*this; - return tmp; + if ( ! val_) + boost::throw_exception( + invalid_result() ); + return * val_; } + pointer_t operator->() const + { + if ( ! val_) + boost::throw_exception( + invalid_result() ); + return val_; + } + }; + + class const_iterator : public std::iterator< std::input_iterator_tag, const typename remove_reference< R >::type > + { + private: + pull_coroutine< R & > * c_; + R * val_; + + void fetch_() + { + BOOST_ASSERT( c_); + + if ( ! ( * c_) ) + { + c_ = 0; + val_ = 0; + return; + } + val_ = c_->impl_->get_pointer(); + } + + void increment_() + { + BOOST_ASSERT( c_); + BOOST_ASSERT( * c_); + + ( * c_)(); + fetch_(); + } + + public: + typedef typename const_iterator::pointer pointer_t; + typedef typename const_iterator::reference reference_t; + + const_iterator() : + c_( 0), val_( 0) + {} + + explicit const_iterator( pull_coroutine< R & > const* c) : + c_( const_cast< pull_coroutine< R & > * >( c) ), + val_( 0) + { fetch_(); } + + const_iterator( const_iterator const& other) : + c_( other.c_), val_( other.val_) + {} + + const_iterator & operator=( const_iterator const& other) + { + if ( this == & other) return * this; + c_ = other.c_; + val_ = other.val_; + return * this; + } + + bool operator==( const_iterator const& other) const + { return other.c_ == c_ && other.val_ == val_; } + + bool operator!=( const_iterator const& other) const + { return other.c_ != c_ || other.val_ != val_; } + + const_iterator & operator++() + { + increment_(); + return * this; + } + + const_iterator operator++( int); + reference_t operator*() const { if ( ! val_) @@ -1199,8 +1341,7 @@ public: }; friend class iterator; - - struct const_iterator; + friend class const_iterator; }; template<> @@ -1248,14 +1389,13 @@ public: push_coroutine< void >, void, coroutine_fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1276,14 +1416,13 @@ public: push_coroutine< void >, void, coroutine_fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1304,14 +1443,13 @@ public: push_coroutine< void >, void, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1332,14 +1470,13 @@ public: push_coroutine< void >, void, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1360,14 +1497,13 @@ public: push_coroutine< void >, void, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1388,14 +1524,13 @@ public: push_coroutine< void >, void, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1416,14 +1551,13 @@ public: push_coroutine< void >, void, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1444,14 +1578,13 @@ public: push_coroutine< void >, void, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); impl_->pull(); } @@ -1466,11 +1599,11 @@ public: } } - pull_coroutine( BOOST_RV_REF( pull_coroutine) other) BOOST_NOEXCEPT : + inline pull_coroutine( BOOST_RV_REF( pull_coroutine) other) BOOST_NOEXCEPT : impl_( 0) { swap( other); } - pull_coroutine & operator=( BOOST_RV_REF( pull_coroutine) other) BOOST_NOEXCEPT + inline pull_coroutine & operator=( BOOST_RV_REF( pull_coroutine) other) BOOST_NOEXCEPT { pull_coroutine tmp( boost::move( other) ); swap( tmp); @@ -1479,13 +1612,13 @@ public: BOOST_EXPLICIT_OPERATOR_BOOL(); - bool operator!() const BOOST_NOEXCEPT + inline bool operator!() const BOOST_NOEXCEPT { return 0 == impl_ || impl_->is_complete(); } - void swap( pull_coroutine & other) BOOST_NOEXCEPT + inline void swap( pull_coroutine & other) BOOST_NOEXCEPT { std::swap( impl_, other.impl_); } - pull_coroutine & operator()() + inline pull_coroutine & operator()() { BOOST_ASSERT( * this); @@ -1515,14 +1648,13 @@ push_coroutine< Arg >::push_coroutine( coroutine_fn fn, pull_coroutine< Arg >, Arg, coroutine_fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1543,14 +1675,13 @@ push_coroutine< Arg >::push_coroutine( coroutine_fn fn, pull_coroutine< Arg >, Arg, coroutine_fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1570,14 +1701,13 @@ push_coroutine< Arg & >::push_coroutine( coroutine_fn fn, pull_coroutine< Arg & >, Arg &, coroutine_fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1598,19 +1728,18 @@ push_coroutine< Arg & >::push_coroutine( coroutine_fn fn, pull_coroutine< Arg & >, Arg &, coroutine_fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } -push_coroutine< void >::push_coroutine( coroutine_fn fn, - attributes const& attrs) : +inline push_coroutine< void >::push_coroutine( coroutine_fn fn, + attributes const& attrs) : impl_( 0) { // create a stack-context @@ -1624,14 +1753,13 @@ push_coroutine< void >::push_coroutine( coroutine_fn fn, pull_coroutine< void >, void, coroutine_fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1651,14 +1779,13 @@ push_coroutine< void >::push_coroutine( coroutine_fn fn, pull_coroutine< void >, void, coroutine_fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } # endif @@ -1679,14 +1806,13 @@ push_coroutine< Arg >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< Arg >, Arg, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1707,14 +1833,13 @@ push_coroutine< Arg >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< Arg >, Arg, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1735,14 +1860,13 @@ push_coroutine< Arg & >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< Arg & >, Arg &, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1763,14 +1887,13 @@ push_coroutine< Arg & >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< Arg & >, Arg &, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1790,14 +1913,13 @@ push_coroutine< void >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< void >, void, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1817,14 +1939,13 @@ push_coroutine< void >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< void >, void, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } #else @@ -1845,14 +1966,13 @@ push_coroutine< Arg >::push_coroutine( Fn fn, pull_coroutine< Arg >, Arg, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1873,14 +1993,13 @@ push_coroutine< Arg >::push_coroutine( Fn fn, pull_coroutine< Arg >, Arg, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1901,14 +2020,13 @@ push_coroutine< Arg & >::push_coroutine( Fn fn, pull_coroutine< Arg & >, Arg &, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1929,14 +2047,13 @@ push_coroutine< Arg & >::push_coroutine( Fn fn, pull_coroutine< Arg & >, Arg &, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1956,14 +2073,13 @@ push_coroutine< void >::push_coroutine( Fn fn, pull_coroutine< void >, void, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -1983,14 +2099,13 @@ push_coroutine< void >::push_coroutine( Fn fn, pull_coroutine< void >, void, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -2011,14 +2126,13 @@ push_coroutine< Arg >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< Arg >, Arg, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -2039,14 +2153,13 @@ push_coroutine< Arg >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< Arg >, Arg, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -2067,14 +2180,13 @@ push_coroutine< Arg & >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< Arg & >, Arg &, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -2095,14 +2207,13 @@ push_coroutine< Arg & >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< Arg & >, Arg &, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -2122,14 +2233,13 @@ push_coroutine< void >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< void >, void, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -2149,14 +2259,13 @@ push_coroutine< void >::push_coroutine( BOOST_RV_REF( Fn) fn, pull_coroutine< void >, void, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, detail::preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } #endif @@ -2174,11 +2283,21 @@ typename pull_coroutine< R >::iterator range_begin( pull_coroutine< R > & c) { return typename pull_coroutine< R >::iterator( & c); } +template< typename R > +typename pull_coroutine< R >::const_iterator +range_begin( pull_coroutine< R > const& c) +{ return typename pull_coroutine< R >::const_iterator( & c); } + template< typename R > typename pull_coroutine< R >::iterator range_end( pull_coroutine< R > &) { return typename pull_coroutine< R >::iterator(); } +template< typename R > +typename pull_coroutine< R >::const_iterator +range_end( pull_coroutine< R > const&) +{ return typename pull_coroutine< R >::const_iterator(); } + template< typename Arg > typename push_coroutine< Arg >::iterator range_begin( push_coroutine< Arg > & c) @@ -2204,17 +2323,26 @@ struct coroutine typedef pull_coroutine< T > pull_type; }; -#if defined(__clang__) template< typename R > typename pull_coroutine< R >::iterator begin( pull_coroutine< R > & c) { return boost::begin( c); } +template< typename R > +typename pull_coroutine< R >::const_iterator +begin( pull_coroutine< R > const& c) +{ return boost::begin( c); } + template< typename R > typename pull_coroutine< R >::iterator end( pull_coroutine< R > & c) { return boost::end( c); } +template< typename R > +typename pull_coroutine< R >::const_iterator +end( pull_coroutine< R > const& c) +{ return boost::end( c); } + template< typename R > typename push_coroutine< R >::iterator begin( push_coroutine< R > & c) @@ -2224,7 +2352,6 @@ template< typename R > typename push_coroutine< R >::iterator end( push_coroutine< R > & c) { return boost::end( c); } -#endif } @@ -2238,30 +2365,6 @@ struct range_mutable_iterator< coroutines::pull_coroutine< R > > } -namespace std { - -template< typename R > -typename boost::coroutines::pull_coroutine< R >::iterator -begin( boost::coroutines::pull_coroutine< R > & c) -{ return boost::begin( c); } - -template< typename R > -typename boost::coroutines::pull_coroutine< R >::iterator -end( boost::coroutines::pull_coroutine< R > & c) -{ return boost::end( c); } - -template< typename R > -typename boost::coroutines::push_coroutine< R >::iterator -begin( boost::coroutines::push_coroutine< R > & c) -{ return boost::begin( c); } - -template< typename R > -typename boost::coroutines::push_coroutine< R >::iterator -end( boost::coroutines::push_coroutine< R > & c) -{ return boost::end( c); } - -} - #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_SUFFIX #endif diff --git a/3party/boost/boost/coroutine/detail/coroutine_context.hpp b/3party/boost/boost/coroutine/detail/coroutine_context.hpp index 6c4ebb68b1..94aa69bd6e 100644 --- a/3party/boost/boost/coroutine/detail/coroutine_context.hpp +++ b/3party/boost/boost/coroutine/detail/coroutine_context.hpp @@ -14,6 +14,7 @@ #include #include +#include #include #ifdef BOOST_HAS_ABI_HEADERS @@ -26,10 +27,9 @@ namespace detail { // class hold stack-context and coroutines execution-context class BOOST_COROUTINES_DECL coroutine_context - { private: - stack_context stack_ctx_; + preallocated palloc_; context::fcontext_t ctx_; public: @@ -41,7 +41,7 @@ public: // ctor creates a new execution-context running coroutine-fn `fn` // `ctx_` will be allocated on top of the stack managed by parameter // `stack_ctx` - coroutine_context( ctx_fn fn, stack_context const& stack_ctx); + coroutine_context( ctx_fn fn, preallocated const& palloc); coroutine_context( coroutine_context const&); @@ -50,7 +50,7 @@ public: intptr_t jump( coroutine_context &, intptr_t = 0, bool = true); stack_context & stack_ctx() - { return stack_ctx_; } + { return palloc_.sctx; } }; }}} diff --git a/3party/boost/boost/coroutine/detail/preallocated.hpp b/3party/boost/boost/coroutine/detail/preallocated.hpp new file mode 100644 index 0000000000..1658561ac8 --- /dev/null +++ b/3party/boost/boost/coroutine/detail/preallocated.hpp @@ -0,0 +1,45 @@ + +// Copyright Oliver Kowalke 2015. +// 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_COROUTINES_DETAIL_PREALLOCATED_H +#define BOOST_COROUTINES_DETAIL_PREALLOCATED_H + +#include + +#include + +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines { +namespace detail { + +struct preallocated { + void * sp; + std::size_t size; + stack_context sctx; + + preallocated() BOOST_NOEXCEPT : + sp( 0), size( 0), sctx() { + } + + preallocated( void * sp_, std::size_t size_, stack_context sctx_) BOOST_NOEXCEPT : + sp( sp_), size( size_), sctx( sctx_) { + } +}; + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES_DETAIL_PREALLOCATED_H diff --git a/3party/boost/boost/coroutine/detail/pull_coroutine_impl.hpp b/3party/boost/boost/coroutine/detail/pull_coroutine_impl.hpp index 97a18bf005..10ca597544 100644 --- a/3party/boost/boost/coroutine/detail/pull_coroutine_impl.hpp +++ b/3party/boost/boost/coroutine/detail/pull_coroutine_impl.hpp @@ -291,25 +291,25 @@ public: virtual ~pull_coroutine_impl() {} - bool force_unwind() const BOOST_NOEXCEPT + inline bool force_unwind() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_force_unwind); } - bool unwind_requested() const BOOST_NOEXCEPT + inline bool unwind_requested() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_unwind_stack); } - bool preserve_fpu() const BOOST_NOEXCEPT + inline bool preserve_fpu() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_preserve_fpu); } - bool is_started() const BOOST_NOEXCEPT + inline bool is_started() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_started); } - bool is_running() const BOOST_NOEXCEPT + inline bool is_running() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_running); } - bool is_complete() const BOOST_NOEXCEPT + inline bool is_complete() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_complete); } - void unwind_stack() BOOST_NOEXCEPT + inline void unwind_stack() BOOST_NOEXCEPT { if ( is_started() && ! is_complete() && force_unwind() ) { @@ -325,7 +325,7 @@ public: } } - void pull() + inline void pull() { BOOST_ASSERT( ! is_running() ); BOOST_ASSERT( ! is_complete() ); diff --git a/3party/boost/boost/coroutine/detail/pull_coroutine_object.hpp b/3party/boost/boost/coroutine/detail/pull_coroutine_object.hpp index acc9a570a3..57ae169d80 100644 --- a/3party/boost/boost/coroutine/detail/pull_coroutine_object.hpp +++ b/3party/boost/boost/coroutine/detail/pull_coroutine_object.hpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -41,9 +42,9 @@ struct pull_coroutine_context coroutine_context callee; template< typename Coro > - pull_coroutine_context( stack_context const& stack_ctx, Coro *) : + pull_coroutine_context( preallocated const& palloc, Coro *) : caller(), - callee( trampoline_pull< Coro >, stack_ctx) + callee( trampoline_pull< Coro >, palloc) {} }; @@ -72,25 +73,23 @@ private: public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES pull_coroutine_object( Fn fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), fn_( fn), - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} #endif pull_coroutine_object( BOOST_RV_REF( Fn) fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, @@ -98,9 +97,9 @@ public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn_( fn), #else - fn_( forward< Fn >( fn) ), + fn_( boost::forward< Fn >( fn) ), #endif - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} @@ -160,25 +159,23 @@ private: public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES pull_coroutine_object( Fn fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), fn_( fn), - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} #endif pull_coroutine_object( BOOST_RV_REF( Fn) fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, @@ -186,9 +183,9 @@ public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn_( fn), #else - fn_( forward< Fn >( fn) ), + fn_( boost::forward< Fn >( fn) ), #endif - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} @@ -248,25 +245,23 @@ private: public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES pull_coroutine_object( Fn fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), fn_( fn), - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} #endif pull_coroutine_object( BOOST_RV_REF( Fn) fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, @@ -274,9 +269,9 @@ public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn_( fn), #else - fn_( forward< Fn >( fn) ), + fn_( boost::forward< Fn >( fn) ), #endif - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} diff --git a/3party/boost/boost/coroutine/detail/pull_coroutine_synthesized.hpp b/3party/boost/boost/coroutine/detail/pull_coroutine_synthesized.hpp index 1736c86a97..952d50c113 100644 --- a/3party/boost/boost/coroutine/detail/pull_coroutine_synthesized.hpp +++ b/3party/boost/boost/coroutine/detail/pull_coroutine_synthesized.hpp @@ -68,7 +68,7 @@ public: impl_t( caller, callee, unwind, preserve_fpu) {} - void destroy() {} + inline void destroy() {} }; }}} diff --git a/3party/boost/boost/coroutine/detail/push_coroutine_impl.hpp b/3party/boost/boost/coroutine/detail/push_coroutine_impl.hpp index da052fc4e1..8ee2bd6f0e 100644 --- a/3party/boost/boost/coroutine/detail/push_coroutine_impl.hpp +++ b/3party/boost/boost/coroutine/detail/push_coroutine_impl.hpp @@ -231,25 +231,25 @@ public: if ( preserve_fpu) flags_ |= flag_preserve_fpu; } - bool force_unwind() const BOOST_NOEXCEPT + inline bool force_unwind() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_force_unwind); } - bool unwind_requested() const BOOST_NOEXCEPT + inline bool unwind_requested() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_unwind_stack); } - bool preserve_fpu() const BOOST_NOEXCEPT + inline bool preserve_fpu() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_preserve_fpu); } - bool is_started() const BOOST_NOEXCEPT + inline bool is_started() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_started); } - bool is_running() const BOOST_NOEXCEPT + inline bool is_running() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_running); } - bool is_complete() const BOOST_NOEXCEPT + inline bool is_complete() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_complete); } - void unwind_stack() BOOST_NOEXCEPT + inline void unwind_stack() BOOST_NOEXCEPT { if ( is_started() && ! is_complete() && force_unwind() ) { @@ -265,7 +265,7 @@ public: } } - void push() + inline void push() { BOOST_ASSERT( ! is_running() ); BOOST_ASSERT( ! is_complete() ); diff --git a/3party/boost/boost/coroutine/detail/push_coroutine_object.hpp b/3party/boost/boost/coroutine/detail/push_coroutine_object.hpp index 1a0aa7e3d8..53d5c7710e 100644 --- a/3party/boost/boost/coroutine/detail/push_coroutine_object.hpp +++ b/3party/boost/boost/coroutine/detail/push_coroutine_object.hpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -41,9 +42,9 @@ struct push_coroutine_context coroutine_context callee; template< typename Coro > - push_coroutine_context( stack_context const& stack_ctx, Coro *) : + push_coroutine_context( preallocated const& palloc, Coro *) : caller(), - callee( trampoline_push< Coro >, stack_ctx) + callee( trampoline_push< Coro >, palloc) {} }; @@ -53,9 +54,9 @@ struct push_coroutine_context_void coroutine_context callee; template< typename Coro > - push_coroutine_context_void( stack_context const& stack_ctx, Coro *) : + push_coroutine_context_void( preallocated const& palloc, Coro *) : caller(), - callee( trampoline_push_void< Coro >, stack_ctx) + callee( trampoline_push_void< Coro >, palloc) {} }; @@ -84,25 +85,23 @@ private: public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES push_coroutine_object( Fn fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), fn_( fn), - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} #endif push_coroutine_object( BOOST_RV_REF( Fn) fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, @@ -110,9 +109,9 @@ public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn_( fn), #else - fn_( forward< Fn >( fn) ), + fn_( boost::forward< Fn >( fn) ), #endif - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} @@ -172,25 +171,23 @@ private: public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES push_coroutine_object( Fn fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), fn_( fn), - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} #endif push_coroutine_object( BOOST_RV_REF( Fn) fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, @@ -198,9 +195,9 @@ public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn_( fn), #else - fn_( forward< Fn >( fn) ), + fn_( boost::forward< Fn >( fn) ), #endif - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} @@ -260,25 +257,23 @@ private: public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES push_coroutine_object( Fn fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), fn_( fn), - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} #endif push_coroutine_object( BOOST_RV_REF( Fn) fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - ctx_t( internal_stack_ctx, this), + ctx_t( palloc, this), base_t( & this->caller, & this->callee, stack_unwind == attrs.do_unwind, @@ -286,9 +281,9 @@ public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn_( fn), #else - fn_( forward< Fn >( fn) ), + fn_( boost::forward< Fn >( fn) ), #endif - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} diff --git a/3party/boost/boost/coroutine/detail/push_coroutine_synthesized.hpp b/3party/boost/boost/coroutine/detail/push_coroutine_synthesized.hpp index ac79a76346..306a841fc0 100644 --- a/3party/boost/boost/coroutine/detail/push_coroutine_synthesized.hpp +++ b/3party/boost/boost/coroutine/detail/push_coroutine_synthesized.hpp @@ -66,7 +66,7 @@ public: impl_t( caller, callee, unwind, preserve_fpu) {} - void destroy() {} + inline void destroy() {} }; }}} diff --git a/3party/boost/boost/coroutine/detail/setup.hpp b/3party/boost/boost/coroutine/detail/setup.hpp index a776029e76..35f601a779 100644 --- a/3party/boost/boost/coroutine/detail/setup.hpp +++ b/3party/boost/boost/coroutine/detail/setup.hpp @@ -41,7 +41,7 @@ struct setup coroutine_context * caller_, coroutine_context * callee_, attributes const& attr_) : - fn( forward< Fn >( fn_) ), + fn( boost::forward< Fn >( fn_) ), caller( caller_), callee( callee_), attr( attr_) @@ -58,7 +58,7 @@ struct setup #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn( fn_), #else - fn( forward< Fn >( fn_) ), + fn( boost::forward< Fn >( fn_) ), #endif caller( caller_), callee( callee_), diff --git a/3party/boost/boost/coroutine/detail/symmetric_coroutine_call.hpp b/3party/boost/boost/coroutine/detail/symmetric_coroutine_call.hpp index 8a6702a392..16a9a8216c 100644 --- a/3party/boost/boost/coroutine/detail/symmetric_coroutine_call.hpp +++ b/3party/boost/boost/coroutine/detail/symmetric_coroutine_call.hpp @@ -14,6 +14,7 @@ #include #include +#include #include #include #include @@ -68,14 +69,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg, coroutine_fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -93,14 +93,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg, coroutine_fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } # endif @@ -118,14 +117,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -143,14 +141,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } #else @@ -168,13 +165,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -192,13 +189,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -216,13 +213,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -240,13 +237,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } #endif @@ -328,14 +325,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg &, coroutine_fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -353,14 +349,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg &, coroutine_fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } # endif @@ -378,14 +373,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg &, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -403,14 +397,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg &, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } #else @@ -428,13 +421,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg &, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -452,13 +445,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg &, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -476,13 +469,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg &, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -500,13 +493,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< Arg &, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } #endif @@ -588,14 +581,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< void, coroutine_fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -613,14 +605,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< void, coroutine_fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< coroutine_fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< coroutine_fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } # endif @@ -638,14 +629,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< void, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -663,14 +653,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< void, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( - forward< Fn >( fn), attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + boost::forward< Fn >( fn), attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } #else @@ -688,13 +677,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< void, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -712,13 +701,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< void, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -736,13 +725,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< void, Fn, stack_allocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } @@ -760,13 +749,13 @@ public: // typedef of internal coroutine-type typedef symmetric_coroutine_object< void, Fn, StackAllocator > object_t; // reserve space on top of coroutine-stack for internal coroutine-type - stack_context internal_stack_ctx; - internal_stack_ctx.sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.sp); - internal_stack_ctx.size = stack_ctx.size - sizeof( object_t); - BOOST_ASSERT( 0 < internal_stack_ctx.size); + std::size_t size = stack_ctx.size - sizeof( object_t); + BOOST_ASSERT( 0 < size); + void * sp = static_cast< char * >( stack_ctx.sp) - sizeof( object_t); + BOOST_ASSERT( 0 < sp); // placement new for internal coroutine - impl_ = new ( internal_stack_ctx.sp) object_t( fn, attrs, stack_ctx, internal_stack_ctx, stack_alloc); + impl_ = new ( sp) object_t( + fn, attrs, preallocated( sp, size, stack_ctx), stack_alloc); BOOST_ASSERT( impl_); } #endif @@ -780,11 +769,11 @@ public: } } - symmetric_coroutine_call( BOOST_RV_REF( symmetric_coroutine_call) other) BOOST_NOEXCEPT : + inline symmetric_coroutine_call( BOOST_RV_REF( symmetric_coroutine_call) other) BOOST_NOEXCEPT : impl_( 0) { swap( other); } - symmetric_coroutine_call & operator=( BOOST_RV_REF( symmetric_coroutine_call) other) BOOST_NOEXCEPT + inline symmetric_coroutine_call & operator=( BOOST_RV_REF( symmetric_coroutine_call) other) BOOST_NOEXCEPT { symmetric_coroutine_call tmp( boost::move( other) ); swap( tmp); @@ -793,13 +782,13 @@ public: BOOST_EXPLICIT_OPERATOR_BOOL(); - bool operator!() const BOOST_NOEXCEPT + inline bool operator!() const BOOST_NOEXCEPT { return 0 == impl_ || impl_->is_complete() || impl_->is_running(); } - void swap( symmetric_coroutine_call & other) BOOST_NOEXCEPT + inline void swap( symmetric_coroutine_call & other) BOOST_NOEXCEPT { std::swap( impl_, other.impl_); } - symmetric_coroutine_call & operator()() BOOST_NOEXCEPT + inline symmetric_coroutine_call & operator()() BOOST_NOEXCEPT { BOOST_ASSERT( * this); diff --git a/3party/boost/boost/coroutine/detail/symmetric_coroutine_impl.hpp b/3party/boost/boost/coroutine/detail/symmetric_coroutine_impl.hpp index 5a1e0529c4..96d948a49c 100644 --- a/3party/boost/boost/coroutine/detail/symmetric_coroutine_impl.hpp +++ b/3party/boost/boost/coroutine/detail/symmetric_coroutine_impl.hpp @@ -16,6 +16,7 @@ #include #include #include +#include #include #include #include @@ -34,11 +35,11 @@ class symmetric_coroutine_impl : private noncopyable public: typedef parameters< R > param_type; - symmetric_coroutine_impl( stack_context const& stack_ctx, + symmetric_coroutine_impl( preallocated const& palloc, bool unwind, bool preserve_fpu) BOOST_NOEXCEPT : flags_( 0), caller_(), - callee_( trampoline< symmetric_coroutine_impl< R > >, stack_ctx) + callee_( trampoline< symmetric_coroutine_impl< R > >, palloc) { if ( unwind) flags_ |= flag_force_unwind; if ( preserve_fpu) flags_ |= flag_preserve_fpu; @@ -182,11 +183,11 @@ class symmetric_coroutine_impl< R & > : private noncopyable public: typedef parameters< R & > param_type; - symmetric_coroutine_impl( stack_context const& stack_ctx, + symmetric_coroutine_impl( preallocated const& palloc, bool unwind, bool preserve_fpu) BOOST_NOEXCEPT : flags_( 0), caller_(), - callee_( trampoline< symmetric_coroutine_impl< R > >, stack_ctx) + callee_( trampoline< symmetric_coroutine_impl< R > >, palloc) { if ( unwind) flags_ |= flag_force_unwind; if ( preserve_fpu) flags_ |= flag_preserve_fpu; @@ -330,11 +331,11 @@ class symmetric_coroutine_impl< void > : private noncopyable public: typedef parameters< void > param_type; - symmetric_coroutine_impl( stack_context const& stack_ctx, + symmetric_coroutine_impl( preallocated const& palloc, bool unwind, bool preserve_fpu) BOOST_NOEXCEPT : flags_( 0), caller_(), - callee_( trampoline_void< symmetric_coroutine_impl< void > >, stack_ctx) + callee_( trampoline_void< symmetric_coroutine_impl< void > >, palloc) { if ( unwind) flags_ |= flag_force_unwind; if ( preserve_fpu) flags_ |= flag_preserve_fpu; @@ -342,25 +343,25 @@ public: virtual ~symmetric_coroutine_impl() {} - bool force_unwind() const BOOST_NOEXCEPT + inline bool force_unwind() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_force_unwind); } - bool unwind_requested() const BOOST_NOEXCEPT + inline bool unwind_requested() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_unwind_stack); } - bool preserve_fpu() const BOOST_NOEXCEPT + inline bool preserve_fpu() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_preserve_fpu); } - bool is_started() const BOOST_NOEXCEPT + inline bool is_started() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_started); } - bool is_running() const BOOST_NOEXCEPT + inline bool is_running() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_running); } - bool is_complete() const BOOST_NOEXCEPT + inline bool is_complete() const BOOST_NOEXCEPT { return 0 != ( flags_ & flag_complete); } - void unwind_stack() BOOST_NOEXCEPT + inline void unwind_stack() BOOST_NOEXCEPT { if ( is_started() && ! is_complete() && force_unwind() ) { @@ -378,7 +379,7 @@ public: } } - void resume() BOOST_NOEXCEPT + inline void resume() BOOST_NOEXCEPT { BOOST_ASSERT( ! is_running() ); BOOST_ASSERT( ! is_complete() ); @@ -392,7 +393,7 @@ public: flags_ &= ~flag_running; } - void yield() BOOST_NOEXCEPT + inline void yield() { BOOST_ASSERT( is_running() ); BOOST_ASSERT( ! is_complete() ); diff --git a/3party/boost/boost/coroutine/detail/symmetric_coroutine_object.hpp b/3party/boost/boost/coroutine/detail/symmetric_coroutine_object.hpp index c7516f9cc2..0e528f9611 100644 --- a/3party/boost/boost/coroutine/detail/symmetric_coroutine_object.hpp +++ b/3party/boost/boost/coroutine/detail/symmetric_coroutine_object.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include @@ -52,31 +53,29 @@ private: public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES symmetric_coroutine_object( Fn fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - impl_t( internal_stack_ctx, + impl_t( palloc, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), fn_( fn), - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} #endif symmetric_coroutine_object( BOOST_RV_REF( Fn) fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - impl_t( internal_stack_ctx, + impl_t( palloc, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn_( fn), #else - fn_( forward< Fn >( fn) ), + fn_( boost::forward< Fn >( fn) ), #endif - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} @@ -133,31 +132,29 @@ private: public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES symmetric_coroutine_object( Fn fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - impl_t( internal_stack_ctx, + impl_t( palloc, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), fn_( fn), - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} #endif symmetric_coroutine_object( BOOST_RV_REF( Fn) fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - impl_t( internal_stack_ctx, + impl_t( palloc, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn_( fn), #else - fn_( forward< Fn >( fn) ), + fn_( boost::forward< Fn >( fn) ), #endif - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} @@ -214,31 +211,29 @@ private: public: #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES symmetric_coroutine_object( Fn fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - impl_t( internal_stack_ctx, + impl_t( palloc, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), fn_( fn), - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} #endif symmetric_coroutine_object( BOOST_RV_REF( Fn) fn, attributes const& attrs, - stack_context const& stack_ctx, - stack_context const& internal_stack_ctx, + preallocated const& palloc, StackAllocator const& stack_alloc) BOOST_NOEXCEPT : - impl_t( internal_stack_ctx, + impl_t( palloc, stack_unwind == attrs.do_unwind, fpu_preserved == attrs.preserve_fpu), #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES fn_( fn), #else - fn_( forward< Fn >( fn) ), + fn_( boost::forward< Fn >( fn) ), #endif - stack_ctx_( stack_ctx), + stack_ctx_( palloc.sctx), stack_alloc_( stack_alloc) {} diff --git a/3party/boost/boost/coroutine/detail/symmetric_coroutine_yield.hpp b/3party/boost/boost/coroutine/detail/symmetric_coroutine_yield.hpp index c357d9e943..296676b6f9 100644 --- a/3party/boost/boost/coroutine/detail/symmetric_coroutine_yield.hpp +++ b/3party/boost/boost/coroutine/detail/symmetric_coroutine_yield.hpp @@ -255,13 +255,13 @@ public: BOOST_EXPLICIT_OPERATOR_BOOL(); - bool operator!() const BOOST_NOEXCEPT + inline bool operator!() const BOOST_NOEXCEPT { return 0 == impl_; } - void swap( symmetric_coroutine_yield & other) BOOST_NOEXCEPT + inline void swap( symmetric_coroutine_yield & other) BOOST_NOEXCEPT { std::swap( impl_, other.impl_); } - symmetric_coroutine_yield & operator()() + inline symmetric_coroutine_yield & operator()() { impl_->yield(); return * this; diff --git a/3party/boost/boost/coroutine/exceptions.hpp b/3party/boost/boost/coroutine/exceptions.hpp index f263429719..5dbd55f106 100644 --- a/3party/boost/boost/coroutine/exceptions.hpp +++ b/3party/boost/boost/coroutine/exceptions.hpp @@ -36,7 +36,8 @@ BOOST_SCOPED_ENUM_DECLARE_BEGIN(coroutine_errc) } BOOST_SCOPED_ENUM_DECLARE_END(coroutine_errc) -BOOST_COROUTINES_DECL system::error_category const& coroutine_category() BOOST_NOEXCEPT; +BOOST_COROUTINES_DECL +system::error_category const& coroutine_category() BOOST_NOEXCEPT; } @@ -81,9 +82,6 @@ public: system::error_code const& code() const BOOST_NOEXCEPT { return ec_; } - - const char* what() const throw() - { return code().message().c_str(); } }; class invalid_result : public coroutine_error diff --git a/3party/boost/boost/coroutine/posix/protected_stack_allocator.hpp b/3party/boost/boost/coroutine/posix/protected_stack_allocator.hpp index f9b153d4a9..659de337a1 100644 --- a/3party/boost/boost/coroutine/posix/protected_stack_allocator.hpp +++ b/3party/boost/boost/coroutine/posix/protected_stack_allocator.hpp @@ -14,6 +14,10 @@ extern "C" { #include } +#if defined(BOOST_USE_VALGRIND) +#include +#endif + #include #include #include @@ -70,6 +74,9 @@ struct basic_protected_stack_allocator ctx.size = size_; ctx.sp = static_cast< char * >( limit) + ctx.size; +#if defined(BOOST_USE_VALGRIND) + ctx.valgrind_stack_id = VALGRIND_STACK_REGISTER( ctx.sp, limit); +#endif } void deallocate( stack_context & ctx) @@ -78,6 +85,9 @@ struct basic_protected_stack_allocator BOOST_ASSERT( traits_type::minimum_size() <= ctx.size); BOOST_ASSERT( traits_type::is_unbounded() || ( traits_type::maximum_size() >= ctx.size) ); +#if defined(BOOST_USE_VALGRIND) + VALGRIND_STACK_DEREGISTER( ctx.valgrind_stack_id); +#endif void * limit = static_cast< char * >( ctx.sp) - ctx.size; // conform to POSIX.4 (POSIX.1b-1993, _POSIX_C_SOURCE=199309L) ::munmap( limit, ctx.size); diff --git a/3party/boost/boost/coroutine/stack_context.hpp b/3party/boost/boost/coroutine/stack_context.hpp index 53344e30f2..1ca11eb4a8 100644 --- a/3party/boost/boost/coroutine/stack_context.hpp +++ b/3party/boost/boost/coroutine/stack_context.hpp @@ -28,9 +28,15 @@ struct stack_context std::size_t size; void * sp; segments_context segments_ctx; +#if defined(BOOST_USE_VALGRIND) + unsigned valgrind_stack_id; +#endif stack_context() : size( 0), sp( 0), segments_ctx() +#if defined(BOOST_USE_VALGRIND) + , valgrind_stack_id( 0) +#endif {} }; #else @@ -38,9 +44,15 @@ struct stack_context { std::size_t size; void * sp; +#if defined(BOOST_USE_VALGRIND) + unsigned valgrind_stack_id; +#endif stack_context() : size( 0), sp( 0) +#if defined(BOOST_USE_VALGRIND) + , valgrind_stack_id( 0) +#endif {} }; #endif diff --git a/3party/boost/boost/coroutine/standard_stack_allocator.hpp b/3party/boost/boost/coroutine/standard_stack_allocator.hpp index 3341ce3ec8..b946fffc4a 100644 --- a/3party/boost/boost/coroutine/standard_stack_allocator.hpp +++ b/3party/boost/boost/coroutine/standard_stack_allocator.hpp @@ -7,6 +7,10 @@ #ifndef BOOST_COROUTINES_STANDARD_STACK_ALLOCATOR_H #define BOOST_COROUTINES_STANDARD_STACK_ALLOCATOR_H +#if defined(BOOST_USE_VALGRIND) +#include +#endif + #include #include #include @@ -40,6 +44,9 @@ struct basic_standard_stack_allocator ctx.size = size; ctx.sp = static_cast< char * >( limit) + ctx.size; +#if defined(BOOST_USE_VALGRIND) + ctx.valgrind_stack_id = VALGRIND_STACK_REGISTER( ctx.sp, limit); +#endif } void deallocate( stack_context & ctx) @@ -48,6 +55,10 @@ struct basic_standard_stack_allocator BOOST_ASSERT( traits_type::minimum_size() <= ctx.size); BOOST_ASSERT( traits_type::is_unbounded() || ( traits_type::maximum_size() >= ctx.size) ); +#if defined(BOOST_USE_VALGRIND) + VALGRIND_STACK_DEREGISTER( ctx.valgrind_stack_id); +#endif + void * limit = static_cast< char * >( ctx.sp) - ctx.size; std::free( limit); } diff --git a/3party/boost/boost/coroutine2/all.hpp b/3party/boost/boost/coroutine2/all.hpp new file mode 100644 index 0000000000..f54b4569eb --- /dev/null +++ b/3party/boost/boost/coroutine2/all.hpp @@ -0,0 +1,15 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_ALL_H +#define BOOST_COROUTINES2_ALL_H + +#include +#include +#include +#include + +#endif // BOOST_COROUTINES2_ALL_H diff --git a/3party/boost/boost/coroutine2/coroutine.hpp b/3party/boost/boost/coroutine2/coroutine.hpp new file mode 100644 index 0000000000..0269299518 --- /dev/null +++ b/3party/boost/boost/coroutine2/coroutine.hpp @@ -0,0 +1,39 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_COROUTINE_H +#define BOOST_COROUTINES2_COROUTINE_H + +#include + +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { + +template< typename T > +struct coroutine { + typedef detail::pull_coroutine< T > pull_type; + typedef detail::push_coroutine< T > push_type; +}; + +template< typename T > +using asymmetric_coroutine = coroutine< T >; + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_COROUTINE_H diff --git a/3party/boost/boost/coroutine2/detail/config.hpp b/3party/boost/boost/coroutine2/detail/config.hpp new file mode 100644 index 0000000000..c439ecc0ea --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/config.hpp @@ -0,0 +1,51 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_CONFIG_H +#define BOOST_COROUTINES2_DETAIL_CONFIG_H + +#include +#include +#include + +#ifdef BOOST_COROUTINES2_DECL +# undef BOOST_COROUTINES2_DECL +#endif + +#if (defined(BOOST_ALL_DYN_LINK) || defined(BOOST_COROUTINES2_DYN_LINK) ) && ! defined(BOOST_COROUTINES2_STATIC_LINK) +# if defined(BOOST_COROUTINES2_SOURCE) +# define BOOST_COROUTINES2_DECL BOOST_SYMBOL_EXPORT +# define BOOST_COROUTINES2_BUILD_DLL +# else +# define BOOST_COROUTINES2_DECL BOOST_SYMBOL_IMPORT +# endif +#endif + +#if ! defined(BOOST_COROUTINES2_DECL) +# define BOOST_COROUTINES2_DECL +#endif + +#if ! defined(BOOST_COROUTINES2_SOURCE) && ! defined(BOOST_ALL_NO_LIB) && ! defined(BOOST_COROUTINES2_NO_LIB) +# define BOOST_LIB_NAME boost_coroutine +# if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_COROUTINES2_DYN_LINK) +# define BOOST_DYN_LINK +# endif +# include +#endif + +#if defined(BOOST_USE_SEGMENTED_STACKS) +# if ! ( (defined(__GNUC__) && __GNUC__ > 3 && __GNUC_MINOR__ > 6) || \ + (defined(__clang__) && __clang_major__ > 2 && __clang_minor__ > 3) ) +# error "compiler does not support segmented_stack stacks" +# endif +# define BOOST_COROUTINES2_SEGMENTS 10 +#endif + +#if defined(BOOST_CONTEXT_NO_EXECUTION_CONTEXT) +# error "execution_context from boost.context not supported" +#endif + +#endif // BOOST_COROUTINES2_DETAIL_CONFIG_H diff --git a/3party/boost/boost/coroutine2/detail/coroutine.hpp b/3party/boost/boost/coroutine2/detail/coroutine.hpp new file mode 100644 index 0000000000..55641e443c --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/coroutine.hpp @@ -0,0 +1,44 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_COROUTINE_HPP +#define BOOST_COROUTINES2_DETAIL_COROUTINE_HPP + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +template< typename T > +class pull_coroutine; + +template< typename T > +class push_coroutine; + +}}} + +#include +#include + +#include +#include + +#include +#include + +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_COROUTINE_HPP diff --git a/3party/boost/boost/coroutine2/detail/forced_unwind.hpp b/3party/boost/boost/coroutine2/detail/forced_unwind.hpp new file mode 100644 index 0000000000..e04eb72d69 --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/forced_unwind.hpp @@ -0,0 +1,33 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_FORCED_UNWIND_HPP +#define BOOST_COROUTINES2_DETAIL_FORCED_UNWIND_HPP + +#include + +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +struct forced_unwind {}; + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_FORCED_UNWIND_HPP diff --git a/3party/boost/boost/coroutine2/detail/pull_control_block.hpp b/3party/boost/boost/coroutine2/detail/pull_control_block.hpp new file mode 100644 index 0000000000..1abb34a0db --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/pull_control_block.hpp @@ -0,0 +1,100 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_PULL_CONTROL_BLOCK_HPP +#define BOOST_COROUTINES2_DETAIL_PULL_CONTROL_BLOCK_HPP + +#include + +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +template< typename T > +struct pull_coroutine< T >::control_block { + typename push_coroutine< T >::control_block * other; + boost::context::execution_context caller; + boost::context::execution_context callee; + bool preserve_fpu; + int state; + std::exception_ptr except; + + template< typename StackAllocator, typename Fn > + control_block( context::preallocated, StackAllocator, Fn &&, bool); + + explicit control_block( typename push_coroutine< T >::control_block *); + + ~control_block(); + + control_block( control_block &) = delete; + control_block & operator=( control_block &) = delete; + + void resume(); + + bool valid() const noexcept; +}; + +template< typename T > +struct pull_coroutine< T & >::control_block { + typename push_coroutine< T & >::control_block * other; + boost::context::execution_context caller; + boost::context::execution_context callee; + bool preserve_fpu; + int state; + std::exception_ptr except; + + template< typename StackAllocator, typename Fn > + control_block( context::preallocated, StackAllocator, Fn &&, bool); + + explicit control_block( typename push_coroutine< T & >::control_block *); + + ~control_block(); + + control_block( control_block &) = delete; + control_block & operator=( control_block &) = delete; + + void resume(); + + bool valid() const noexcept; +}; + +struct pull_coroutine< void >::control_block { + push_coroutine< void >::control_block * other; + boost::context::execution_context caller; + boost::context::execution_context callee; + bool preserve_fpu; + int state; + std::exception_ptr except; + + template< typename StackAllocator, typename Fn > + control_block( context::preallocated, StackAllocator, Fn &&, bool); + + explicit control_block( push_coroutine< void >::control_block *); + + ~control_block(); + + control_block( control_block &) = delete; + control_block & operator=( control_block &) = delete; + + void resume(); + + bool valid() const noexcept; +}; + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_PULL_CONTROL_BLOCK_HPP diff --git a/3party/boost/boost/coroutine2/detail/pull_control_block.ipp b/3party/boost/boost/coroutine2/detail/pull_control_block.ipp new file mode 100644 index 0000000000..fd806ecb21 --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/pull_control_block.ipp @@ -0,0 +1,258 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_PULL_CONTROL_BLOCK_IPP +#define BOOST_COROUTINES2_DETAIL_PULL_CONTROL_BLOCK_IPP + +#include + +#include +#include + +#include + +#include +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +// pull_coroutine< T > + +template< typename T > +template< typename StackAllocator, typename Fn > +pull_coroutine< T >::control_block::control_block( context::preallocated palloc, StackAllocator salloc, + Fn && fn_, bool preserve_fpu_) : + other( nullptr), + caller( boost::context::execution_context::current() ), + callee( palloc, salloc, + [=,fn=std::forward< Fn >( fn_)] () mutable -> decltype( auto) { + // create synthesized push_coroutine< T > + typename push_coroutine< T >::control_block synthesized_cb( this); + push_coroutine< T > synthesized( & synthesized_cb); + other = & synthesized_cb; + try { + // call coroutine-fn with synthesized push_coroutine as argument + fn( synthesized); + } catch ( forced_unwind const&) { + // do nothing for unwinding exception + } catch (...) { + // store other exceptions in exception-pointer + except = std::current_exception(); + } + // set termination flags + state |= static_cast< int >( state_t::complete); + // jump back to caller + caller( preserve_fpu); + BOOST_ASSERT_MSG( false, "pull_coroutine is complete"); + }), + preserve_fpu( preserve_fpu_), + state( static_cast< int >( state_t::unwind) ), + except() { + callee( preserve_fpu); +} + +template< typename T > +pull_coroutine< T >::control_block::control_block( typename push_coroutine< T >::control_block * cb) : + other( cb), + caller( other->callee), + callee( other->caller), + preserve_fpu( other->preserve_fpu), + state( 0), + except() { +} + +template< typename T > +pull_coroutine< T >::control_block::~control_block() { + if ( 0 == ( state & static_cast< int >( state_t::complete ) ) && + 0 != ( state & static_cast< int >( state_t::unwind) ) ) { + // set early-exit flag + state |= static_cast< int >( state_t::early_exit); + callee( preserve_fpu); + } +} + +template< typename T > +void +pull_coroutine< T >::control_block::resume() { + callee( preserve_fpu); + if ( except) { + std::rethrow_exception( except); + } + // test early-exit-flag + if ( 0 != ( ( other->state) & static_cast< int >( state_t::early_exit) ) ) { + throw forced_unwind(); + } +} + +template< typename T > +bool +pull_coroutine< T >::control_block::valid() const noexcept { + return nullptr != other && nullptr != other->t && 0 == ( state & static_cast< int >( state_t::complete) ); +} + + +// pull_coroutine< T & > + +template< typename T > +template< typename StackAllocator, typename Fn > +pull_coroutine< T & >::control_block::control_block( context::preallocated palloc, StackAllocator salloc, + Fn && fn_, bool preserve_fpu_) : + other( nullptr), + caller( boost::context::execution_context::current() ), + callee( palloc, salloc, + [=,fn=std::forward< Fn >( fn_)] () mutable -> decltype( auto) { + // create synthesized push_coroutine< T > + typename push_coroutine< T & >::control_block synthesized_cb( this); + push_coroutine< T & > synthesized( & synthesized_cb); + other = & synthesized_cb; + try { + // call coroutine-fn with synthesized push_coroutine as argument + fn( synthesized); + } catch ( forced_unwind const&) { + // do nothing for unwinding exception + } catch (...) { + // store other exceptions in exception-pointer + except = std::current_exception(); + } + // set termination flags + state |= static_cast< int >( state_t::complete); + // jump back to caller + caller( preserve_fpu); + BOOST_ASSERT_MSG( false, "pull_coroutine is complete"); + }), + preserve_fpu( preserve_fpu_), + state( static_cast< int >( state_t::unwind) ), + except() { + callee( preserve_fpu); +} + +template< typename T > +pull_coroutine< T & >::control_block::control_block( typename push_coroutine< T & >::control_block * cb) : + other( cb), + caller( other->callee), + callee( other->caller), + preserve_fpu( other->preserve_fpu), + state( 0), + except() { +} + +template< typename T > +pull_coroutine< T & >::control_block::~control_block() { + if ( 0 == ( state & static_cast< int >( state_t::complete ) ) && + 0 != ( state & static_cast< int >( state_t::unwind) ) ) { + // set early-exit flag + state |= static_cast< int >( state_t::early_exit); + callee( preserve_fpu); + } +} + +template< typename T > +void +pull_coroutine< T & >::control_block::resume() { + callee( preserve_fpu); + if ( except) { + std::rethrow_exception( except); + } + // test early-exit-flag + if ( 0 != ( ( other->state) & static_cast< int >( state_t::early_exit) ) ) { + throw forced_unwind(); + } +} + +template< typename T > +bool +pull_coroutine< T & >::control_block::valid() const noexcept { + return nullptr != other && nullptr != other->t && 0 == ( state & static_cast< int >( state_t::complete) ); +} + + +// pull_coroutine< void > + +template< typename StackAllocator, typename Fn > +pull_coroutine< void >::control_block::control_block( context::preallocated palloc, StackAllocator salloc, + Fn && fn_, bool preserve_fpu_) : + other( nullptr), + caller( boost::context::execution_context::current() ), + callee( palloc, salloc, + [=,fn=std::forward< Fn >( fn_)] () mutable -> decltype( auto) { + // create synthesized push_coroutine< T > + typename push_coroutine< void >::control_block synthesized_cb( this); + push_coroutine< void > synthesized( & synthesized_cb); + other = & synthesized_cb; + try { + // call coroutine-fn with synthesized push_coroutine as argument + fn( synthesized); + } catch ( forced_unwind const&) { + // do nothing for unwinding exception + } catch (...) { + // store other exceptions in exception-pointer + except = std::current_exception(); + } + // set termination flags + state |= static_cast< int >( state_t::complete); + // jump back to caller + caller( preserve_fpu); + BOOST_ASSERT_MSG( false, "pull_coroutine is complete"); + }), + preserve_fpu( preserve_fpu_), + state( static_cast< int >( state_t::unwind) ), + except() { + callee( preserve_fpu); +} + +inline +pull_coroutine< void >::control_block::control_block( push_coroutine< void >::control_block * cb) : + other( cb), + caller( other->callee), + callee( other->caller), + preserve_fpu( other->preserve_fpu), + state( 0), + except() { +} + +inline +pull_coroutine< void >::control_block::~control_block() { + if ( 0 == ( state & static_cast< int >( state_t::complete ) ) && + 0 != ( state & static_cast< int >( state_t::unwind) ) ) { + // set early-exit flag + state |= static_cast< int >( state_t::early_exit); + callee( preserve_fpu); + } +} + +inline +void +pull_coroutine< void >::control_block::resume() { + callee( preserve_fpu); + if ( except) { + std::rethrow_exception( except); + } + // test early-exit-flag + if ( 0 != ( ( other->state) & static_cast< int >( state_t::early_exit) ) ) { + throw forced_unwind(); + } +} + +inline +bool +pull_coroutine< void >::control_block::valid() const noexcept { + return nullptr != other && 0 == ( state & static_cast< int >( state_t::complete) ); +} + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_PULL_CONTROL_BLOCK_IPP diff --git a/3party/boost/boost/coroutine2/detail/pull_coroutine.hpp b/3party/boost/boost/coroutine2/detail/pull_coroutine.hpp new file mode 100644 index 0000000000..ff76bd3aac --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/pull_coroutine.hpp @@ -0,0 +1,312 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_PULL_COROUTINE_HPP +#define BOOST_COROUTINES2_DETAIL_PULL_COROUTINE_HPP + +#include +#include + +#include +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +template< typename T > +class pull_coroutine { +private: + template< typename X > + friend class push_coroutine; + + struct control_block; + + control_block * cb_; + + explicit pull_coroutine( control_block *); + + bool has_result_() const; + +public: + template< typename Fn > + explicit pull_coroutine( Fn &&, bool = false); + + template< typename StackAllocator, typename Fn > + explicit pull_coroutine( StackAllocator, Fn &&, bool = false); + + ~pull_coroutine(); + + pull_coroutine( pull_coroutine const&) = delete; + pull_coroutine & operator=( pull_coroutine const&) = delete; + + pull_coroutine( pull_coroutine &&); + + pull_coroutine & operator=( pull_coroutine && other) { + if ( this != & other) { + cb_ = other.cb_; + other.cb_ = nullptr; + } + return * this; + } + + pull_coroutine & operator()(); + + explicit operator bool() const noexcept; + + bool operator!() const noexcept; + + T get() const noexcept; + + class iterator : public std::iterator< std::input_iterator_tag, typename std::remove_reference< T >::type > { + private: + pull_coroutine< T > * c_; + + void fetch_() { + BOOST_ASSERT( nullptr != c_); + if ( ! ( * c_) ) { + c_ = nullptr; + return; + } + } + + void increment_() { + BOOST_ASSERT( nullptr != c_); + BOOST_ASSERT( * c_); + ( * c_)(); + fetch_(); + } + + public: + typedef typename iterator::pointer pointer_t; + typedef typename iterator::reference reference_t; + + iterator() : + c_( nullptr) { + } + + explicit iterator( pull_coroutine< T > * c) : + c_( c) { + fetch_(); + } + + iterator( iterator const& other) : + c_( other.c_) { + } + + iterator & operator=( iterator const& other) { + if ( this == & other) return * this; + c_ = other.c_; + return * this; + } + + bool operator==( iterator const& other) const { + return other.c_ == c_; + } + + bool operator!=( iterator const& other) const { + return other.c_ != c_; + } + + iterator & operator++() { + increment_(); + return * this; + } + + iterator operator++( int) = delete; + + reference_t operator*() const { + return * c_->cb_->other->t; + } + + pointer_t operator->() const { + return c_->cb_->other->t; + } + }; + + friend class iterator; +}; + +template< typename T > +class pull_coroutine< T & > { +private: + template< typename X > + friend class push_coroutine; + + struct control_block; + + control_block * cb_; + + explicit pull_coroutine( control_block *); + + bool has_result_() const; + +public: + template< typename Fn > + explicit pull_coroutine( Fn &&, bool = false); + + template< typename StackAllocator, typename Fn > + explicit pull_coroutine( StackAllocator, Fn &&, bool = false); + + ~pull_coroutine(); + + pull_coroutine( pull_coroutine const&) = delete; + pull_coroutine & operator=( pull_coroutine const&) = delete; + + pull_coroutine( pull_coroutine &&); + + pull_coroutine & operator=( pull_coroutine && other) { + if ( this != & other) { + cb_ = other.cb_; + other.cb_ = nullptr; + } + return * this; + } + + pull_coroutine & operator()(); + + explicit operator bool() const noexcept; + + bool operator!() const noexcept; + + T & get() const noexcept; + + class iterator : public std::iterator< std::input_iterator_tag, typename std::remove_reference< T >::type > { + private: + pull_coroutine< T & > * c_; + + void fetch_() { + BOOST_ASSERT( nullptr != c_); + if ( ! ( * c_) ) { + c_ = nullptr; + return; + } + } + + void increment_() { + BOOST_ASSERT( nullptr != c_); + BOOST_ASSERT( * c_); + ( * c_)(); + fetch_(); + } + + public: + typedef typename iterator::pointer pointer_t; + typedef typename iterator::reference reference_t; + + iterator() : + c_( nullptr) { + } + + explicit iterator( pull_coroutine< T & > * c) : + c_( c) { + fetch_(); + } + + iterator( iterator const& other) : + c_( other.c_) { + } + + iterator & operator=( iterator const& other) { + if ( this == & other) return * this; + c_ = other.c_; + return * this; + } + + bool operator==( iterator const& other) const { + return other.c_ == c_; + } + + bool operator!=( iterator const& other) const { + return other.c_ != c_; + } + + iterator & operator++() { + increment_(); + return * this; + } + + iterator operator++( int) = delete; + + reference_t operator*() const { + return * c_->cb_->other->t; + } + + pointer_t operator->() const { + return c_->cb_->other->t; + } + }; + + friend class iterator; +}; + +template<> +class pull_coroutine< void > { +private: + template< typename X > + friend class push_coroutine; + + struct control_block; + + control_block * cb_; + + explicit pull_coroutine( control_block *); + +public: + template< typename Fn > + explicit pull_coroutine( Fn &&, bool = false); + + template< typename StackAllocator, typename Fn > + explicit pull_coroutine( StackAllocator, Fn &&, bool = false); + + ~pull_coroutine(); + + pull_coroutine( pull_coroutine const&) = delete; + pull_coroutine & operator=( pull_coroutine const&) = delete; + + pull_coroutine( pull_coroutine &&); + + pull_coroutine & operator=( pull_coroutine && other) { + if ( this != & other) { + cb_ = other.cb_; + other.cb_ = nullptr; + } + return * this; + } + + pull_coroutine & operator()(); + + explicit operator bool() const noexcept; + + bool operator!() const noexcept; +}; + +template< typename T > +typename pull_coroutine< T >::iterator +begin( pull_coroutine< T > & c) { + return typename pull_coroutine< T >::iterator( & c); +} + +template< typename T > +typename pull_coroutine< T >::iterator +end( pull_coroutine< T > &) { + return typename pull_coroutine< T >::iterator(); +} + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_PULL_COROUTINE_HPP diff --git a/3party/boost/boost/coroutine2/detail/pull_coroutine.ipp b/3party/boost/boost/coroutine2/detail/pull_coroutine.ipp new file mode 100644 index 0000000000..47bfa3fa18 --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/pull_coroutine.ipp @@ -0,0 +1,271 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_PULL_COROUTINE_IPP +#define BOOST_COROUTINES2_DETAIL_PULL_COROUTINE_IPP + +#include +#include +#include + +#include +#include + +#include +#include + +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +// pull_coroutine< T > + +template< typename T > +pull_coroutine< T >::pull_coroutine( control_block * cb) : + cb_( cb) { +} + +template< typename T > +bool +pull_coroutine< T >::has_result_() const { + return nullptr != cb_->other->t; +} + +template< typename T > +template< typename Fn > +pull_coroutine< T >::pull_coroutine( Fn && fn, bool preserve_fpu) : + pull_coroutine( fixedsize_stack(), std::forward< Fn >( fn), preserve_fpu) { +} + +template< typename T > +template< typename StackAllocator, typename Fn > +pull_coroutine< T >::pull_coroutine( StackAllocator salloc, Fn && fn, bool preserve_fpu) : + cb_( nullptr) { + context::stack_context sctx( salloc.allocate() ); + // reserve space for control structure +#if defined(BOOST_NO_CXX14_CONSTEXPR) || defined(BOOST_NO_CXX11_STD_ALIGN) + void * sp = static_cast< char * >( sctx.sp) - sizeof( control_block); + std::size_t size = sctx.size - sizeof( control_block); +#else + constexpr std::size_t func_alignment = 64; // alignof( control_block); + constexpr std::size_t func_size = sizeof( control_block); + // reserve space on stack + void * sp = static_cast< char * >( sctx.sp) - func_size - func_alignment; + // align sp pointer + std::size_t space = func_size + func_alignment; + sp = std::align( func_alignment, func_size, sp, space); + BOOST_ASSERT( nullptr != sp); + // calculate remaining size + std::size_t size = sctx.size - ( static_cast< char * >( sctx.sp) - static_cast< char * >( sp) ); +#endif + // placment new for control structure on coroutine stack + cb_ = new ( sp) control_block( context::preallocated( sp, size, sctx), + salloc, std::forward< Fn >( fn), preserve_fpu); +} + +template< typename T > +pull_coroutine< T >::~pull_coroutine() { + if ( nullptr != cb_) { + cb_->~control_block(); + } +} + +template< typename T > +pull_coroutine< T >::pull_coroutine( pull_coroutine && other) : + cb_( other.cb_) { + other.cb_ = nullptr; +} + +template< typename T > +pull_coroutine< T > & +pull_coroutine< T >::operator()() { + cb_->resume(); + return * this; +} + +template< typename T > +pull_coroutine< T >::operator bool() const noexcept { + return nullptr != cb_ && cb_->valid(); +} + +template< typename T > +bool +pull_coroutine< T >::operator!() const noexcept { + return nullptr == cb_ || ! cb_->valid(); +} + +template< typename T > +T +pull_coroutine< T >::get() const noexcept { + return std::move( * cb_->other->t); +} + + +// pull_coroutine< T & > + +template< typename T > +pull_coroutine< T & >::pull_coroutine( control_block * cb) : + cb_( cb) { +} + +template< typename T > +bool +pull_coroutine< T & >::has_result_() const { + return nullptr != cb_->other->t; +} + +template< typename T > +template< typename Fn > +pull_coroutine< T & >::pull_coroutine( Fn && fn, bool preserve_fpu) : + pull_coroutine( fixedsize_stack(), std::forward< Fn >( fn), preserve_fpu) { +} + +template< typename T > +template< typename StackAllocator, typename Fn > +pull_coroutine< T & >::pull_coroutine( StackAllocator salloc, Fn && fn, bool preserve_fpu) : + cb_( nullptr) { + context::stack_context sctx( salloc.allocate() ); + // reserve space for control structure +#if defined(BOOST_NO_CXX14_CONSTEXPR) || defined(BOOST_NO_CXX11_STD_ALIGN) + void * sp = static_cast< char * >( sctx.sp) - sizeof( control_block); + std::size_t size = sctx.size - sizeof( control_block); +#else + constexpr std::size_t func_alignment = 64; // alignof( control_block); + constexpr std::size_t func_size = sizeof( control_block); + // reserve space on stack + void * sp = static_cast< char * >( sctx.sp) - func_size - func_alignment; + // align sp pointer + std::size_t space = func_size + func_alignment; + sp = std::align( func_alignment, func_size, sp, space); + BOOST_ASSERT( nullptr != sp); + // calculate remaining size + std::size_t size = sctx.size - ( static_cast< char * >( sctx.sp) - static_cast< char * >( sp) ); +#endif + // placment new for control structure on coroutine stack + cb_ = new ( sp) control_block( context::preallocated( sp, size, sctx), + salloc, std::forward< Fn >( fn), preserve_fpu); +} + +template< typename T > +pull_coroutine< T & >::~pull_coroutine() { + if ( nullptr != cb_) { + cb_->~control_block(); + } +} + +template< typename T > +pull_coroutine< T & >::pull_coroutine( pull_coroutine && other) : + cb_( other.cb_) { + other.cb_ = nullptr; +} + +template< typename T > +pull_coroutine< T & > & +pull_coroutine< T & >::operator()() { + cb_->resume(); + return * this; +} + +template< typename T > +pull_coroutine< T & >::operator bool() const noexcept { + return nullptr != cb_ && cb_->valid(); +} + +template< typename T > +bool +pull_coroutine< T & >::operator!() const noexcept { + return nullptr == cb_ || ! cb_->valid(); +} + +template< typename T > +T & +pull_coroutine< T & >::get() const noexcept { + return * cb_->other->t; +} + + +// pull_coroutine< void > + +inline +pull_coroutine< void >::pull_coroutine( control_block * cb) : + cb_( cb) { +} + +template< typename Fn > +pull_coroutine< void >::pull_coroutine( Fn && fn, bool preserve_fpu) : + pull_coroutine( fixedsize_stack(), std::forward< Fn >( fn), preserve_fpu) { +} + +template< typename StackAllocator, typename Fn > +pull_coroutine< void >::pull_coroutine( StackAllocator salloc, Fn && fn, bool preserve_fpu) : + cb_( nullptr) { + context::stack_context sctx( salloc.allocate() ); + // reserve space for control structure +#if defined(BOOST_NO_CXX14_CONSTEXPR) || defined(BOOST_NO_CXX11_STD_ALIGN) + void * sp = static_cast< char * >( sctx.sp) - sizeof( control_block); + std::size_t size = sctx.size - sizeof( control_block); +#else + constexpr std::size_t func_alignment = 64; // alignof( control_block); + constexpr std::size_t func_size = sizeof( control_block); + // reserve space on stack + void * sp = static_cast< char * >( sctx.sp) - func_size - func_alignment; + // align sp pointer + std::size_t space = func_size + func_alignment; + sp = std::align( func_alignment, func_size, sp, space); + BOOST_ASSERT( nullptr != sp); + // calculate remaining size + std::size_t size = sctx.size - ( static_cast< char * >( sctx.sp) - static_cast< char * >( sp) ); +#endif + // placment new for control structure on coroutine stack + cb_ = new ( sp) control_block( context::preallocated( sp, size, sctx), + salloc, std::forward< Fn >( fn), preserve_fpu); +} + +inline +pull_coroutine< void >::~pull_coroutine() { + if ( nullptr != cb_) { + cb_->~control_block(); + } +} + +inline +pull_coroutine< void >::pull_coroutine( pull_coroutine && other) : + cb_( other.cb_) { + other.cb_ = nullptr; +} + +inline +pull_coroutine< void > & +pull_coroutine< void >::operator()() { + cb_->resume(); + return * this; +} + +inline +pull_coroutine< void >::operator bool() const noexcept { + return nullptr != cb_ && cb_->valid(); +} + +inline +bool +pull_coroutine< void >::operator!() const noexcept { + return nullptr == cb_ || ! cb_->valid(); +} + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_PULL_COROUTINE_IPP diff --git a/3party/boost/boost/coroutine2/detail/push_control_block.hpp b/3party/boost/boost/coroutine2/detail/push_control_block.hpp new file mode 100644 index 0000000000..e6c86ffd81 --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/push_control_block.hpp @@ -0,0 +1,104 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_PUSH_CONTROL_BLOCK_HPP +#define BOOST_COROUTINES2_DETAIL_PUSH_CONTROL_BLOCK_HPP + +#include + +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +template< typename T > +struct push_coroutine< T >::control_block { + typename pull_coroutine< T >::control_block * other; + boost::context::execution_context caller; + boost::context::execution_context callee; + bool preserve_fpu; + int state; + std::exception_ptr except; + T * t; + + template< typename StackAllocator, typename Fn > + control_block( context::preallocated, StackAllocator, Fn &&, bool); + + explicit control_block( typename pull_coroutine< T >::control_block *); + + ~control_block(); + + control_block( control_block &) = delete; + control_block & operator=( control_block &) = delete; + + void resume( T const&); + + void resume( T &&); + + bool valid() const noexcept; +}; + +template< typename T > +struct push_coroutine< T & >::control_block { + typename pull_coroutine< T & >::control_block * other; + boost::context::execution_context caller; + boost::context::execution_context callee; + bool preserve_fpu; + int state; + std::exception_ptr except; + T * t; + + template< typename StackAllocator, typename Fn > + control_block( context::preallocated, StackAllocator, Fn &&, bool); + + explicit control_block( typename pull_coroutine< T & >::control_block *); + + ~control_block(); + + control_block( control_block &) = delete; + control_block & operator=( control_block &) = delete; + + void resume( T &); + + bool valid() const noexcept; +}; + +struct push_coroutine< void >::control_block { + pull_coroutine< void >::control_block * other; + boost::context::execution_context caller; + boost::context::execution_context callee; + bool preserve_fpu; + int state; + std::exception_ptr except; + + template< typename StackAllocator, typename Fn > + control_block( context::preallocated, StackAllocator, Fn &&, bool); + + explicit control_block( pull_coroutine< void >::control_block *); + + ~control_block(); + + control_block( control_block &) = delete; + control_block & operator=( control_block &) = delete; + + void resume(); + + bool valid() const noexcept; +}; + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_PUSH_CONTROL_BLOCK_HPP diff --git a/3party/boost/boost/coroutine2/detail/push_control_block.ipp b/3party/boost/boost/coroutine2/detail/push_control_block.ipp new file mode 100644 index 0000000000..ebef5092b5 --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/push_control_block.ipp @@ -0,0 +1,281 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_PUSH_CONTROL_BLOCK_IPP +#define BOOST_COROUTINES2_DETAIL_PUSH_CONTROL_BLOCK_IPP + +#include +#include + +#include +#include + +#include + +#include +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +// push_coroutine< T > + +template< typename T > +template< typename StackAllocator, typename Fn > +push_coroutine< T >::control_block::control_block( context::preallocated palloc, StackAllocator salloc, + Fn && fn_, bool preserve_fpu_) : + other( nullptr), + caller( boost::context::execution_context::current() ), + callee( palloc, salloc, + [=,fn=std::forward< Fn >( fn_)] () mutable -> decltype( auto) { + // create synthesized pull_coroutine< T > + typename pull_coroutine< T >::control_block synthesized_cb( this); + pull_coroutine< T > synthesized( & synthesized_cb); + other = & synthesized_cb; + try { + // call coroutine-fn with synthesized pull_coroutine as argument + fn( synthesized); + } catch ( forced_unwind const&) { + // do nothing for unwinding exception + } catch (...) { + // store other exceptions in exception-pointer + except = std::current_exception(); + } + // set termination flags + state |= static_cast< int >( state_t::complete); + caller( preserve_fpu); + BOOST_ASSERT_MSG( false, "push_coroutine is complete"); + }), + preserve_fpu( preserve_fpu_), + state( static_cast< int >( state_t::unwind) ), + except(), + t( nullptr) { +} + +template< typename T > +push_coroutine< T >::control_block::control_block( typename pull_coroutine< T >::control_block * cb) : + other( cb), + caller( other->callee), + callee( other->caller), + preserve_fpu( other->preserve_fpu), + state( 0), + except(), + t( nullptr) { +} + +template< typename T > +push_coroutine< T >::control_block::~control_block() { + if ( 0 == ( state & static_cast< int >( state_t::complete ) ) && + 0 != ( state & static_cast< int >( state_t::unwind) ) ) { + // set early-exit flag + state |= static_cast< int >( state_t::early_exit); + callee( preserve_fpu); + } +} + +template< typename T > +void +push_coroutine< T >::control_block::resume( T const& t_) { + // store data on this stack + // pass an pointer (address of tmp) to other context + T tmp( t_); + t = & tmp; + callee( preserve_fpu); + t = nullptr; + if ( except) { + std::rethrow_exception( except); + } + // test early-exit-flag + if ( 0 != ( ( other->state) & static_cast< int >( state_t::early_exit) ) ) { + throw forced_unwind(); + } +} + +template< typename T > +void +push_coroutine< T >::control_block::resume( T && t_) { + // store data on this stack + // pass an pointer (address of tmp) to other context + T tmp( std::move( t_) ); + t = & tmp; + callee( preserve_fpu); + t = nullptr; + if ( except) { + std::rethrow_exception( except); + } + // test early-exit-flag + if ( 0 != ( ( other->state) & static_cast< int >( state_t::early_exit) ) ) { + throw forced_unwind(); + } +} + +template< typename T > +bool +push_coroutine< T >::control_block::valid() const noexcept { + return 0 == ( state & static_cast< int >( state_t::complete) ); +} + + +// push_coroutine< T & > + +template< typename T > +template< typename StackAllocator, typename Fn > +push_coroutine< T & >::control_block::control_block( context::preallocated palloc, StackAllocator salloc, + Fn && fn_, bool preserve_fpu_) : + other( nullptr), + caller( boost::context::execution_context::current() ), + callee( palloc, salloc, + [=,fn=std::forward< Fn >( fn_)] () mutable -> decltype( auto) { + // create synthesized pull_coroutine< T > + typename pull_coroutine< T & >::control_block synthesized_cb( this); + pull_coroutine< T & > synthesized( & synthesized_cb); + other = & synthesized_cb; + try { + // call coroutine-fn with synthesized pull_coroutine as argument + fn( synthesized); + } catch ( forced_unwind const&) { + // do nothing for unwinding exception + } catch (...) { + // store other exceptions in exception-pointer + except = std::current_exception(); + } + // set termination flags + state |= static_cast< int >( state_t::complete); + caller( preserve_fpu); + BOOST_ASSERT_MSG( false, "push_coroutine is complete"); + }), + preserve_fpu( preserve_fpu_), + state( static_cast< int >( state_t::unwind) ), + except(), + t( nullptr) { +} + +template< typename T > +push_coroutine< T & >::control_block::control_block( typename pull_coroutine< T & >::control_block * cb) : + other( cb), + caller( other->callee), + callee( other->caller), + preserve_fpu( other->preserve_fpu), + state( 0), + except(), + t( nullptr) { +} + +template< typename T > +push_coroutine< T & >::control_block::~control_block() { + if ( 0 == ( state & static_cast< int >( state_t::complete ) ) && + 0 != ( state & static_cast< int >( state_t::unwind) ) ) { + // set early-exit flag + state |= static_cast< int >( state_t::early_exit); + callee( preserve_fpu); + } +} + +template< typename T > +void +push_coroutine< T & >::control_block::resume( T & t_) { + t = & t_; + callee( preserve_fpu); + t = nullptr; + if ( except) { + std::rethrow_exception( except); + } + // test early-exit-flag + if ( 0 != ( ( other->state) & static_cast< int >( state_t::early_exit) ) ) { + throw forced_unwind(); + } +} + +template< typename T > +bool +push_coroutine< T & >::control_block::valid() const noexcept { + return 0 == ( state & static_cast< int >( state_t::complete) ); +} + + +// push_coroutine< void > + +template< typename StackAllocator, typename Fn > +push_coroutine< void >::control_block::control_block( context::preallocated palloc, StackAllocator salloc, Fn && fn_, bool preserve_fpu_) : + other( nullptr), + caller( boost::context::execution_context::current() ), + callee( palloc, salloc, + [=,fn=std::forward< Fn >( fn_)] () mutable -> decltype( auto) { + // create synthesized pull_coroutine< T > + typename pull_coroutine< void >::control_block synthesized_cb( this); + pull_coroutine< void > synthesized( & synthesized_cb); + other = & synthesized_cb; + try { + // call coroutine-fn with synthesized pull_coroutine as argument + fn( synthesized); + } catch ( forced_unwind const&) { + // do nothing for unwinding exception + } catch (...) { + // store other exceptions in exception-pointer + except = std::current_exception(); + } + // set termination flags + state |= static_cast< int >( state_t::complete); + caller( preserve_fpu); + BOOST_ASSERT_MSG( false, "push_coroutine is complete"); + }), + preserve_fpu( preserve_fpu_), + state( static_cast< int >( state_t::unwind) ), + except() { +} + +inline +push_coroutine< void >::control_block::control_block( pull_coroutine< void >::control_block * cb) : + other( cb), + caller( other->callee), + callee( other->caller), + preserve_fpu( other->preserve_fpu), + state( 0), + except() { +} + +inline +push_coroutine< void >::control_block::~control_block() { + if ( 0 == ( state & static_cast< int >( state_t::complete ) ) && + 0 != ( state & static_cast< int >( state_t::unwind) ) ) { + // set early-exit flag + state |= static_cast< int >( state_t::early_exit); + callee( preserve_fpu); + } +} + +inline +void +push_coroutine< void >::control_block::resume() { + callee( preserve_fpu); + if ( except) { + std::rethrow_exception( except); + } + // test early-exit-flag + if ( 0 != ( ( other->state) & static_cast< int >( state_t::early_exit) ) ) { + throw forced_unwind(); + } +} + +inline +bool +push_coroutine< void >::control_block::valid() const noexcept { + return 0 == ( state & static_cast< int >( state_t::complete) ); +} + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_PUSH_CONTROL_BLOCK_IPP diff --git a/3party/boost/boost/coroutine2/detail/push_coroutine.hpp b/3party/boost/boost/coroutine2/detail/push_coroutine.hpp new file mode 100644 index 0000000000..1a2d01f67e --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/push_coroutine.hpp @@ -0,0 +1,242 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_PUSH_COROUTINE_HPP +#define BOOST_COROUTINES2_DETAIL_PUSH_COROUTINE_HPP + +#include +#include + +#include +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +template< typename T > +class push_coroutine { +private: + template< typename X > + friend class pull_coroutine; + + struct control_block; + + control_block * cb_; + + explicit push_coroutine( control_block *); + +public: + template< typename Fn > + explicit push_coroutine( Fn &&, bool = false); + + template< typename StackAllocator, typename Fn > + explicit push_coroutine( StackAllocator, Fn &&, bool = false); + + ~push_coroutine(); + + push_coroutine( push_coroutine const&) = delete; + push_coroutine & operator=( push_coroutine const&) = delete; + + push_coroutine( push_coroutine &&); + + push_coroutine & operator=( push_coroutine && other) { + if ( this != & other) { + cb_ = other.cb_; + other.cb_ = nullptr; + } + return * this; + } + + push_coroutine & operator()( T const&); + + push_coroutine & operator()( T &&); + + explicit operator bool() const noexcept; + + bool operator!() const noexcept; + + class iterator : public std::iterator< std::output_iterator_tag, void, void, void, void > { + private: + push_coroutine< T > * c_; + + public: + iterator() : + c_( nullptr) { + } + + explicit iterator( push_coroutine< T > * c) : + c_( c) { + } + + iterator & operator=( T t) { + BOOST_ASSERT( c_); + if ( ! ( * c_)( t) ) c_ = 0; + return * this; + } + + bool operator==( iterator const& other) const { + return other.c_ == c_; + } + + bool operator!=( iterator const& other) const { + return other.c_ != c_; + } + + iterator & operator*() { + return * this; + } + + iterator & operator++() { + return * this; + } + }; +}; + +template< typename T > +class push_coroutine< T & > { +private: + template< typename X > + friend class pull_coroutine; + + struct control_block; + + control_block * cb_; + + explicit push_coroutine( control_block *); + +public: + template< typename Fn > + explicit push_coroutine( Fn &&, bool = false); + + template< typename StackAllocator, typename Fn > + explicit push_coroutine( StackAllocator, Fn &&, bool = false); + + ~push_coroutine(); + + push_coroutine( push_coroutine const&) = delete; + push_coroutine & operator=( push_coroutine const&) = delete; + + push_coroutine( push_coroutine &&); + + push_coroutine & operator=( push_coroutine && other) { + if ( this != & other) { + cb_ = other.cb_; + other.cb_ = nullptr; + } + return * this; + } + + push_coroutine & operator()( T &); + + explicit operator bool() const noexcept; + + bool operator!() const noexcept; + + class iterator : public std::iterator< std::output_iterator_tag, void, void, void, void > { + private: + push_coroutine< T & > * c_; + + public: + iterator() : + c_( nullptr) { + } + + explicit iterator( push_coroutine< T & > * c) : + c_( c) { + } + + iterator & operator=( T & t) { + BOOST_ASSERT( c_); + if ( ! ( * c_)( t) ) c_ = 0; + return * this; + } + + bool operator==( iterator const& other) const { + return other.c_ == c_; + } + + bool operator!=( iterator const& other) const { + return other.c_ != c_; + } + + iterator & operator*() { + return * this; + } + + iterator & operator++() { + return * this; + } + }; +}; + +template<> +class push_coroutine< void > { +private: + template< typename X > + friend class pull_coroutine; + + struct control_block; + + control_block * cb_; + + explicit push_coroutine( control_block *); + +public: + template< typename Fn > + explicit push_coroutine( Fn &&, bool = false); + + template< typename StackAllocator, typename Fn > + explicit push_coroutine( StackAllocator, Fn &&, bool = false); + + ~push_coroutine(); + + push_coroutine( push_coroutine const&) = delete; + push_coroutine & operator=( push_coroutine const&) = delete; + + push_coroutine( push_coroutine &&); + + push_coroutine & operator=( push_coroutine && other) { + if ( this != & other) { + cb_ = other.cb_; + other.cb_ = nullptr; + } + return * this; + } + + push_coroutine & operator()(); + + explicit operator bool() const noexcept; + + bool operator!() const noexcept; +}; + +template< typename T > +typename push_coroutine< T >::iterator +begin( push_coroutine< T > & c) { + return typename push_coroutine< T >::iterator( & c); +} + +template< typename T > +typename push_coroutine< T >::iterator +end( push_coroutine< T > &) { + return typename push_coroutine< T >::iterator(); +} + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_PUSH_COROUTINE_HPP diff --git a/3party/boost/boost/coroutine2/detail/push_coroutine.ipp b/3party/boost/boost/coroutine2/detail/push_coroutine.ipp new file mode 100644 index 0000000000..4617e73aac --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/push_coroutine.ipp @@ -0,0 +1,253 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_PUSH_COROUTINE_IPP +#define BOOST_COROUTINES2_DETAIL_PUSH_COROUTINE_IPP + +#include +#include + +#include +#include + +#include +#include + +#include +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +// push_coroutine< T > + +template< typename T > +push_coroutine< T >::push_coroutine( control_block * cb) : + cb_( cb) { +} + +template< typename T > +template< typename Fn > +push_coroutine< T >::push_coroutine( Fn && fn, bool preserve_fpu) : + push_coroutine( fixedsize_stack(), std::forward< Fn >( fn), preserve_fpu) { +} + +template< typename T > +template< typename StackAllocator, typename Fn > +push_coroutine< T >::push_coroutine( StackAllocator salloc, Fn && fn, bool preserve_fpu) : + cb_( nullptr) { + context::stack_context sctx( salloc.allocate() ); + // reserve space for control structure +#if defined(BOOST_NO_CXX14_CONSTEXPR) || defined(BOOST_NO_CXX11_STD_ALIGN) + void * sp = static_cast< char * >( sctx.sp) - sizeof( control_block); + std::size_t size = sctx.size - sizeof( control_block); +#else + constexpr std::size_t func_alignment = 64; // alignof( control_block); + constexpr std::size_t func_size = sizeof( control_block); + // reserve space on stack + void * sp = static_cast< char * >( sctx.sp) - func_size - func_alignment; + // align sp pointer + std::size_t space = func_size + func_alignment; + sp = std::align( func_alignment, func_size, sp, space); + BOOST_ASSERT( nullptr != sp); + // calculate remaining size + std::size_t size = sctx.size - ( static_cast< char * >( sctx.sp) - static_cast< char * >( sp) ); +#endif + // placment new for control structure on coroutine stack + cb_= new ( sp) control_block( context::preallocated( sp, size, sctx), + salloc, std::forward< Fn >( fn), preserve_fpu); +} + +template< typename T > +push_coroutine< T >::~push_coroutine() { + if ( nullptr != cb_) { + cb_->~control_block(); + } +} + +template< typename T > +push_coroutine< T >::push_coroutine( push_coroutine && other) : + cb_( other.cb_) { + other.cb_ = nullptr; +} + +template< typename T > +push_coroutine< T > & +push_coroutine< T >::operator()( T const& t) { + cb_->resume( t); + return * this; +} + +template< typename T > +push_coroutine< T > & +push_coroutine< T >::operator()( T && t) { + cb_->resume( std::forward< T >( t) ); + return * this; +} + +template< typename T > +push_coroutine< T >::operator bool() const noexcept { + return nullptr != cb_ && cb_->valid(); +} + +template< typename T > +bool +push_coroutine< T >::operator!() const noexcept { + return nullptr == cb_ || ! cb_->valid(); +} + + +// push_coroutine< T & > + +template< typename T > +push_coroutine< T & >::push_coroutine( control_block * cb) : + cb_( cb) { +} + +template< typename T > +template< typename Fn > +push_coroutine< T & >::push_coroutine( Fn && fn, bool preserve_fpu) : + push_coroutine( fixedsize_stack(), std::forward< Fn >( fn), preserve_fpu) { +} + +template< typename T > +template< typename StackAllocator, typename Fn > +push_coroutine< T & >::push_coroutine( StackAllocator salloc, Fn && fn, bool preserve_fpu) : + cb_( nullptr) { + context::stack_context sctx( salloc.allocate() ); + // reserve space for control structure +#if defined(BOOST_NO_CXX14_CONSTEXPR) || defined(BOOST_NO_CXX11_STD_ALIGN) + void * sp = static_cast< char * >( sctx.sp) - sizeof( control_block); + std::size_t size = sctx.size - sizeof( control_block); +#else + constexpr std::size_t func_alignment = 64; // alignof( control_block); + constexpr std::size_t func_size = sizeof( control_block); + // reserve space on stack + void * sp = static_cast< char * >( sctx.sp) - func_size - func_alignment; + // align sp pointer + std::size_t space = func_size + func_alignment; + sp = std::align( func_alignment, func_size, sp, space); + BOOST_ASSERT( nullptr != sp); + // calculate remaining size + std::size_t size = sctx.size - ( static_cast< char * >( sctx.sp) - static_cast< char * >( sp) ); +#endif + // placment new for control structure on coroutine stack + cb_ = new ( sp) control_block( context::preallocated( sp, size, sctx), + salloc, std::forward< Fn >( fn), preserve_fpu); +} + +template< typename T > +push_coroutine< T & >::~push_coroutine() { + if ( nullptr != cb_) { + cb_->~control_block(); + } +} + +template< typename T > +push_coroutine< T & >::push_coroutine( push_coroutine && other) : + cb_( other.cb_) { + other.cb_ = nullptr; +} + +template< typename T > +push_coroutine< T & > & +push_coroutine< T & >::operator()( T & t) { + cb_->resume( t); + return * this; +} + +template< typename T > +push_coroutine< T & >::operator bool() const noexcept { + return nullptr != cb_ && cb_->valid(); +} + +template< typename T > +bool +push_coroutine< T & >::operator!() const noexcept { + return nullptr == cb_ || ! cb_->valid(); +} + + +// push_coroutine< void > + +inline +push_coroutine< void >::push_coroutine( control_block * cb) : + cb_( cb) { +} + +template< typename Fn > +push_coroutine< void >::push_coroutine( Fn && fn, bool preserve_fpu) : + push_coroutine( fixedsize_stack(), std::forward< Fn >( fn), preserve_fpu) { +} + +template< typename StackAllocator, typename Fn > +push_coroutine< void >::push_coroutine( StackAllocator salloc, Fn && fn, bool preserve_fpu) : + cb_( nullptr) { + context::stack_context sctx( salloc.allocate() ); + // reserve space for control structure +#if defined(BOOST_NO_CXX14_CONSTEXPR) || defined(BOOST_NO_CXX11_STD_ALIGN) + void * sp = static_cast< char * >( sctx.sp) - sizeof( control_block); + std::size_t size = sctx.size - sizeof( control_block); +#else + constexpr std::size_t func_alignment = 64; // alignof( control_block); + constexpr std::size_t func_size = sizeof( control_block); + // reserve space on stack + void * sp = static_cast< char * >( sctx.sp) - func_size - func_alignment; + // align sp pointer + std::size_t space = func_size + func_alignment; + sp = std::align( func_alignment, func_size, sp, space); + BOOST_ASSERT( nullptr != sp); + // calculate remaining size + std::size_t size = sctx.size - ( static_cast< char * >( sctx.sp) - static_cast< char * >( sp) ); +#endif + // placment new for control structure on coroutine stack + cb_ = new ( sp) control_block( context::preallocated( sp, size, sctx), + salloc, std::forward< Fn >( fn), preserve_fpu); +} + +inline +push_coroutine< void >::~push_coroutine() { + if ( nullptr != cb_) { + cb_->~control_block(); + } +} + +inline +push_coroutine< void >::push_coroutine( push_coroutine && other) : + cb_( other.cb_) { + other.cb_ = nullptr; +} + +inline +push_coroutine< void > & +push_coroutine< void >::operator()() { + cb_->resume(); + return * this; +} + +inline +push_coroutine< void >::operator bool() const noexcept { + return nullptr != cb_ && cb_->valid(); +} + +inline +bool +push_coroutine< void >::operator!() const noexcept { + return nullptr == cb_ || ! cb_->valid(); +} + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_PUSH_COROUTINE_IPP diff --git a/3party/boost/boost/coroutine2/detail/state.hpp b/3party/boost/boost/coroutine2/detail/state.hpp new file mode 100644 index 0000000000..714548ff63 --- /dev/null +++ b/3party/boost/boost/coroutine2/detail/state.hpp @@ -0,0 +1,37 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_DETAIL_ASYMMETRIC_COROUTINE_HPP +#define BOOST_COROUTINES2_DETAIL_ASYMMETRIC_COROUTINE_HPP + +#include + +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { +namespace detail { + +enum class state_t : unsigned int { + complete = 1 << 1, + unwind = 1 << 2, + early_exit = 1 << 3 +}; + +}}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_DETAIL_ASYMMETRIC_COROUTINE_HPP diff --git a/3party/boost/boost/coroutine2/fixedsize_stack.hpp b/3party/boost/boost/coroutine2/fixedsize_stack.hpp new file mode 100644 index 0000000000..56523ab29a --- /dev/null +++ b/3party/boost/boost/coroutine2/fixedsize_stack.hpp @@ -0,0 +1,33 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_FIXEDSIZE_H +#define BOOST_COROUTINES2_FIXEDSIZE_H + +#include + +#include +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { + +typedef boost::context::fixedsize_stack fixedsize_stack; + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_FIXEDSIZE_H diff --git a/3party/boost/boost/coroutine2/protected_fixedsize_stack.hpp b/3party/boost/boost/coroutine2/protected_fixedsize_stack.hpp new file mode 100644 index 0000000000..d2ee279775 --- /dev/null +++ b/3party/boost/boost/coroutine2/protected_fixedsize_stack.hpp @@ -0,0 +1,33 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_PROTECTED_FIXEDSIZE_H +#define BOOST_COROUTINES2_PROTECTED_FIXEDSIZE_H + +#include + +#include +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { + +typedef boost::context::protected_fixedsize_stack protected_fixedsize_stack; + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_PROTECTED_FIXEDSIZE_H diff --git a/3party/boost/boost/coroutine2/segmented_stack.hpp b/3party/boost/boost/coroutine2/segmented_stack.hpp new file mode 100644 index 0000000000..a252ae445f --- /dev/null +++ b/3party/boost/boost/coroutine2/segmented_stack.hpp @@ -0,0 +1,37 @@ + +// Copyright Oliver Kowalke 2014. +// 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_COROUTINES2_SEGMENTED_H +#define BOOST_COROUTINES2_SEGMENTED_H + +#include + +#include +#include +#include + +#include + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_PREFIX +#endif + +namespace boost { +namespace coroutines2 { + +#if defined(BOOST_USE_SEGMENTED_STACKS) +# if ! defined(BOOST_WINDOWS) +typedef boost::context::segmented_stack segmented_stack; +# endif +#endif + +}} + +#ifdef BOOST_HAS_ABI_HEADERS +# include BOOST_ABI_SUFFIX +#endif + +#endif // BOOST_COROUTINES2_SEGMENTED_H diff --git a/3party/boost/boost/cstdint.hpp b/3party/boost/boost/cstdint.hpp index 98faeae019..69888352da 100644 --- a/3party/boost/boost/cstdint.hpp +++ b/3party/boost/boost/cstdint.hpp @@ -140,7 +140,7 @@ namespace boost } // namespace boost -#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) +#elif defined(__FreeBSD__) && (__FreeBSD__ <= 4) || defined(__osf__) || defined(__VMS) || defined(__SOLARIS9__) || defined(__NetBSD__) // FreeBSD and Tru64 have an that contains much of what we need. # include @@ -374,7 +374,7 @@ namespace boost || (defined(_XOPEN_UNIX) && (_XOPEN_UNIX+0 > 0) && !defined(__UCLIBC__)) \ || defined(__CYGWIN__) \ || defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__) \ - || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) + || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(sun) namespace boost { using ::intptr_t; @@ -492,7 +492,7 @@ INT#_C macros if they're not already defined (John Maddock). // 64-bit types + intmax_t and uintmax_t ----------------------------------// #ifndef INT64_C # if defined(BOOST_HAS_LONG_LONG) && \ - (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_LLONG_MAX)) + (defined(ULLONG_MAX) || defined(ULONG_LONG_MAX) || defined(ULONGLONG_MAX) || defined(_ULLONG_MAX) || defined(_LLONG_MAX)) # if defined(__hpux) // HP-UX's value of ULONG_LONG_MAX is unusable in preprocessor expressions @@ -501,7 +501,8 @@ INT#_C macros if they're not already defined (John Maddock). # elif (defined(ULLONG_MAX) && ULLONG_MAX == 18446744073709551615ULL) || \ (defined(ULONG_LONG_MAX) && ULONG_LONG_MAX == 18446744073709551615ULL) || \ (defined(ULONGLONG_MAX) && ULONGLONG_MAX == 18446744073709551615ULL) || \ - (defined(_LLONG_MAX) && _LLONG_MAX == 18446744073709551615ULL) + (defined(_ULLONG_MAX) && _ULLONG_MAX == 18446744073709551615ULL) || \ + (defined(_LLONG_MAX) && _LLONG_MAX == 9223372036854775807LL) # define INT64_C(value) value##LL # define UINT64_C(value) value##uLL diff --git a/3party/boost/boost/cxx11_char_types.hpp b/3party/boost/boost/cxx11_char_types.hpp new file mode 100644 index 0000000000..aed2c86ad5 --- /dev/null +++ b/3party/boost/boost/cxx11_char_types.hpp @@ -0,0 +1,70 @@ +// boost cxx11_char_types.hpp --------------------------------------------------------// + +// Copyright Beman Dawes 2011 + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +//--------------------------------------------------------------------------------------// +// // +// The purpose of this header is to emulate the C++11 char16_t and char32_t // +// character and string types so that they can be used in both C++11 and C++03 // +// programs. // +// // +// The emulation names use char16/char32 rather than char16_t/char32_t to avoid use // +// of names that are keywords in C++11. // +// // +// The emulation names are placed in namespace boost, as is usual for Boost C++11 // +// emulation names such as those in header . // +// // +// An alternative would would have been to place the C++11 emulation names at global // +// scope, and put the C++11 string types in namespace std. That is the approach taken // +// by Microsoft Visual Studio 2010, but is controversion with some Boost users and // +// developers, and runs counter to usual Boost practice. // +// // +// Thanks to Mathias Gaunard and others for discussions leading to the final form // +// of these typedefs. // +// // +// Boost C++11 C++03 // +// ---------------- -------------- -------------------------------- // +// boost::char16 char16_t uint16_t // +// boost::char32 char32_t uint32_t // +// boost::u16string std::u16string std::basic_string // +// boost::u32string std::u32string std::basic_string // +// // +// Uses the typedefs provided by Microsoft Visual C++ 2010 if present // +// // +// Thanks to Mathias Gaunard and others for discussions leading to the final form // +// of these typedefs. // +// // +//--------------------------------------------------------------------------------------// + +#if !defined(BOOST_CXX11_CHAR_TYPES_HPP) +# define BOOST_CXX11_CHAR_TYPES_HPP + +# include +# include +# include + +namespace boost +{ + +# if defined(BOOST_NO_CHAR16_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10 + typedef boost::uint_least16_t char16; + typedef std::basic_string u16string; +# else + typedef char16_t char16; + typedef std::u16string u16string; +# endif + +# if defined(BOOST_NO_CHAR32_T) && (!defined(_MSC_VER) || _MSC_VER < 1600) // 1600 == VC++10 + typedef boost::uint_least32_t char32; + typedef std::basic_string u32string; +# else + typedef char32_t char32; + typedef std::u32string u32string; +# endif + +} // namespace boost + +#endif // !defined(BOOST_CXX11_CHAR_TYPES_HPP) diff --git a/3party/boost/boost/date_time/microsec_time_clock.hpp b/3party/boost/boost/date_time/microsec_time_clock.hpp index bffc74137e..1dd08ffebf 100644 --- a/3party/boost/boost/date_time/microsec_time_clock.hpp +++ b/3party/boost/boost/date_time/microsec_time_clock.hpp @@ -90,7 +90,7 @@ namespace date_time { uint64_t micros = winapi::file_time_to_microseconds(ft); // it will not wrap, since ft is the current time // and cannot be before 1970-Jan-01 std::time_t t = static_cast(micros / 1000000UL); // seconds since epoch - // microseconds -- static casts supress warnings + // microseconds -- static casts suppress warnings boost::uint32_t sub_sec = static_cast(micros % 1000000UL); #else #error Internal Boost.DateTime error: BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK is defined, however neither gettimeofday nor FILETIME support is detected. diff --git a/3party/boost/boost/date_time/posix_time/conversion.hpp b/3party/boost/boost/date_time/posix_time/conversion.hpp index 59e5cb7c12..ed3d4867e9 100644 --- a/3party/boost/boost/date_time/posix_time/conversion.hpp +++ b/3party/boost/boost/date_time/posix_time/conversion.hpp @@ -30,6 +30,14 @@ namespace posix_time { return start + seconds(static_cast(t)); } + //! Function that converts a ptime into a time_t + inline + std::time_t to_time_t(ptime pt) + { + time_duration dur = pt - ptime(gregorian::date(1970,1,1)); + return std::time_t(dur.total_seconds()); + } + //! Convert a time to a tm structure truncating any fractional seconds inline std::tm to_tm(const boost::posix_time::ptime& t) { diff --git a/3party/boost/boost/date_time/time.hpp b/3party/boost/boost/date_time/time.hpp index 0a7810a0ef..632f10d7f2 100644 --- a/3party/boost/boost/date_time/time.hpp +++ b/3party/boost/boost/date_time/time.hpp @@ -49,6 +49,8 @@ namespace date_time { > > { public: + // A tag for type categorization. Can be used to detect Boost.DateTime time points in generic code. + typedef void _is_boost_date_time_time_point; typedef T time_type; typedef typename time_system::time_rep_type time_rep_type; typedef typename time_system::date_type date_type; diff --git a/3party/boost/boost/date_time/time_duration.hpp b/3party/boost/boost/date_time/time_duration.hpp index 92a0e2d59a..58768bcd2d 100644 --- a/3party/boost/boost/date_time/time_duration.hpp +++ b/3party/boost/boost/date_time/time_duration.hpp @@ -42,6 +42,8 @@ namespace date_time { * either (haven't tried) */ { public: + // A tag for type categorization. Can be used to detect Boost.DateTime duration types in generic code. + typedef void _is_boost_date_time_duration; typedef T duration_type; //the subclass typedef rep_type traits_type; typedef typename rep_type::day_type day_type; diff --git a/3party/boost/boost/date_time/time_resolution_traits.hpp b/3party/boost/boost/date_time/time_resolution_traits.hpp index 37785d0e68..3b6134cf1c 100644 --- a/3party/boost/boost/date_time/time_resolution_traits.hpp +++ b/3party/boost/boost/date_time/time_resolution_traits.hpp @@ -68,16 +68,16 @@ namespace date_time { typename frac_sec_type::int_type resolution_adjust, #endif unsigned short frac_digits, - typename v_type = boost::int32_t > + typename var_type = boost::int32_t > class time_resolution_traits { public: typedef typename frac_sec_type::int_type fractional_seconds_type; typedef typename frac_sec_type::int_type tick_type; typedef typename frac_sec_type::impl_type impl_type; - typedef v_type day_type; - typedef v_type hour_type; - typedef v_type min_type; - typedef v_type sec_type; + typedef var_type day_type; + typedef var_type hour_type; + typedef var_type min_type; + typedef var_type sec_type; // bring in function from frac_sec_type traits structs static fractional_seconds_type as_number(impl_type i) diff --git a/3party/boost/boost/detail/indirect_traits.hpp b/3party/boost/boost/detail/indirect_traits.hpp index 7c8f76b09d..6294e40f6a 100644 --- a/3party/boost/boost/detail/indirect_traits.hpp +++ b/3party/boost/boost/detail/indirect_traits.hpp @@ -16,7 +16,6 @@ # include # include -# include # include # include diff --git a/3party/boost/boost/detail/interlocked.hpp b/3party/boost/boost/detail/interlocked.hpp index 1152f710b1..2c91ce286f 100644 --- a/3party/boost/boost/detail/interlocked.hpp +++ b/3party/boost/boost/detail/interlocked.hpp @@ -94,25 +94,33 @@ extern "C" long __cdecl InterlockedExchangeAdd( long*, long ); #elif defined( BOOST_MSVC ) || defined( BOOST_INTEL_WIN ) -#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1500 +#if defined( BOOST_MSVC ) && BOOST_MSVC >= 1400 #include -#elif defined( __CLRCALL_PURE_OR_CDECL ) - -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * ); -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * ); -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedCompareExchange( long volatile *, long, long ); -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchange( long volatile *, long ); -extern "C" long __CLRCALL_PURE_OR_CDECL _InterlockedExchangeAdd( long volatile *, long ); - #else -extern "C" long __cdecl _InterlockedIncrement( long volatile * ); -extern "C" long __cdecl _InterlockedDecrement( long volatile * ); -extern "C" long __cdecl _InterlockedCompareExchange( long volatile *, long, long ); -extern "C" long __cdecl _InterlockedExchange( long volatile *, long ); -extern "C" long __cdecl _InterlockedExchangeAdd( long volatile *, long ); +# if defined( __CLRCALL_PURE_OR_CDECL ) +# define BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL __CLRCALL_PURE_OR_CDECL +# else +# define BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL __cdecl +# endif + +extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedIncrement( long volatile * ); +extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedDecrement( long volatile * ); +extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedCompareExchange( long volatile *, long, long ); +extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedExchange( long volatile *, long ); +extern "C" long BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL _InterlockedExchangeAdd( long volatile *, long ); + +# undef BOOST_INTERLOCKED_CLRCALL_PURE_OR_CDECL + +# if defined( BOOST_MSVC ) && BOOST_MSVC >= 1310 +# pragma intrinsic( _InterlockedIncrement ) +# pragma intrinsic( _InterlockedDecrement ) +# pragma intrinsic( _InterlockedCompareExchange ) +# pragma intrinsic( _InterlockedExchange ) +# pragma intrinsic( _InterlockedExchangeAdd ) +# endif #endif diff --git a/3party/boost/boost/detail/is_incrementable.hpp b/3party/boost/boost/detail/is_incrementable.hpp index 6b36378fa2..88ddb14513 100644 --- a/3party/boost/boost/detail/is_incrementable.hpp +++ b/3party/boost/boost/detail/is_incrementable.hpp @@ -115,7 +115,7 @@ BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl::value) template struct is_postfix_incrementable -BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::impl::value) +BOOST_TT_AUX_BOOL_C_BASE(::boost::detail::is_incrementable_::postfix_impl::value) { BOOST_TT_AUX_BOOL_TRAIT_VALUE_DECL(::boost::detail::is_incrementable_::postfix_impl::value) BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_postfix_incrementable,(T)) diff --git a/3party/boost/boost/detail/lightweight_test_report.hpp b/3party/boost/boost/detail/lightweight_test_report.hpp new file mode 100644 index 0000000000..1511ba9d14 --- /dev/null +++ b/3party/boost/boost/detail/lightweight_test_report.hpp @@ -0,0 +1,56 @@ +// boost/detail/lightweight_test_reporter.hpp ----------------------------------------// + +// Copyright Beman Dawes 2014 + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +//--------------------------------------------------------------------------------------// +// // +// Configuration reporting cpp_main() // +// // +// Displays configuration information, then returns test_main(argc, argv), which // +// must be supplied by the user. // +// // +// Note: cpp_main(argc, argv) is called from a try block in main(), which is // +// supplied by as is a catch block that reports // +// std::exception what(). // +// // +//--------------------------------------------------------------------------------------// + +#include +#include +#include +#include +#include + +int test_main(int argc, char* argv[]); + +int cpp_main(int argc, char* argv[]) +{ + std::cout << BOOST_COMPILER +#ifdef __GNUC__ + << ", __GXX_EXPERIMENTAL_CXX0X__ " +# ifdef __GXX_EXPERIMENTAL_CXX0X__ + "defined" +# else + "not defined" +# endif +#endif + << "\n" + << BOOST_STDLIB << "\n" + << BOOST_PLATFORM << "\n" + << "Boost version " << BOOST_VERSION / 100000 << '.' + << BOOST_VERSION / 100 % 1000 << '.' << BOOST_VERSION % 100 << "\n"; + + std::cout << "Command line: "; + for (int a = 0; a < argc; ++a) + { + std::cout << argv[a]; + if (a != argc - 1) + std::cout << ' '; + } + std::cout << std::endl; + + return test_main(argc, argv); +} \ No newline at end of file diff --git a/3party/boost/boost/detail/utf8_codecvt_facet.hpp b/3party/boost/boost/detail/utf8_codecvt_facet.hpp index c2d042b96b..0cd7f6add6 100644 --- a/3party/boost/boost/detail/utf8_codecvt_facet.hpp +++ b/3party/boost/boost/detail/utf8_codecvt_facet.hpp @@ -14,7 +14,7 @@ /////////1/////////2/////////3/////////4/////////5/////////6/////////7/////////8 // utf8_codecvt_facet.hpp -// This header defines class utf8_codecvt_facet, derived fro +// This header defines class utf8_codecvt_facet, derived from // std::codecvt, which can be used to convert utf8 data in // files into wchar_t strings in the application. // @@ -28,12 +28,13 @@ // This seems inconvenient, and asking a user to link to an unrevieved // library is strange. // Until the above points are fixed, a library which wants to use utf8 must: -// - include this header from one of it's headers or sources -// - include the corresponding .cpp file from one of the sources +// - include this header in one of it's headers or sources +// - include the corresponding boost/detail/utf8_codecvt_facet.ipp file in one +// of its sources // - before including either file, the library must define // - BOOST_UTF8_BEGIN_NAMESPACE to the namespace declaration that must be used // - BOOST_UTF8_END_NAMESPACE to the code to close the previous namespace -// - declaration. +// declaration. // - BOOST_UTF8_DECL -- to the code which must be used for all 'exportable' // symbols. // @@ -42,7 +43,7 @@ // namespace boost { namespace program_options { // #define BOOST_UTF8_END_NAMESPACE }} // #define BOOST_UTF8_DECL BOOST_PROGRAM_OPTIONS_DECL -// #include "../../detail/utf8/utf8_codecvt.cpp" +// #include // // Essentially, each library will have its own copy of utf8 code, in // different namespaces. @@ -92,17 +93,19 @@ namespace std { } #endif -//#if !defined(__MSL_CPP__) && !defined(__LIBCOMO__) -// #define BOOST_CODECVT_DO_LENGTH_CONST const -//#else - #define BOOST_CODECVT_DO_LENGTH_CONST -//#endif - // maximum lenght of a multibyte string #define MB_LENGTH_MAX 8 BOOST_UTF8_BEGIN_NAMESPACE +//----------------------------------------------------------------------------// +// // +// utf8_codecvt_facet // +// // +// See utf8_codecvt_facet.ipp for the implementation. // +//----------------------------------------------------------------------------// + + struct BOOST_UTF8_DECL utf8_codecvt_facet : public std::codecvt { @@ -174,12 +177,32 @@ protected: // How many char objects can I process to get <= max_limit // wchar_t objects? virtual int do_length( - BOOST_CODECVT_DO_LENGTH_CONST std::mbstate_t &, + const std::mbstate_t &, const char * from, const char * from_end, std::size_t max_limit - ) const; - + ) const +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) + throw() +#endif + ; + virtual int do_length( + std::mbstate_t & s, + const char * from, + const char * from_end, + std::size_t max_limit + ) const +#if BOOST_WORKAROUND(__IBMCPP__, BOOST_TESTED_AT(600)) + throw() +#endif + { + return do_length( + const_cast(s), + from, + from_end, + max_limit + ); + } // Largest possible value do_length(state,from,from_end,1) could return. virtual int do_max_length() const BOOST_NOEXCEPT_OR_NOTHROW { return 6; // largest UTF-8 encoding of a UCS-4 character diff --git a/3party/boost/boost/detail/utf8_codecvt_facet.ipp b/3party/boost/boost/detail/utf8_codecvt_facet.ipp index da7529f073..d39170fdab 100644 --- a/3party/boost/boost/detail/utf8_codecvt_facet.ipp +++ b/3party/boost/boost/detail/utf8_codecvt_facet.ipp @@ -171,7 +171,7 @@ std::codecvt_base::result utf8_codecvt_facet::do_out( // How many char objects can I process to get <= max_limit // wchar_t objects? int utf8_codecvt_facet::do_length( - std::mbstate_t &, + const std::mbstate_t &, const char * from, const char * from_end, std::size_t max_limit @@ -216,9 +216,9 @@ unsigned int utf8_codecvt_facet::get_octet_count( else if (0xf8 <= lead_octet && lead_octet <= 0xfb) return 5; else return 6; } -BOOST_UTF8_END_NAMESPACE -namespace { +namespace detail { + template int get_cont_octet_out_count_impl(wchar_t word){ if (word < 0x80) { @@ -269,15 +269,14 @@ int get_cont_octet_out_count_impl<4>(wchar_t word){ #endif } -} // namespace anonymous +} // namespace detail -BOOST_UTF8_BEGIN_NAMESPACE // How many "continuing octets" will be needed for this word // == total octets - 1. int utf8_codecvt_facet::get_cont_octet_out_count( wchar_t word ) const { - return get_cont_octet_out_count_impl(word); + return detail::get_cont_octet_out_count_impl(word); } BOOST_UTF8_END_NAMESPACE diff --git a/3party/boost/boost/detail/winapi/crypt.hpp b/3party/boost/boost/detail/winapi/crypt.hpp new file mode 100644 index 0000000000..c9108f29bf --- /dev/null +++ b/3party/boost/boost/detail/winapi/crypt.hpp @@ -0,0 +1,88 @@ +// crypt.hpp --------------------------------------------------------------// + +// Copyright 2014 Antony Polukhin + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + + +#ifndef BOOST_DETAIL_WINAPI_CRYPT_HPP +#define BOOST_DETAIL_WINAPI_CRYPT_HPP + +#include + +#ifdef BOOST_HAS_PRAGMA_ONCE +#pragma once +#endif + +namespace boost +{ +namespace detail +{ +namespace winapi +{ +#if defined( BOOST_USE_WINDOWS_H ) + typedef HCRYPTPROV HCRYPTPROV_; + + using ::CryptEnumProvidersA; + using ::CryptAcquireContextA; + using ::CryptGenRandom; + using ::CryptReleaseContext; + + const DWORD_ PROV_RSA_FULL_ = PROV_RSA_FULL; + + const DWORD_ CRYPT_VERIFYCONTEXT_ = CRYPT_VERIFYCONTEXT; + const DWORD_ CRYPT_NEWKEYSET_ = CRYPT_NEWKEYSET; + const DWORD_ CRYPT_DELETEKEYSET_ = CRYPT_DELETEKEYSET; + const DWORD_ CRYPT_MACHINE_KEYSET_ = CRYPT_MACHINE_KEYSET; + const DWORD_ CRYPT_SILENT_ = CRYPT_SILENT; +#else +extern "C" { + typedef ULONG_PTR_ HCRYPTPROV_; + + __declspec(dllimport) BOOL_ __stdcall + CryptEnumProvidersA( + DWORD_ dwIndex, + DWORD_ *pdwReserved, + DWORD_ dwFlags, + DWORD_ *pdwProvType, + LPSTR_ szProvName, + DWORD_ *pcbProvName + ); + + __declspec(dllimport) BOOL_ __stdcall + CryptAcquireContextA( + HCRYPTPROV_ *phProv, + LPCSTR_ pszContainer, + LPCSTR_ pszProvider, + DWORD_ dwProvType, + DWORD_ dwFlags + ); + + __declspec(dllimport) BOOL_ __stdcall + CryptGenRandom( + HCRYPTPROV_ hProv, + DWORD_ dwLen, + BYTE_ *pbBuffer + ); + + __declspec(dllimport) BOOL_ __stdcall + CryptReleaseContext( + HCRYPTPROV_ hProv, + DWORD_ dwFlags + ); + + const DWORD_ PROV_RSA_FULL_ = 1; + + const DWORD_ CRYPT_VERIFYCONTEXT_ = 0xF0000000; + const DWORD_ CRYPT_NEWKEYSET_ = 8; + const DWORD_ CRYPT_DELETEKEYSET_ = 16; + const DWORD_ CRYPT_MACHINE_KEYSET_ = 32; + const DWORD_ CRYPT_SILENT_ = 64; +} +#endif +} +} +} + +#endif // BOOST_DETAIL_WINAPI_CRYPT_HPP diff --git a/3party/boost/boost/dynamic_bitset/dynamic_bitset.hpp b/3party/boost/boost/dynamic_bitset/dynamic_bitset.hpp index 4d6011c2e9..39fe156c07 100644 --- a/3party/boost/boost/dynamic_bitset/dynamic_bitset.hpp +++ b/3party/boost/boost/dynamic_bitset/dynamic_bitset.hpp @@ -6,6 +6,7 @@ // // Copyright (c) 2014 Glen Joseph Fernandes // glenfe at live dot com +// Copyright (c) 2014 Riccardo Marcangelo // // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at @@ -227,6 +228,7 @@ public: void resize(size_type num_bits, bool value = false); void clear(); void push_back(bool bit); + void pop_back(); void append(Block block); template @@ -746,6 +748,22 @@ push_back(bool bit) set(sz, bit); } +template +void dynamic_bitset:: +pop_back() +{ + const size_type old_num_blocks = num_blocks(); + const size_type required_blocks = calc_num_blocks(m_num_bits - 1); + + if (required_blocks != old_num_blocks) { + m_bits.pop_back(); + } + + --m_num_bits; + m_zero_unused_bits(); +} + + template void dynamic_bitset:: append(Block value) // strong guarantee diff --git a/3party/boost/boost/endian/arithmetic.hpp b/3party/boost/boost/endian/arithmetic.hpp new file mode 100644 index 0000000000..e20d25b3b4 --- /dev/null +++ b/3party/boost/boost/endian/arithmetic.hpp @@ -0,0 +1,413 @@ +// boost/endian/arithmetic.hpp -------------------------------------------------------// + +// (C) Copyright Darin Adler 2000 +// (C) Copyright Beman Dawes 2006, 2009, 2014 + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +// See library home page at http://www.boost.org/libs/endian + +//--------------------------------------------------------------------------------------// + +// Original design developed by Darin Adler based on classes developed by Mark +// Borgerding. Four original class templates were combined into a single endian +// class template by Beman Dawes, who also added the unrolled_byte_loops sign +// partial specialization to correctly extend the sign when cover integer size +// differs from endian representation size. + +// TODO: When a compiler supporting constexpr becomes available, try possible uses. + +#ifndef BOOST_ENDIAN_ARITHMETIC_HPP +#define BOOST_ENDIAN_ARITHMETIC_HPP + +#if defined(_MSC_VER) +# pragma warning(push) +# pragma warning(disable:4365) // conversion ... signed/unsigned mismatch +#endif + +#ifdef BOOST_ENDIAN_LOG +# include +#endif + +#if defined(__BORLANDC__) || defined( __CODEGEARC__) +# pragma pack(push, 1) +#endif + +#include +#include +#include +#include +#define BOOST_ENDIAN_MINIMAL_COVER_OPERATORS +#include +#undef BOOST_ENDIAN_MINIMAL_COVER_OPERATORS +#include +#include +#include +#include +#include +#include + +# if CHAR_BIT != 8 +# error Platforms with CHAR_BIT != 8 are not supported +# endif + +# ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# define BOOST_ENDIAN_DEFAULT_CONSTRUCT {} // C++03 +# else +# define BOOST_ENDIAN_DEFAULT_CONSTRUCT = default; // C++0x +# endif + +# if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && defined(BOOST_ENDIAN_FORCE_PODNESS) +# define BOOST_ENDIAN_NO_CTORS +# endif + +# ifndef BOOST_ENDIAN_EXPLICIT_CTORS +# define BOOST_ENDIAN_EXPLICIT_OPT +# else +# define BOOST_ENDIAN_EXPLICIT_OPT explicit +# endif + +//---------------------------------- synopsis ----------------------------------------// + +namespace boost +{ +namespace endian +{ + + template + class endian_arithmetic; + + // big endian signed integer aligned types + typedef endian_arithmetic big_int8_at; + typedef endian_arithmetic big_int16_at; + typedef endian_arithmetic big_int32_at; + typedef endian_arithmetic big_int64_at; + + // big endian unsigned integer aligned types + typedef endian_arithmetic big_uint8_at; + typedef endian_arithmetic big_uint16_at; + typedef endian_arithmetic big_uint32_at; + typedef endian_arithmetic big_uint64_at; + + // little endian signed integer aligned types + typedef endian_arithmetic little_int8_at; + typedef endian_arithmetic little_int16_at; + typedef endian_arithmetic little_int32_at; + typedef endian_arithmetic little_int64_at; + + // little endian unsigned integer aligned types + typedef endian_arithmetic little_uint8_at; + typedef endian_arithmetic little_uint16_at; + typedef endian_arithmetic little_uint32_at; + typedef endian_arithmetic little_uint64_at; + + // aligned native endian typedefs are not provided because + // types are superior for this use case + + // big endian signed integer unaligned types + typedef endian_arithmetic big_int8_t; + typedef endian_arithmetic big_int16_t; + typedef endian_arithmetic big_int24_t; + typedef endian_arithmetic big_int32_t; + typedef endian_arithmetic big_int40_t; + typedef endian_arithmetic big_int48_t; + typedef endian_arithmetic big_int56_t; + typedef endian_arithmetic big_int64_t; + + // big endian unsigned integer unaligned types + typedef endian_arithmetic big_uint8_t; + typedef endian_arithmetic big_uint16_t; + typedef endian_arithmetic big_uint24_t; + typedef endian_arithmetic big_uint32_t; + typedef endian_arithmetic big_uint40_t; + typedef endian_arithmetic big_uint48_t; + typedef endian_arithmetic big_uint56_t; + typedef endian_arithmetic big_uint64_t; + + // little endian signed integer unaligned types + typedef endian_arithmetic little_int8_t; + typedef endian_arithmetic little_int16_t; + typedef endian_arithmetic little_int24_t; + typedef endian_arithmetic little_int32_t; + typedef endian_arithmetic little_int40_t; + typedef endian_arithmetic little_int48_t; + typedef endian_arithmetic little_int56_t; + typedef endian_arithmetic little_int64_t; + + // little endian unsigned integer unaligned types + typedef endian_arithmetic little_uint8_t; + typedef endian_arithmetic little_uint16_t; + typedef endian_arithmetic little_uint24_t; + typedef endian_arithmetic little_uint32_t; + typedef endian_arithmetic little_uint40_t; + typedef endian_arithmetic little_uint48_t; + typedef endian_arithmetic little_uint56_t; + typedef endian_arithmetic little_uint64_t; + +# ifdef BOOST_BIG_ENDIAN + // native endian signed integer unaligned types + typedef big_int8_t native_int8_t; + typedef big_int16_t native_int16_t; + typedef big_int24_t native_int24_t; + typedef big_int32_t native_int32_t; + typedef big_int40_t native_int40_t; + typedef big_int48_t native_int48_t; + typedef big_int56_t native_int56_t; + typedef big_int64_t native_int64_t; + + // native endian unsigned integer unaligned types + typedef big_uint8_t native_uint8_t; + typedef big_uint16_t native_uint16_t; + typedef big_uint24_t native_uint24_t; + typedef big_uint32_t native_uint32_t; + typedef big_uint40_t native_uint40_t; + typedef big_uint48_t native_uint48_t; + typedef big_uint56_t native_uint56_t; + typedef big_uint64_t native_uint64_t; +# else + // native endian signed integer unaligned types + typedef little_int8_t native_int8_t; + typedef little_int16_t native_int16_t; + typedef little_int24_t native_int24_t; + typedef little_int32_t native_int32_t; + typedef little_int40_t native_int40_t; + typedef little_int48_t native_int48_t; + typedef little_int56_t native_int56_t; + typedef little_int64_t native_int64_t; + + // native endian unsigned integer unaligned types + typedef little_uint8_t native_uint8_t; + typedef little_uint16_t native_uint16_t; + typedef little_uint24_t native_uint24_t; + typedef little_uint32_t native_uint32_t; + typedef little_uint40_t native_uint40_t; + typedef little_uint48_t native_uint48_t; + typedef little_uint56_t native_uint56_t; + typedef little_uint64_t native_uint64_t; +# endif + +# ifdef BOOST_ENDIAN_DEPRECATED_NAMES + + typedef order endianness; + typedef align alignment; + +# ifndef BOOST_NO_CXX11_TEMPLATE_ALIASES + template + using endian = endian_arithmetic; +# endif + + // unaligned big endian signed integer types + typedef endian_arithmetic< order::big, int_least8_t, 8 > big8_t; + typedef endian_arithmetic< order::big, int_least16_t, 16 > big16_t; + typedef endian_arithmetic< order::big, int_least32_t, 24 > big24_t; + typedef endian_arithmetic< order::big, int_least32_t, 32 > big32_t; + typedef endian_arithmetic< order::big, int_least64_t, 40 > big40_t; + typedef endian_arithmetic< order::big, int_least64_t, 48 > big48_t; + typedef endian_arithmetic< order::big, int_least64_t, 56 > big56_t; + typedef endian_arithmetic< order::big, int_least64_t, 64 > big64_t; + + // unaligned big endian_arithmetic unsigned integer types + typedef endian_arithmetic< order::big, uint_least8_t, 8 > ubig8_t; + typedef endian_arithmetic< order::big, uint_least16_t, 16 > ubig16_t; + typedef endian_arithmetic< order::big, uint_least32_t, 24 > ubig24_t; + typedef endian_arithmetic< order::big, uint_least32_t, 32 > ubig32_t; + typedef endian_arithmetic< order::big, uint_least64_t, 40 > ubig40_t; + typedef endian_arithmetic< order::big, uint_least64_t, 48 > ubig48_t; + typedef endian_arithmetic< order::big, uint_least64_t, 56 > ubig56_t; + typedef endian_arithmetic< order::big, uint_least64_t, 64 > ubig64_t; + + // unaligned little endian_arithmetic signed integer types + typedef endian_arithmetic< order::little, int_least8_t, 8 > little8_t; + typedef endian_arithmetic< order::little, int_least16_t, 16 > little16_t; + typedef endian_arithmetic< order::little, int_least32_t, 24 > little24_t; + typedef endian_arithmetic< order::little, int_least32_t, 32 > little32_t; + typedef endian_arithmetic< order::little, int_least64_t, 40 > little40_t; + typedef endian_arithmetic< order::little, int_least64_t, 48 > little48_t; + typedef endian_arithmetic< order::little, int_least64_t, 56 > little56_t; + typedef endian_arithmetic< order::little, int_least64_t, 64 > little64_t; + + // unaligned little endian_arithmetic unsigned integer types + typedef endian_arithmetic< order::little, uint_least8_t, 8 > ulittle8_t; + typedef endian_arithmetic< order::little, uint_least16_t, 16 > ulittle16_t; + typedef endian_arithmetic< order::little, uint_least32_t, 24 > ulittle24_t; + typedef endian_arithmetic< order::little, uint_least32_t, 32 > ulittle32_t; + typedef endian_arithmetic< order::little, uint_least64_t, 40 > ulittle40_t; + typedef endian_arithmetic< order::little, uint_least64_t, 48 > ulittle48_t; + typedef endian_arithmetic< order::little, uint_least64_t, 56 > ulittle56_t; + typedef endian_arithmetic< order::little, uint_least64_t, 64 > ulittle64_t; + + // unaligned native endian_arithmetic signed integer types + typedef endian_arithmetic< order::native, int_least8_t, 8 > native8_t; + typedef endian_arithmetic< order::native, int_least16_t, 16 > native16_t; + typedef endian_arithmetic< order::native, int_least32_t, 24 > native24_t; + typedef endian_arithmetic< order::native, int_least32_t, 32 > native32_t; + typedef endian_arithmetic< order::native, int_least64_t, 40 > native40_t; + typedef endian_arithmetic< order::native, int_least64_t, 48 > native48_t; + typedef endian_arithmetic< order::native, int_least64_t, 56 > native56_t; + typedef endian_arithmetic< order::native, int_least64_t, 64 > native64_t; + + // unaligned native endian_arithmetic unsigned integer types + typedef endian_arithmetic< order::native, uint_least8_t, 8 > unative8_t; + typedef endian_arithmetic< order::native, uint_least16_t, 16 > unative16_t; + typedef endian_arithmetic< order::native, uint_least32_t, 24 > unative24_t; + typedef endian_arithmetic< order::native, uint_least32_t, 32 > unative32_t; + typedef endian_arithmetic< order::native, uint_least64_t, 40 > unative40_t; + typedef endian_arithmetic< order::native, uint_least64_t, 48 > unative48_t; + typedef endian_arithmetic< order::native, uint_least64_t, 56 > unative56_t; + typedef endian_arithmetic< order::native, uint_least64_t, 64 > unative64_t; + + // aligned native endian_arithmetic typedefs are not provided because + // types are superior for this use case + + typedef endian_arithmetic< order::big, int16_t, 16, align::yes > aligned_big16_t; + typedef endian_arithmetic< order::big, uint16_t, 16, align::yes > aligned_ubig16_t; + typedef endian_arithmetic< order::little, int16_t, 16, align::yes > aligned_little16_t; + typedef endian_arithmetic< order::little, uint16_t, 16, align::yes > aligned_ulittle16_t; + + typedef endian_arithmetic< order::big, int32_t, 32, align::yes > aligned_big32_t; + typedef endian_arithmetic< order::big, uint32_t, 32, align::yes > aligned_ubig32_t; + typedef endian_arithmetic< order::little, int32_t, 32, align::yes > aligned_little32_t; + typedef endian_arithmetic< order::little, uint32_t, 32, align::yes > aligned_ulittle32_t; + + typedef endian_arithmetic< order::big, int64_t, 64, align::yes > aligned_big64_t; + typedef endian_arithmetic< order::big, uint64_t, 64, align::yes > aligned_ubig64_t; + typedef endian_arithmetic< order::little, int64_t, 64, align::yes > aligned_little64_t; + typedef endian_arithmetic< order::little, uint64_t, 64, align::yes > aligned_ulittle64_t; + +# endif + +//---------------------------------- end synopsis ------------------------------------// + +// endian class template specializations ---------------------------------------------// + + // Specializations that represent unaligned bytes. + // Taking an integer type as a parameter provides a nice way to pass both + // the size and signness of the desired integer and get the appropriate + // corresponding integer type for the interface. + + // unaligned integer big endian specialization + template + class endian_arithmetic< order::big, T, n_bits, align::no > + : public endian_buffer< order::big, T, n_bits, align::no >, + cover_operators, T> + { + BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits ); + public: + typedef T value_type; +# ifndef BOOST_ENDIAN_NO_CTORS + endian_arithmetic() BOOST_ENDIAN_DEFAULT_CONSTRUCT + BOOST_ENDIAN_EXPLICIT_OPT endian_arithmetic(T val) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "big, unaligned, " << n_bits << "-bits, construct(" << val << ")\n"; +# endif + detail::store_big_endian(this->m_value, val); + } +# endif + endian_arithmetic& operator=(T val) BOOST_NOEXCEPT + { detail::store_big_endian(this->m_value, val); return *this; } + operator value_type() const BOOST_NOEXCEPT { return this->value(); } + }; + + // unaligned little endian specialization + template + class endian_arithmetic< order::little, T, n_bits, align::no > + : public endian_buffer< order::little, T, n_bits, align::no >, + cover_operators< endian_arithmetic< order::little, T, n_bits >, T > + { + BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits ); + public: + typedef T value_type; +# ifndef BOOST_ENDIAN_NO_CTORS + endian_arithmetic() BOOST_ENDIAN_DEFAULT_CONSTRUCT + BOOST_ENDIAN_EXPLICIT_OPT endian_arithmetic(T val) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "little, unaligned, " << n_bits << "-bits, construct(" << val << ")\n"; +# endif + detail::store_little_endian(this->m_value, val); + } +# endif + endian_arithmetic& operator=(T val) BOOST_NOEXCEPT + { detail::store_little_endian(this->m_value, val); return *this; } + operator value_type() const BOOST_NOEXCEPT { return this->value(); } + }; + + // align::yes specializations; only n_bits == 16/32/64 supported + + // aligned big endian specialization + template + class endian_arithmetic + : public endian_buffer< order::big, T, n_bits, align::yes >, + cover_operators, T> + { + BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits ); + BOOST_STATIC_ASSERT( sizeof(T) == n_bits/8 ); + public: + typedef T value_type; +# ifndef BOOST_ENDIAN_NO_CTORS + endian_arithmetic() BOOST_ENDIAN_DEFAULT_CONSTRUCT + BOOST_ENDIAN_EXPLICIT_OPT endian_arithmetic(T val) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "big, aligned, " << n_bits << "-bits, construct(" << val << ")\n"; +# endif + this->m_value = ::boost::endian::native_to_big(val); + } + +# endif + endian_arithmetic& operator=(T val) BOOST_NOEXCEPT + { + this->m_value = ::boost::endian::native_to_big(val); + return *this; + } + operator value_type() const BOOST_NOEXCEPT { return this->value(); } + }; + + // aligned little endian specialization + template + class endian_arithmetic + : public endian_buffer< order::little, T, n_bits, align::yes >, + cover_operators, T> + { + BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits ); + BOOST_STATIC_ASSERT( sizeof(T) == n_bits/8 ); + public: + typedef T value_type; +# ifndef BOOST_ENDIAN_NO_CTORS + endian_arithmetic() BOOST_ENDIAN_DEFAULT_CONSTRUCT + BOOST_ENDIAN_EXPLICIT_OPT endian_arithmetic(T val) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "little, aligned, " << n_bits << "-bits, construct(" << val << ")\n"; +# endif + this->m_value = ::boost::endian::native_to_little(val); + } +# endif + endian_arithmetic& operator=(T val) BOOST_NOEXCEPT + { + this->m_value = ::boost::endian::native_to_little(val); + return *this; + } + operator value_type() const BOOST_NOEXCEPT { return this->value(); } + }; + +} // namespace endian +} // namespace boost + +#if defined(__BORLANDC__) || defined( __CODEGEARC__) +# pragma pack(pop) +#endif + +#if defined(_MSC_VER) +# pragma warning(pop) +#endif + +#endif // BOOST_ENDIAN_ARITHMETIC_HPP diff --git a/3party/boost/boost/endian/buffers.hpp b/3party/boost/boost/endian/buffers.hpp new file mode 100644 index 0000000000..a9095ac70c --- /dev/null +++ b/3party/boost/boost/endian/buffers.hpp @@ -0,0 +1,515 @@ +// boost/endian/buffers.hpp ----------------------------------------------------------// + +// (C) Copyright Darin Adler 2000 +// (C) Copyright Beman Dawes 2006, 2009, 2014 + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +// See library home page at http://www.boost.org/libs/endian + +//--------------------------------------------------------------------------------------// + +// Original design developed by Darin Adler based on classes developed by Mark +// Borgerding. Four original class templates were combined into a single endian +// class template by Beman Dawes, who also added the unrolled_byte_loops sign +// partial specialization to correctly extend the sign when cover integer size +// differs from endian representation size. + +// TODO: When a compiler supporting constexpr becomes available, try possible uses. + +#ifndef BOOST_ENDIAN_BUFFERS_HPP +#define BOOST_ENDIAN_BUFFERS_HPP + +#if defined(_MSC_VER) +# pragma warning(push) +# pragma warning(disable:4365) // conversion ... signed/unsigned mismatch +#endif + +#ifdef BOOST_ENDIAN_LOG +# include +#endif + +#if defined(__BORLANDC__) || defined( __CODEGEARC__) +# pragma pack(push, 1) +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +# if CHAR_BIT != 8 +# error Platforms with CHAR_BIT != 8 are not supported +# endif + +# ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS +# define BOOST_ENDIAN_DEFAULT_CONSTRUCT {} // C++03 +# else +# define BOOST_ENDIAN_DEFAULT_CONSTRUCT = default; // C++0x +# endif + +# if defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS) && defined(BOOST_ENDIAN_FORCE_PODNESS) +# define BOOST_ENDIAN_NO_CTORS +# endif + +//---------------------------------- synopsis ----------------------------------------// + +namespace boost +{ +namespace endian +{ + + BOOST_SCOPED_ENUM_START(align) + {no, yes +# ifdef BOOST_ENDIAN_DEPRECATED_NAMES + , unaligned = no, aligned = yes +# endif + }; BOOST_SCOPED_ENUM_END + + template + class endian_buffer; + + // aligned big endian signed integer buffers + typedef endian_buffer big_int8_buf_at; + typedef endian_buffer big_int16_buf_at; + typedef endian_buffer big_int32_buf_at; + typedef endian_buffer big_int64_buf_at; + + // aligned big endian unsigned integer buffers + typedef endian_buffer big_uint8_buf_at; + typedef endian_buffer big_uint16_buf_at; + typedef endian_buffer big_uint32_buf_at; + typedef endian_buffer big_uint64_buf_at; + + // aligned little endian signed integer buffers + typedef endian_buffer little_int8_buf_at; + typedef endian_buffer little_int16_buf_at; + typedef endian_buffer little_int32_buf_at; + typedef endian_buffer little_int64_buf_at; + + // aligned little endian unsigned integer buffers + typedef endian_buffer little_uint8_buf_at; + typedef endian_buffer little_uint16_buf_at; + typedef endian_buffer little_uint32_buf_at; + typedef endian_buffer little_uint64_buf_at; + + // aligned native endian typedefs are not provided because + // types are superior for this use case + + // unaligned big endian signed integer buffers + typedef endian_buffer big_int8_buf_t; + typedef endian_buffer big_int16_buf_t; + typedef endian_buffer big_int24_buf_t; + typedef endian_buffer big_int32_buf_t; + typedef endian_buffer big_int40_buf_t; + typedef endian_buffer big_int48_buf_t; + typedef endian_buffer big_int56_buf_t; + typedef endian_buffer big_int64_buf_t; + + // unaligned big endian unsigned integer buffers + typedef endian_buffer big_uint8_buf_t; + typedef endian_buffer big_uint16_buf_t; + typedef endian_buffer big_uint24_buf_t; + typedef endian_buffer big_uint32_buf_t; + typedef endian_buffer big_uint40_buf_t; + typedef endian_buffer big_uint48_buf_t; + typedef endian_buffer big_uint56_buf_t; + typedef endian_buffer big_uint64_buf_t; + + // unaligned little endian signed integer buffers + typedef endian_buffer little_int8_buf_t; + typedef endian_buffer little_int16_buf_t; + typedef endian_buffer little_int24_buf_t; + typedef endian_buffer little_int32_buf_t; + typedef endian_buffer little_int40_buf_t; + typedef endian_buffer little_int48_buf_t; + typedef endian_buffer little_int56_buf_t; + typedef endian_buffer little_int64_buf_t; + + // unaligned little endian unsigned integer buffers + typedef endian_buffer little_uint8_buf_t; + typedef endian_buffer little_uint16_buf_t; + typedef endian_buffer little_uint24_buf_t; + typedef endian_buffer little_uint32_buf_t; + typedef endian_buffer little_uint40_buf_t; + typedef endian_buffer little_uint48_buf_t; + typedef endian_buffer little_uint56_buf_t; + typedef endian_buffer little_uint64_buf_t; + +# ifdef BOOST_BIG_ENDIAN + // unaligned native endian signed integer buffers + typedef big_int8_buf_t native_int8_buf_t; + typedef big_int16_buf_t native_int16_buf_t; + typedef big_int24_buf_t native_int24_buf_t; + typedef big_int32_buf_t native_int32_buf_t; + typedef big_int40_buf_t native_int40_buf_t; + typedef big_int48_buf_t native_int48_buf_t; + typedef big_int56_buf_t native_int56_buf_t; + typedef big_int64_buf_t native_int64_buf_t; + + // unaligned native endian unsigned integer buffers + typedef big_uint8_buf_t native_uint8_buf_t; + typedef big_uint16_buf_t native_uint16_buf_t; + typedef big_uint24_buf_t native_uint24_buf_t; + typedef big_uint32_buf_t native_uint32_buf_t; + typedef big_uint40_buf_t native_uint40_buf_t; + typedef big_uint48_buf_t native_uint48_buf_t; + typedef big_uint56_buf_t native_uint56_buf_t; + typedef big_uint64_buf_t native_uint64_buf_t; +# else + // unaligned native endian signed integer buffers + typedef little_int8_buf_t native_int8_buf_t; + typedef little_int16_buf_t native_int16_buf_t; + typedef little_int24_buf_t native_int24_buf_t; + typedef little_int32_buf_t native_int32_buf_t; + typedef little_int40_buf_t native_int40_buf_t; + typedef little_int48_buf_t native_int48_buf_t; + typedef little_int56_buf_t native_int56_buf_t; + typedef little_int64_buf_t native_int64_buf_t; + + // unaligned native endian unsigned integer buffers + typedef little_uint8_buf_t native_uint8_buf_t; + typedef little_uint16_buf_t native_uint16_buf_t; + typedef little_uint24_buf_t native_uint24_buf_t; + typedef little_uint32_buf_t native_uint32_buf_t; + typedef little_uint40_buf_t native_uint40_buf_t; + typedef little_uint48_buf_t native_uint48_buf_t; + typedef little_uint56_buf_t native_uint56_buf_t; + typedef little_uint64_buf_t native_uint64_buf_t; +# endif + + // Stream inserter + template + std::basic_ostream& + operator<<(std::basic_ostream& os, + const endian_buffer& x) + { + return os << x.value(); + } + + // Stream extractor + template + std::basic_istream& + operator>>(std::basic_istream& is, + endian_buffer& x) + { + T i; + if (is >> i) + x = i; + return is; + } + +//---------------------------------- end synopsis ------------------------------------// + + namespace detail + { + + // Unrolled loops for loading and storing streams of bytes. + + template ::value > + struct unrolled_byte_loops + { + typedef unrolled_byte_loops next; + + static T load_big(const unsigned char* bytes) BOOST_NOEXCEPT + { return static_cast(*(bytes - 1) | (next::load_big(bytes - 1) << 8)); } + static T load_little(const unsigned char* bytes) BOOST_NOEXCEPT + { return static_cast(*bytes | (next::load_little(bytes + 1) << 8)); } + + static void store_big(char* bytes, T value) BOOST_NOEXCEPT + { + *(bytes - 1) = static_cast(value); + next::store_big(bytes - 1, static_cast(value >> 8)); + } + static void store_little(char* bytes, T value) BOOST_NOEXCEPT + { + *bytes = static_cast(value); + next::store_little(bytes + 1, static_cast(value >> 8)); + } + }; + + template + struct unrolled_byte_loops + { + static T load_big(const unsigned char* bytes) BOOST_NOEXCEPT + { return *(bytes - 1); } + static T load_little(const unsigned char* bytes) BOOST_NOEXCEPT + { return *bytes; } + static void store_big(char* bytes, T value) BOOST_NOEXCEPT + { *(bytes - 1) = static_cast(value); } + static void store_little(char* bytes, T value) BOOST_NOEXCEPT + { *bytes = static_cast(value); } + + }; + + template + struct unrolled_byte_loops + { + static T load_big(const unsigned char* bytes) BOOST_NOEXCEPT + { return *reinterpret_cast(bytes - 1); } + static T load_little(const unsigned char* bytes) BOOST_NOEXCEPT + { return *reinterpret_cast(bytes); } + static void store_big(char* bytes, T value) BOOST_NOEXCEPT + { *(bytes - 1) = static_cast(value); } + static void store_little(char* bytes, T value) BOOST_NOEXCEPT + { *bytes = static_cast(value); } + }; + + template + inline + T load_big_endian(const void* bytes) BOOST_NOEXCEPT + { + return unrolled_byte_loops::load_big + (static_cast(bytes) + n_bytes); + } + + template + inline + T load_little_endian(const void* bytes) BOOST_NOEXCEPT + { +# if defined(__x86_64__) || defined(_M_X64) || defined(__i386) || defined(_M_IX86) + // On x86 (which is little endian), unaligned loads are permitted + if (sizeof(T) == n_bytes) // GCC 4.9, VC++ 14.0, and probably others, elide this + // test and generate code only for the applicable return + // case since sizeof(T) and n_bytes are known at compile + // time. + { + return *reinterpret_cast(bytes); + } +# endif + return unrolled_byte_loops::load_little + (static_cast(bytes)); + } + + template + inline + void store_big_endian(void* bytes, T value) BOOST_NOEXCEPT + { + unrolled_byte_loops::store_big + (static_cast(bytes) + n_bytes, value); + } + + template + inline + void store_little_endian(void* bytes, T value) BOOST_NOEXCEPT + { +# if defined(__x86_64__) || defined(_M_X64) || defined(__i386) || defined(_M_IX86) + // On x86 (which is little endian), unaligned stores are permitted + if (sizeof(T) == n_bytes) // GCC 4.9, VC++ 14.0, and probably others, elide this + // test and generate code only for the applicable return + // case since sizeof(T) and n_bytes are known at compile + // time. + { + *reinterpret_cast(bytes) = value; + return; + } +# endif + unrolled_byte_loops::store_little + (static_cast(bytes), value); + } + + } // namespace detail + +# ifdef BOOST_ENDIAN_LOG + bool endian_log(true); +# endif + +// endian_buffer class template specializations --------------------------------------// + + // Specializations that represent unaligned bytes. + // Taking an integer type as a parameter provides a nice way to pass both + // the size and signedness of the desired integer and get the appropriate + // corresponding integer type for the interface. + + // Q: Should endian_buffer supply "value_type operator value_type() const noexcept"? + // A: No. The rationale for endian_buffers is to prevent high-cost hidden + // conversions. If an implicit conversion operator is supplied, hidden conversions + // can occur. + + // unaligned big endian_buffer specialization + template + class endian_buffer< order::big, T, n_bits, align::no > + { + BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits ); + public: + typedef T value_type; +# ifndef BOOST_ENDIAN_NO_CTORS + endian_buffer() BOOST_ENDIAN_DEFAULT_CONSTRUCT + explicit endian_buffer(T val) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "big, unaligned, " + << n_bits << "-bits, construct(" << val << ")\n"; +# endif + detail::store_big_endian(m_value, val); + } +# endif + endian_buffer & operator=(T val) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if (endian_log) + std::cout << "big, unaligned, " << n_bits << "-bits, assign(" << val << ")\n"; +# endif + detail::store_big_endian(m_value, val); + return *this; + } + value_type value() const BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "big, unaligned, " << n_bits << "-bits, convert(" + << detail::load_big_endian(m_value) << ")\n"; +# endif + return detail::load_big_endian(m_value); + } + const char* data() const BOOST_NOEXCEPT { return m_value; } + protected: + char m_value[n_bits/8]; + }; + + // unaligned little endian_buffer specialization + template + class endian_buffer< order::little, T, n_bits, align::no > + { + BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits ); + public: + typedef T value_type; +# ifndef BOOST_ENDIAN_NO_CTORS + endian_buffer() BOOST_ENDIAN_DEFAULT_CONSTRUCT + explicit endian_buffer(T val) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "little, unaligned, " << n_bits << "-bits, construct(" + << val << ")\n"; +# endif + detail::store_little_endian(m_value, val); + } +# endif + endian_buffer & operator=(T val) BOOST_NOEXCEPT + { detail::store_little_endian(m_value, val); return *this; } + value_type value() const BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "little, unaligned, " << n_bits << "-bits, convert(" + << detail::load_little_endian(m_value) << ")\n"; +# endif + return detail::load_little_endian(m_value); + } + const char* data() const BOOST_NOEXCEPT { return m_value; } + protected: + char m_value[n_bits/8]; + }; + + // align::yes specializations; only n_bits == 16/32/64 supported + + // aligned big endian_buffer specialization + template + class endian_buffer + { + BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits ); + BOOST_STATIC_ASSERT( sizeof(T) == n_bits/8 ); + public: + typedef T value_type; +# ifndef BOOST_ENDIAN_NO_CTORS + endian_buffer() BOOST_ENDIAN_DEFAULT_CONSTRUCT + explicit endian_buffer(T val) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "big, aligned, " << n_bits + << "-bits, construct(" << val << ")\n"; +# endif + m_value = ::boost::endian::native_to_big(val); + } + +# endif + endian_buffer& operator=(T val) BOOST_NOEXCEPT + { + m_value = ::boost::endian::native_to_big(val); + return *this; + } + //operator value_type() const BOOST_NOEXCEPT + //{ + // return ::boost::endian::big_to_native(m_value); + //} + value_type value() const BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "big, aligned, " << n_bits << "-bits, convert(" + << ::boost::endian::big_to_native(m_value) << ")\n"; +# endif + return ::boost::endian::big_to_native(m_value); + } + const char* data() const BOOST_NOEXCEPT + {return reinterpret_cast(&m_value);} + protected: + T m_value; + }; + + // aligned little endian_buffer specialization + template + class endian_buffer + { + BOOST_STATIC_ASSERT( (n_bits/8)*8 == n_bits ); + BOOST_STATIC_ASSERT( sizeof(T) == n_bits/8 ); + public: + typedef T value_type; +# ifndef BOOST_ENDIAN_NO_CTORS + endian_buffer() BOOST_ENDIAN_DEFAULT_CONSTRUCT + explicit endian_buffer(T val) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "little, aligned, " << n_bits + << "-bits, construct(" << val << ")\n"; +# endif + m_value = ::boost::endian::native_to_little(val); + } + +# endif + endian_buffer& operator=(T val) BOOST_NOEXCEPT + { + m_value = ::boost::endian::native_to_little(val); + return *this; + } + value_type value() const BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_LOG + if ( endian_log ) + std::cout << "little, aligned, " << n_bits << "-bits, convert(" + << ::boost::endian::little_to_native(m_value) << ")\n"; +# endif + return ::boost::endian::little_to_native(m_value); + } + const char* data() const BOOST_NOEXCEPT + {return reinterpret_cast(&m_value);} + protected: + T m_value; + }; + +} // namespace endian +} // namespace boost + +#if defined(__BORLANDC__) || defined( __CODEGEARC__) +# pragma pack(pop) +#endif + +#if defined(_MSC_VER) +# pragma warning(pop) +#endif + +#endif // BOOST_ENDIAN_BUFFERS_HPP diff --git a/3party/boost/boost/endian/conversion.hpp b/3party/boost/boost/endian/conversion.hpp new file mode 100644 index 0000000000..e06bed12a0 --- /dev/null +++ b/3party/boost/boost/endian/conversion.hpp @@ -0,0 +1,487 @@ +// boost/endian/conversion.hpp -------------------------------------------------------// + +// Copyright Beman Dawes 2010, 2011, 2014 + +// Distributed under the Boost Software License, Version 1.0. +// http://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_ENDIAN_CONVERSION_HPP +#define BOOST_ENDIAN_CONVERSION_HPP + +#include +#include +#include +#include +#include +#include +#include +#include // for memcpy + +//------------------------------------- synopsis ---------------------------------------// + +namespace boost +{ +namespace endian +{ +#ifndef BOOST_ENDIAN_ORDER_ENUM_DEFINED + BOOST_SCOPED_ENUM_START(order) + { + big, little, +# ifdef BOOST_BIG_ENDIAN + native = big +# else + native = little +# endif + }; BOOST_SCOPED_ENUM_END +# define BOOST_ENDIAN_ORDER_ENUM_DEFINED +#endif + +//--------------------------------------------------------------------------------------// +// // +// return-by-value interfaces // +// suggested by Phil Endecott // +// // +// user-defined types (UDTs) // +// // +// All return-by-value conversion function templates are required to be implemented in // +// terms of an unqualified call to "endian_reverse(x)", a function returning the // +// value of x with endianness reversed. This provides a customization point for any // +// UDT that provides a "endian_reverse" free-function meeting the requirements. // +// It must be defined in the same namespace as the UDT itself so that it will be found // +// by argument dependent lookup (ADL). // +// // +//--------------------------------------------------------------------------------------// + + // customization for exact-length arithmetic types. See doc/conversion.html/#FAQ + inline int8_t endian_reverse(int8_t x) BOOST_NOEXCEPT; + inline int16_t endian_reverse(int16_t x) BOOST_NOEXCEPT; + inline int32_t endian_reverse(int32_t x) BOOST_NOEXCEPT; + inline int64_t endian_reverse(int64_t x) BOOST_NOEXCEPT; + inline uint8_t endian_reverse(uint8_t x) BOOST_NOEXCEPT; + inline uint16_t endian_reverse(uint16_t x) BOOST_NOEXCEPT; + inline uint32_t endian_reverse(uint32_t x) BOOST_NOEXCEPT; + inline uint64_t endian_reverse(uint64_t x) BOOST_NOEXCEPT; + + // reverse byte order unless native endianness is big + template + inline EndianReversible big_to_native(EndianReversible x) BOOST_NOEXCEPT; + // Returns: x if native endian order is big, otherwise endian_reverse(x) + template + inline EndianReversible native_to_big(EndianReversible x) BOOST_NOEXCEPT; + // Returns: x if native endian order is big, otherwise endian_reverse(x) + + // reverse byte order unless native endianness is little + template + inline EndianReversible little_to_native(EndianReversible x) BOOST_NOEXCEPT; + // Returns: x if native endian order is little, otherwise endian_reverse(x) + template + inline EndianReversible native_to_little(EndianReversible x) BOOST_NOEXCEPT; + // Returns: x if native endian order is little, otherwise endian_reverse(x) + + // generic conditional reverse byte order + template + inline EndianReversible conditional_reverse(EndianReversible from) BOOST_NOEXCEPT; + // Returns: If From == To have different values, from. + // Otherwise endian_reverse(from). + // Remarks: The From == To test, and as a consequence which form the return takes, is + // is determined at compile time. + + // runtime conditional reverse byte order + template + inline EndianReversible conditional_reverse(EndianReversible from, + BOOST_SCOPED_ENUM(order) from_order, BOOST_SCOPED_ENUM(order) to_order) + BOOST_NOEXCEPT; + // Returns: from_order == to_order ? from : endian_reverse(from). + + //------------------------------------------------------------------------------------// + + + // Q: What happended to bswap, htobe, and the other synonym functions based on names + // popularized by BSD, OS X, and Linux? + // A: Turned out these may be implemented as macros on some systems. Ditto POSIX names + // for such functionality. Since macros would cause endless problems with functions + // of the same names, and these functions are just synonyms anyhow, they have been + // removed. + + + //------------------------------------------------------------------------------------// + // // + // reverse in place interfaces // + // // + // user-defined types (UDTs) // + // // + // All reverse in place function templates are required to be implemented in terms // + // of an unqualified call to "endian_reverse_inplace(x)", a function reversing // + // the endianness of x, which is a non-const reference. This provides a // + // customization point for any UDT that provides a "reverse_inplace" free-function // + // meeting the requirements. The free-function must be declared in the same // + // namespace as the UDT itself so that it will be found by argument-dependent // + // lookup (ADL). // + // // + //------------------------------------------------------------------------------------// + + // reverse in place + template + inline void endian_reverse_inplace(EndianReversible& x) BOOST_NOEXCEPT; + // Effects: x = endian_reverse(x) + + // reverse in place unless native endianness is big + template + inline void big_to_native_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT; + // Effects: none if native byte-order is big, otherwise endian_reverse_inplace(x) + template + inline void native_to_big_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT; + // Effects: none if native byte-order is big, otherwise endian_reverse_inplace(x) + + // reverse in place unless native endianness is little + template + inline void little_to_native_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT; + // Effects: none if native byte-order is little, otherwise endian_reverse_inplace(x); + template + inline void native_to_little_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT; + // Effects: none if native byte-order is little, otherwise endian_reverse_inplace(x); + + // generic conditional reverse in place + template + inline void conditional_reverse_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT; + + // runtime reverse in place + template + inline void conditional_reverse_inplace(EndianReversibleInplace& x, + BOOST_SCOPED_ENUM(order) from_order, BOOST_SCOPED_ENUM(order) to_order) + BOOST_NOEXCEPT; + +//----------------------------------- end synopsis -------------------------------------// + + namespace detail + { + // generic reverse function template implementation approach using std::reverse + // suggested by Mathias Gaunard. Primary motivation for inclusion is to have an + // independent implementation to test against. + + template + inline T std_endian_reverse(T x) BOOST_NOEXCEPT + { + T tmp(x); + std::reverse( + reinterpret_cast(&tmp), + reinterpret_cast(&tmp) + sizeof(T)); + return tmp; + } + + // conditional unaligned reverse copy, patterned after std::reverse_copy + template + inline void big_reverse_copy(T from, char* to) BOOST_NOEXCEPT; + template + inline void big_reverse_copy(const char* from, T& to) BOOST_NOEXCEPT; + template + inline void little_reverse_copy(T from, char* to) BOOST_NOEXCEPT; + template + inline void little_reverse_copy(const char* from, T& to) BOOST_NOEXCEPT; + } // namespace detail + +//--------------------------------------------------------------------------------------// +// // +// return-by-value implementation // +// // +// -- portable approach suggested by tymofey, with avoidance of undefined behavior // +// as suggested by Giovanni Piero Deretta, with a further refinement suggested // +// by Pyry Jahkola. // +// -- intrinsic approach suggested by reviewers, and by David Stone, who provided // +// his Boost licensed macro implementation (detail/intrinsic.hpp) // +// // +//--------------------------------------------------------------------------------------// + + inline int8_t endian_reverse(int8_t x) BOOST_NOEXCEPT + { + return x; + } + + inline int16_t endian_reverse(int16_t x) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_NO_INTRINSICS + return (static_cast(x) << 8) + | (static_cast(x) >> 8); +# else + return BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_2(static_cast(x)); +# endif + } + + inline int32_t endian_reverse(int32_t x) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_NO_INTRINSICS + uint32_t step16; + step16 = static_cast(x) << 16 | static_cast(x) >> 16; + return + ((static_cast(step16) << 8) & 0xff00ff00) + | ((static_cast(step16) >> 8) & 0x00ff00ff); +# else + return BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_4(static_cast(x)); +# endif + } + + inline int64_t endian_reverse(int64_t x) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_NO_INTRINSICS + uint64_t step32, step16; + step32 = static_cast(x) << 32 | static_cast(x) >> 32; + step16 = (step32 & 0x0000FFFF0000FFFFULL) << 16 + | (step32 & 0xFFFF0000FFFF0000ULL) >> 16; + return static_cast((step16 & 0x00FF00FF00FF00FFULL) << 8 + | (step16 & 0xFF00FF00FF00FF00ULL) >> 8); +# else + return BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_8(static_cast(x)); +# endif + } + + inline uint8_t endian_reverse(uint8_t x) BOOST_NOEXCEPT + { + return x; + } + + inline uint16_t endian_reverse(uint16_t x) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_NO_INTRINSICS + return (x << 8) + | (x >> 8); +# else + return BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_2(x); +# endif + } + + inline uint32_t endian_reverse(uint32_t x) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_NO_INTRINSICS + uint32_t step16; + step16 = x << 16 | x >> 16; + return + ((step16 << 8) & 0xff00ff00) + | ((step16 >> 8) & 0x00ff00ff); +# else + return BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_4(x); +# endif + } + + inline uint64_t endian_reverse(uint64_t x) BOOST_NOEXCEPT + { +# ifdef BOOST_ENDIAN_NO_INTRINSICS + uint64_t step32, step16; + step32 = x << 32 | x >> 32; + step16 = (step32 & 0x0000FFFF0000FFFFULL) << 16 + | (step32 & 0xFFFF0000FFFF0000ULL) >> 16; + return (step16 & 0x00FF00FF00FF00FFULL) << 8 + | (step16 & 0xFF00FF00FF00FF00ULL) >> 8; +# else + return BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_8(x); +# endif + } + + template + inline EndianReversible big_to_native(EndianReversible x) BOOST_NOEXCEPT + { +# ifdef BOOST_BIG_ENDIAN + return x; +# else + return endian_reverse(x); +# endif + } + + template + inline EndianReversible native_to_big(EndianReversible x) BOOST_NOEXCEPT + { +# ifdef BOOST_BIG_ENDIAN + return x; +# else + return endian_reverse(x); +# endif + } + + template + inline EndianReversible little_to_native(EndianReversible x) BOOST_NOEXCEPT + { +# ifdef BOOST_LITTLE_ENDIAN + return x; +# else + return endian_reverse(x); +# endif + } + + template + inline EndianReversible native_to_little(EndianReversible x) BOOST_NOEXCEPT + { +# ifdef BOOST_LITTLE_ENDIAN + return x; +# else + return endian_reverse(x); +# endif + } + + namespace detail + { + // Primary template and specializations to support endian_reverse(). + // See rationale in endian_reverse() below. + template + class value_converter ; // primary template + template class value_converter + {public: T operator()(T x) BOOST_NOEXCEPT {return x;}}; + template class value_converter + {public: T operator()(T x) BOOST_NOEXCEPT {return x;}}; + template class value_converter + {public: T operator()(T x) BOOST_NOEXCEPT {return endian_reverse(x);}}; + template class value_converter + {public: T operator()(T x) BOOST_NOEXCEPT {return endian_reverse(x);}}; + } + + // generic conditional reverse + template + inline EndianReversible conditional_reverse(EndianReversible from) BOOST_NOEXCEPT { + // work around lack of function template partial specialization by instantiating + // a function object of a class that is partially specialized on the two order + // template parameters, and then calling its operator(). + detail::value_converter tmp; + return tmp(from); + } + + // runtime conditional reverse + template + inline EndianReversible conditional_reverse(EndianReversible from, + BOOST_SCOPED_ENUM(order) from_order, BOOST_SCOPED_ENUM(order) to_order) BOOST_NOEXCEPT + { + return from_order == to_order ? from : endian_reverse(from); + } + +//--------------------------------------------------------------------------------------// +// reverse-in-place implementation // +//--------------------------------------------------------------------------------------// + + // reverse in place + template + inline void endian_reverse_inplace(EndianReversible& x) BOOST_NOEXCEPT + { + x = endian_reverse(x); + } + + template +# ifdef BOOST_BIG_ENDIAN + inline void big_to_native_inplace(EndianReversibleInplace&) BOOST_NOEXCEPT {} +# else + inline void big_to_native_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT + { endian_reverse_inplace(x); } +# endif + template +# ifdef BOOST_BIG_ENDIAN + inline void native_to_big_inplace(EndianReversibleInplace&) BOOST_NOEXCEPT {} +# else + inline void native_to_big_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT + { + endian_reverse_inplace(x); + } +# endif + + template +# ifdef BOOST_LITTLE_ENDIAN + inline void little_to_native_inplace(EndianReversibleInplace&) BOOST_NOEXCEPT {} +# else + inline void little_to_native_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT + { endian_reverse_inplace(x); } +# endif + template +# ifdef BOOST_LITTLE_ENDIAN + inline void native_to_little_inplace(EndianReversibleInplace&) BOOST_NOEXCEPT {} +# else + inline void native_to_little_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT + { + endian_reverse_inplace(x); + } +# endif + + namespace detail + { + // Primary template and specializations support generic + // endian_reverse_inplace(). + // See rationale in endian_reverse_inplace() below. + template + class converter; // primary template + template class converter + {public: void operator()(T&) BOOST_NOEXCEPT {/*no effect*/}}; + template class converter + {public: void operator()(T&) BOOST_NOEXCEPT {/*no effect*/}}; + template class converter + {public: void operator()(T& x) BOOST_NOEXCEPT { endian_reverse_inplace(x); }}; + template class converter + {public: void operator()(T& x) BOOST_NOEXCEPT { endian_reverse_inplace(x); }}; + } // namespace detail + + // generic conditional reverse in place + template + inline void conditional_reverse_inplace(EndianReversibleInplace& x) BOOST_NOEXCEPT + { + // work around lack of function template partial specialization by instantiating + // a function object of a class that is partially specialized on the two order + // template parameters, and then calling its operator(). + detail::converter tmp; + tmp(x); // call operator () + } + + // runtime reverse in place + template + inline void conditional_reverse_inplace(EndianReversibleInplace& x, + BOOST_SCOPED_ENUM(order) from_order, BOOST_SCOPED_ENUM(order) to_order) + BOOST_NOEXCEPT + { + if (from_order != to_order) + endian_reverse_inplace(x); + } + + + namespace detail + { + template + inline void big_reverse_copy(T from, char* to) BOOST_NOEXCEPT + { +# ifdef BOOST_BIG_ENDIAN + std::memcpy(to, reinterpret_cast(&from), sizeof(T)); +# else + std::reverse_copy(reinterpret_cast(&from), + reinterpret_cast(&from) + sizeof(T), to); +# endif + } + template + inline void big_reverse_copy(const char* from, T& to) BOOST_NOEXCEPT + { +# ifdef BOOST_BIG_ENDIAN + std::memcpy(reinterpret_cast(&to), from, sizeof(T)); +# else + std::reverse_copy(from, from + sizeof(T), reinterpret_cast(&to)); +# endif + } + template + inline void little_reverse_copy(T from, char* to) BOOST_NOEXCEPT + { +# ifdef BOOST_LITTLE_ENDIAN + std::memcpy(to, reinterpret_cast(&from), sizeof(T)); +# else + std::reverse_copy(reinterpret_cast(&from), + reinterpret_cast(&from) + sizeof(T), to); +# endif + } + template + inline void little_reverse_copy(const char* from, T& to) BOOST_NOEXCEPT + { +# ifdef BOOST_LITTLE_ENDIAN + std::memcpy(reinterpret_cast(&to), from, sizeof(T)); +# else + std::reverse_copy(from, from + sizeof(T), reinterpret_cast(&to)); +# endif + } + } // namespace detail +} // namespace endian +} // namespace boost + +#endif // BOOST_ENDIAN_CONVERSION_HPP diff --git a/3party/boost/boost/endian/detail/config.hpp b/3party/boost/boost/endian/detail/config.hpp new file mode 100644 index 0000000000..6d446fa5d5 --- /dev/null +++ b/3party/boost/boost/endian/detail/config.hpp @@ -0,0 +1,62 @@ +// boost/endian/detail/config.hpp ----------------------------------------------------// + +// Copyright Beman Dawes 2003, 2010 + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +//--------------------------------------------------------------------------------------// + +#ifndef BOOST_ENDIAN_CONFIG_HPP +#define BOOST_ENDIAN_CONFIG_HPP + +// This header implements separate compilation features as described in +// http://www.boost.org/more/separate_compilation.html + +#include +#include // for BOOST_POSIX_API or BOOST_WINDOWS_API + +// throw an exception ----------------------------------------------------------------// +// +// Exceptions were originally thrown via boost::throw_exception(). +// As throw_exception() became more complex, it caused user error reporting +// to be harder to interpret, since the exception reported became much more complex. +// The immediate fix was to throw directly, wrapped in a macro to make any later change +// easier. + +#define BOOST_ENDIAN_THROW(EX) throw EX + +// enable dynamic linking -------------------------------------------------------------// + +#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_ENDIAN_DYN_LINK) +# if defined(BOOST_ENDIAN_SOURCE) +# define BOOST_ENDIAN_DECL BOOST_SYMBOL_EXPORT +# else +# define BOOST_ENDIAN_DECL BOOST_SYMBOL_IMPORT +# endif +#else +# define BOOST_ENDIAN_DECL +#endif + +// enable automatic library variant selection ----------------------------------------// + +#if !defined(BOOST_ENDIAN_SOURCE) && !defined(BOOST_ALL_NO_LIB) \ + && !defined(BOOST_ENDIAN_NO_LIB) +// +// Set the name of our library, this will get undef'ed by auto_link.hpp +// once it's done with it: +// +#define BOOST_LIB_NAME boost_endian +// +// If we're importing code from a dll, then tell auto_link.hpp about it: +// +#if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_ENDIAN_DYN_LINK) +# define BOOST_DYN_LINK +#endif +// +// And include the header that does the work: +// +#include +#endif // auto-linking disabled + +#endif // BOOST_ENDIAN_CONFIG_HPP diff --git a/3party/boost/boost/endian/detail/cover_operators.hpp b/3party/boost/boost/endian/detail/cover_operators.hpp new file mode 100644 index 0000000000..a16545e498 --- /dev/null +++ b/3party/boost/boost/endian/detail/cover_operators.hpp @@ -0,0 +1,142 @@ +// boost/endian/detail/cover_operators.hpp ----------------------------------// + +// Copyright Darin Adler 2000 +// Copyright Beman Dawes 2008 + +// 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_ENDIAN_COVER_OPERATORS_HPP +#define BOOST_ENDIAN_COVER_OPERATORS_HPP + +#if defined(_MSC_VER) +# pragma warning(push) +# pragma warning(disable:4365) // conversion ... signed/unsigned mismatch +#endif + +# ifndef BOOST_ENDIAN_MINIMAL_COVER_OPERATORS +# include +# endif + +#include +#include + +namespace boost +{ + namespace endian + { + +//--------------------------------------------------------------------------------------// + +// A class that adds arithmetic operators to an arithmetic cover class +// +// Uses the curiously recurring template pattern (CRTP). +// +// If the class being covered has a non-explicit conversion to an integer type +// then a smaller number of cover operations are needed. Define the macro +// BOOST_ENDIAN_MINIMAL_COVER_OPERATORS to indicate this. +// +// Define BOOST_NO_IO_COVER_OPERATORS if I/O cover operations are not desired. + +//--------------------------------------------------------------------------------------// + + template + class cover_operators +# ifndef BOOST_ENDIAN_MINIMAL_COVER_OPERATORS + : boost::operators +# endif + { + // The other operations take advantage of the type conversion that's + // built into unary +. + + // Unary operations. + friend ArithmeticT operator+(const D& x) BOOST_NOEXCEPT { return x; } +# ifndef BOOST_ENDIAN_MINIMAL_COVER_OPERATORS + friend ArithmeticT operator-(const D& x) BOOST_NOEXCEPT { return -+x; } + friend ArithmeticT operator~(const D& x) BOOST_NOEXCEPT { return ~+x; } + friend ArithmeticT operator!(const D& x) BOOST_NOEXCEPT { return !+x; } + + // The basic ordering operations. + friend bool operator==(const D& x, ArithmeticT y) BOOST_NOEXCEPT { return +x == y; } + friend bool operator<(const D& x, ArithmeticT y) BOOST_NOEXCEPT { return +x < y; } +# endif + + // The basic arithmetic operations. + friend D& operator+=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x + y); } + friend D& operator-=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x - y); } + friend D& operator*=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x * y); } + friend D& operator/=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x / y); } + friend D& operator%=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x % y); } + friend D& operator&=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x & y); } + friend D& operator|=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x | y); } + friend D& operator^=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x ^ y); } + friend D& operator<<=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x << y); } + friend D& operator>>=(D& x, ArithmeticT y) BOOST_NOEXCEPT + { return x = static_cast(+x >> y); } + + // A few binary arithmetic operations not covered by operators base class. + friend ArithmeticT operator<<(const D& x, ArithmeticT y) BOOST_NOEXCEPT + { return static_cast(+x << y); } + friend ArithmeticT operator>>(const D& x, ArithmeticT y) BOOST_NOEXCEPT + { return static_cast(+x >> y); } + + // Auto-increment and auto-decrement can be defined in terms of the + // arithmetic operations. + friend D& operator++(D& x) BOOST_NOEXCEPT { return x += 1; } + friend D& operator--(D& x) BOOST_NOEXCEPT { return x -= 1; } + +# ifdef BOOST_ENDIAN_MINIMAL_COVER_OPERATORS + friend D operator++(D& x, int) BOOST_NOEXCEPT + { + D tmp(x); + x += 1; + return tmp; + } + friend D operator--(D& x, int) BOOST_NOEXCEPT + { + D tmp(x); + x -= 1; + return tmp; + } +# endif + +# ifndef BOOST_NO_IO_COVER_OPERATORS + + // Stream inserter + template + friend std::basic_ostream& + operator<<(std::basic_ostream& os, const D& x) + { + return os << +x; + } + + // Stream extractor + template + friend std::basic_istream& + operator>>(std::basic_istream& is, D& x) + { + ArithmeticT i; + if (is >> i) + x = i; + return is; + } +# endif + }; + } // namespace endian +} // namespace boost + +#if defined(_MSC_VER) +# pragma warning(pop) +#endif + +#endif // BOOST_ENDIAN_COVER_OPERATORS_HPP diff --git a/3party/boost/boost/endian/detail/disable_warnings.hpp b/3party/boost/boost/endian/detail/disable_warnings.hpp new file mode 100644 index 0000000000..082db8abfe --- /dev/null +++ b/3party/boost/boost/endian/detail/disable_warnings.hpp @@ -0,0 +1,33 @@ +// disable_warnings.hpp --------------------------------------------------------------// + +// Copyright Beman Dawes 2011 + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +//--------------------------------------------------------------------------------------// + +#ifdef _MSC_VER + +#ifndef _SCL_SECURE_NO_WARNINGS +# define _SCL_SECURE_NO_WARNINGS +#endif + +#ifndef _CRT_SECURE_NO_WARNINGS +# define _CRT_SECURE_NO_WARNINGS +#endif + +# pragma warning(push) + +// triggered by boost/detail/lightweight_test.hpp +# pragma warning( disable : 4640 ) // ... construction of local static object is not thread-safe + +// triggered by Microsoft's own headers, so disable +# pragma warning( disable : 4820 ) // padding added after data member +# pragma warning( disable : 4548 ) // expression before comma has no effect +# pragma warning( disable : 4668 ) // ... is not defined as a preprocessor macro +# pragma warning( disable : 4514 ) // ... unreferenced inline function has been removed +# pragma warning( disable : 4710 ) // ... function not inlined +# pragma warning( disable : 4986 ) // ... exception specification does not match previous declaration +# pragma warning( disable : 4711 ) // ... selected for automatic inline expansion +#endif diff --git a/3party/boost/boost/endian/detail/disable_warnings_pop.hpp b/3party/boost/boost/endian/detail/disable_warnings_pop.hpp new file mode 100644 index 0000000000..0ebc74a452 --- /dev/null +++ b/3party/boost/boost/endian/detail/disable_warnings_pop.hpp @@ -0,0 +1,12 @@ +// disable_warnings_pop.hpp ----------------------------------------------------------// + +// Copyright Beman Dawes 2011 + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +//--------------------------------------------------------------------------------------// + +#ifdef _MSC_VER +# pragma warning(push) +#endif diff --git a/3party/boost/boost/endian/detail/intrinsic.hpp b/3party/boost/boost/endian/detail/intrinsic.hpp new file mode 100644 index 0000000000..ad1d770f80 --- /dev/null +++ b/3party/boost/boost/endian/detail/intrinsic.hpp @@ -0,0 +1,64 @@ +// endian/detail/intrinsic.hpp -------------------------------------------------------// + +// Copyright (C) 2012 David Stone +// Copyright Beman Dawes 2013 + +// Distributed under the Boost Software License, Version 1.0. +// http://www.boost.org/LICENSE_1_0.txt + +#ifndef BOOST_ENDIAN_INTRINSIC_HPP +#define BOOST_ENDIAN_INTRINSIC_HPP + +// Allow user to force BOOST_ENDIAN_NO_INTRINSICS in case they aren't available for a +// particular platform/compiler combination. Please report such platform/compiler +// combinations to the Boost mailing list. +#ifndef BOOST_ENDIAN_NO_INTRINSICS + +#ifndef __has_builtin // Optional of course + #define __has_builtin(x) 0 // Compatibility with non-clang compilers +#endif + +// GCC and Clang recent versions provide intrinsic byte swaps via builtins +#if (defined(__clang__) && __has_builtin(__builtin_bswap32) && __has_builtin(__builtin_bswap64)) \ + || (defined(__GNUC__ ) && \ + (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3))) +# define BOOST_ENDIAN_INTRINSIC_MSG "__builtin_bswap16, etc." +// prior to 4.8, gcc did not provide __builtin_bswap16 on some platforms so we emulate it +// see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52624 +// Clang has a similar problem, but their feature test macros make it easier to detect +# if (defined(__clang__) && __has_builtin(__builtin_bswap16)) \ + || (defined(__GNUC__) &&(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8))) +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_2(x) __builtin_bswap16(x) +# else +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_2(x) __builtin_bswap32((x) << 16) +# endif +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_4(x) __builtin_bswap32(x) +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_8(x) __builtin_bswap64(x) + +// Linux systems provide the byteswap.h header, with +#elif defined(__linux__) +// don't check for obsolete forms defined(linux) and defined(__linux) on the theory that +// compilers that predefine only these are so old that byteswap.h probably isn't present. +# define BOOST_ENDIAN_INTRINSIC_MSG "byteswap.h bswap_16, etc." +# include +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_2(x) bswap_16(x) +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_4(x) bswap_32(x) +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_8(x) bswap_64(x) + +#elif defined(_MSC_VER) +// Microsoft documents these as being compatible since Windows 95 and specificly +// lists runtime library support since Visual Studio 2003 (aka 7.1). +# define BOOST_ENDIAN_INTRINSIC_MSG "cstdlib _byteswap_ushort, etc." +# include +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_2(x) _byteswap_ushort(x) +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_4(x) _byteswap_ulong(x) +# define BOOST_ENDIAN_INTRINSIC_BYTE_SWAP_8(x) _byteswap_uint64(x) +#else +# define BOOST_ENDIAN_NO_INTRINSICS +# define BOOST_ENDIAN_INTRINSIC_MSG "no byte swap intrinsics" +#endif + +#elif !defined(BOOST_ENDIAN_INTRINSIC_MSG) +# define BOOST_ENDIAN_INTRINSIC_MSG "no byte swap intrinsics" +#endif // BOOST_ENDIAN_NO_INTRINSICS +#endif // BOOST_ENDIAN_INTRINSIC_HPP diff --git a/3party/boost/boost/endian/detail/lightweight_test.hpp b/3party/boost/boost/endian/detail/lightweight_test.hpp new file mode 100644 index 0000000000..ba0eee2f7c --- /dev/null +++ b/3party/boost/boost/endian/detail/lightweight_test.hpp @@ -0,0 +1,223 @@ +// boost/endian/detail/lightweight_test.hpp --------------------------------------------// + +#ifndef BOOST_ENDIAN_LIGHTWEIGHT_TEST_HPP +#define BOOST_ENDIAN_LIGHTWEIGHT_TEST_HPP + +// MS compatible compilers support #pragma once + +#if defined(_MSC_VER) +# pragma once +#endif + +// +// Copyright (c) 2002, 2009, 2014 Peter Dimov +// Copyright (2) Beman Dawes 2010, 2011, 2015 +// Copyright (3) Ion Gaztanaga 2013 +// +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt +// + +#include +#include +#include +#include // for memcmp +#include + +// IDE's like Visual Studio perform better if output goes to std::cout or +// some other stream, so allow user to configure output stream: +#ifndef BOOST_LIGHTWEIGHT_TEST_OSTREAM +# define BOOST_LIGHTWEIGHT_TEST_OSTREAM std::cerr +#endif + +namespace boost +{ +namespace endian +{ +namespace detail +{ + +struct report_errors_reminder +{ + bool called_report_errors_function; + + report_errors_reminder() : called_report_errors_function(false) {} + + ~report_errors_reminder() + { + BOOST_ASSERT(called_report_errors_function); // verify report_errors() was called + } +}; + +inline report_errors_reminder& report_errors_remind() +{ + static report_errors_reminder r; + return r; +} + +inline int & test_errors() +{ + static int x = 0; + report_errors_remind(); + return x; +} + +inline void test_failed_impl(char const * expr, char const * file, int line, char const * function) +{ + BOOST_LIGHTWEIGHT_TEST_OSTREAM + << file << "(" << line << "): test '" << expr << "' failed in function '" + << function << "'" << std::endl; + ++test_errors(); +} + +inline void error_impl(char const * msg, char const * file, int line, char const * function) +{ + BOOST_LIGHTWEIGHT_TEST_OSTREAM + << file << "(" << line << "): " << msg << " in function '" + << function << "'" << std::endl; + ++test_errors(); +} + +inline void throw_failed_impl(char const * excep, char const * file, int line, char const * function) +{ + BOOST_LIGHTWEIGHT_TEST_OSTREAM + << file << "(" << line << "): Exception '" << excep << "' not thrown in function '" + << function << "'" << std::endl; + ++test_errors(); +} + +template inline void test_eq_impl( char const * expr1, char const * expr2, + char const * file, int line, char const * function, T const & t, U const & u ) +{ + if( t == u ) + { + report_errors_remind(); + } + else + { + BOOST_LIGHTWEIGHT_TEST_OSTREAM + << file << "(" << line << "): test '" << expr1 << " == " << expr2 + << "' failed in function '" << function << "': " + << "'" << t << "' != '" << u << "'" << std::endl; + ++test_errors(); + } +} + +template inline void test_ne_impl( char const * expr1, char const * expr2, + char const * file, int line, char const * function, T const & t, U const & u ) +{ + if( t != u ) + { + report_errors_remind(); + } + else + { + BOOST_LIGHTWEIGHT_TEST_OSTREAM + << file << "(" << line << "): test '" << expr1 << " != " << expr2 + << "' failed in function '" << function << "': " + << "'" << t << "' == '" << u << "'" << std::endl; + ++test_errors(); + } +} + +template +std::string to_hex(const T& x) +{ + const char hex[] = { '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f' }; + std::string tmp; + const unsigned char* p = reinterpret_cast(&x); + const unsigned char* e = p + sizeof(T); + + for (; p < e; ++p) + { + tmp += hex[*p >> 4]; // high-order nibble + tmp += hex[*p & 0x0f]; // low-order nibble + } + return tmp; +} + +template inline bool test_memcmp_eq_impl(char const * expr1, + char const * expr2, char const * file, int line, char const * function, T const & t, + U const & u) +{ + BOOST_ASSERT(sizeof(T) == sizeof(U)); + if (sizeof(T) == sizeof(U) + && std::memcmp(&t, &u, sizeof(T)) == 0) + { + report_errors_remind(); + return true; + } + else + { + BOOST_LIGHTWEIGHT_TEST_OSTREAM + << file << "(" << line << "): test 'std::memcmp(" << expr1 << ", " << expr2 + << ") == 0' fails in function '" << function << "': " + << " with values '" << to_hex(t) << "' and '" << to_hex(u) << "'" << std::endl; + ++test_errors(); + return false; + } +} + +} // namespace detail + +inline int report_errors() +{ + boost::endian::detail::report_errors_remind().called_report_errors_function = true; + + int errors = boost::endian::detail::test_errors(); + + if( errors == 0 ) + { + BOOST_LIGHTWEIGHT_TEST_OSTREAM + << "No errors detected." << std::endl; + return 0; + } + else + { + BOOST_LIGHTWEIGHT_TEST_OSTREAM + << errors << " error" << (errors == 1? "": "s") << " detected." << std::endl; + return 1; + } +} + +} // namespace endian +} // namespace boost + +////////////////////////////////////////////////////////////////////////////////////////// +// TODO: Should all test macros return bool? See BOOST_TEST_MEM_EQ usage in fp_exaustive_test,cpp +////////////////////////////////////////////////////////////////////////////////////////// + + +#define BOOST_TEST(expr) \ + ((expr)? (void)0: ::boost::endian::detail::test_failed_impl(#expr, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION)) + +#define BOOST_ERROR(msg) \ + ( ::boost::endian::detail::error_impl(msg, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION) ) + +#define BOOST_TEST_EQ(expr1,expr2) \ + ( ::boost::endian::detail::test_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) +#define BOOST_TEST_NE(expr1,expr2) \ + ( ::boost::endian::detail::test_ne_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2) ) + +#define BOOST_TEST_MEM_EQ(expr1,expr2) \ + (::boost::endian::detail::test_memcmp_eq_impl(#expr1, #expr2, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION, expr1, expr2)) + +#ifndef BOOST_NO_EXCEPTIONS + #define BOOST_TEST_THROWS( EXPR, EXCEP ) \ + try { \ + EXPR; \ + ::boost::detail::throw_failed_impl \ + (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \ + } \ + catch(EXCEP const&) { \ + } \ + catch(...) { \ + ::boost::detail::throw_failed_impl \ + (#EXCEP, __FILE__, __LINE__, BOOST_CURRENT_FUNCTION); \ + } \ + // +#else + #define BOOST_TEST_THROWS( EXPR, EXCEP ) +#endif + +#endif // #ifndef BOOST_ENDIAN_LIGHTWEIGHT_TEST_HPP diff --git a/3party/boost/boost/endian/endian.hpp b/3party/boost/boost/endian/endian.hpp new file mode 100644 index 0000000000..6c610c4a9a --- /dev/null +++ b/3party/boost/boost/endian/endian.hpp @@ -0,0 +1,19 @@ +// boost/endian/endian.hpp -----------------------------------------------------------// + +// Copyright Beman Dawes 2015 + +// Distributed under the Boost Software License, Version 1.0. +// See http://www.boost.org/LICENSE_1_0.txt + +// See library home page at http://www.boost.org/libs/endian + +#ifndef BOOST_ENDIAN_ENDIAN_HPP +#define BOOST_ENDIAN_ENDIAN_HPP + +#ifndef BOOST_ENDIAN_DEPRECATED_NAMES +# error " is deprecated. Define BOOST_ENDIAN_DEPRECATED_NAMES to use." +#endif + +#include + +#endif //BOOST_ENDIAN_ENDIAN_HPP diff --git a/3party/boost/boost/endian/std_pair.hpp b/3party/boost/boost/endian/std_pair.hpp new file mode 100644 index 0000000000..8da74b4f70 --- /dev/null +++ b/3party/boost/boost/endian/std_pair.hpp @@ -0,0 +1,38 @@ +// boost/endian/std_pair.hpp ---------------------------------------------------------// + +// Copyright Beman Dawes 2013 + +// Distributed under the Boost Software License, Version 1.0. +// http://www.boost.org/LICENSE_1_0.txt + +//--------------------------------------------------------------------------------------// + +#ifndef BOOST_ENDIAN_STD_PAIR_HPP +#define BOOST_ENDIAN_STD_PAIR_HPP + +#include +#include + +namespace boost +{ +namespace endian +{ + template + std::pair + reverse_value(std::pair x) + { + return std::pair(reverse_value(x.first), + reverse_value(x.second)); + } + + template + void reverse(std::pair& x) + { + reverse(x.first); + reverse(x.second); + } + +} +} + +#endif // BOOST_ENDIAN_STD_PAIR_HPP diff --git a/3party/boost/boost/exception/detail/exception_ptr.hpp b/3party/boost/boost/exception/detail/exception_ptr.hpp index 530a6bd629..cac64e6ab3 100644 --- a/3party/boost/boost/exception/detail/exception_ptr.hpp +++ b/3party/boost/boost/exception/detail/exception_ptr.hpp @@ -21,9 +21,9 @@ #include #include #include -//#ifndef BOOST_NO_RTTI -//#include -//#endif +#ifndef BOOST_NO_RTTI +#include +#endif #include #include #include @@ -92,7 +92,7 @@ boost std::string to_string( original_exception_type const & x ) { - return /*units::detail::demangle*/(x.value()->name()); + return core::demangle(x.value()->name()); } #endif diff --git a/3party/boost/boost/exception/detail/type_info.hpp b/3party/boost/boost/exception/detail/type_info.hpp index 0af8ef52ee..b8c7d48bae 100644 --- a/3party/boost/boost/exception/detail/type_info.hpp +++ b/3party/boost/boost/exception/detail/type_info.hpp @@ -12,12 +12,10 @@ #pragma warning(push,1) #endif -#include +#include +#include #include #include -//#ifndef BOOST_NO_TYPEID -//#include -//#endif #include namespace @@ -31,7 +29,7 @@ boost #ifdef BOOST_NO_TYPEID return BOOST_CURRENT_FUNCTION; #else - return /*units::detail::demangle*/(typeid(T*).name()); + return core::demangle(typeid(T*).name()); #endif } @@ -43,7 +41,7 @@ boost #ifdef BOOST_NO_TYPEID return BOOST_CURRENT_FUNCTION; #else - return /*units::detail::demangle*/(typeid(T).name()); + return core::demangle(typeid(T).name()); #endif } @@ -53,10 +51,10 @@ boost struct type_info_ { - detail::sp_typeinfo const * type_; + core::typeinfo const * type_; explicit - type_info_( detail::sp_typeinfo const & type ): + type_info_( core::typeinfo const & type ): type_(&type) { } @@ -71,7 +69,7 @@ boost } } -#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_SP_TYPEID(T)) +#define BOOST_EXCEPTION_STATIC_TYPEID(T) ::boost::exception_detail::type_info_(BOOST_CORE_TYPEID(T)) #ifndef BOOST_NO_RTTI #define BOOST_EXCEPTION_DYNAMIC_TYPEID(x) ::boost::exception_detail::type_info_(typeid(x)) diff --git a/3party/boost/boost/exception/diagnostic_information.hpp b/3party/boost/boost/exception/diagnostic_information.hpp index 7889c8f9f3..305e8edd61 100644 --- a/3party/boost/boost/exception/diagnostic_information.hpp +++ b/3party/boost/boost/exception/diagnostic_information.hpp @@ -16,9 +16,9 @@ #include #include #include -//#ifndef BOOST_NO_RTTI -//#include -//#endif +#ifndef BOOST_NO_RTTI +#include +#endif #include #include #include @@ -151,7 +151,7 @@ boost #ifndef BOOST_NO_RTTI if ( verbose ) tmp << std::string("Dynamic exception type: ") << - /*units::detail::demangle*/((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n'; + core::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()) << '\n'; #endif if( with_what && se && verbose ) tmp << "std::exception::what: " << wh << '\n'; diff --git a/3party/boost/boost/filesystem/operations.hpp b/3party/boost/boost/filesystem/operations.hpp index 9005b3e94b..333f81e4b3 100644 --- a/3party/boost/boost/filesystem/operations.hpp +++ b/3party/boost/boost/filesystem/operations.hpp @@ -227,7 +227,7 @@ namespace boost set_gid_on_exe = 02000, // S_ISGID, Set-group-ID on execution sticky_bit = 01000, // S_ISVTX, // (POSIX XSI) On directories, restricted deletion flag - // (V7) 'sticky bit': save swapped text even after use + // (V7) 'sticky bit': save swapped text even after use // (SunOS) On non-directories: don't cache this file // (SVID-v4.2) On directories: restricted deletion flag // Also see http://en.wikipedia.org/wiki/Sticky_bit @@ -302,7 +302,7 @@ namespace boost }; BOOST_SCOPED_ENUM_START(copy_option) - {none, fail_if_exists = none, overwrite_if_exists}; + {none=0, fail_if_exists = none, overwrite_if_exists}; BOOST_SCOPED_ENUM_END //--------------------------------------------------------------------------------------// @@ -311,6 +311,11 @@ namespace boost namespace detail { + // We cannot pass a BOOST_SCOPED_ENUM to a compled function because it will result + // in an undefined reference if the library is compled with -std=c++0x but the use + // is compiled in C++03 mode, or visa versa. See tickets 6124, 6779, 10038. + enum copy_option {none=0, fail_if_exists = none, overwrite_if_exists}; + BOOST_FILESYSTEM_DECL file_status status(const path&p, system::error_code* ec=0); BOOST_FILESYSTEM_DECL @@ -326,9 +331,8 @@ namespace boost BOOST_FILESYSTEM_DECL void copy_directory(const path& from, const path& to, system::error_code* ec=0); BOOST_FILESYSTEM_DECL - void copy_file(const path& from, const path& to, - BOOST_SCOPED_ENUM(copy_option) option, // See ticket #2925 - system::error_code* ec=0); + void copy_file(const path& from, const path& to, // See ticket #2925 + detail::copy_option option, system::error_code* ec=0); BOOST_FILESYSTEM_DECL void copy_symlink(const path& existing_symlink, const path& new_symlink, system::error_code* ec=0); BOOST_FILESYSTEM_DECL @@ -489,19 +493,28 @@ namespace boost inline void copy_file(const path& from, const path& to, // See ticket #2925 BOOST_SCOPED_ENUM(copy_option) option) - {detail::copy_file(from, to, option);} + { + detail::copy_file(from, to, static_cast(option)); + } inline void copy_file(const path& from, const path& to) - {detail::copy_file(from, to, copy_option::fail_if_exists);} + { + detail::copy_file(from, to, detail::fail_if_exists); + } inline void copy_file(const path& from, const path& to, // See ticket #2925 BOOST_SCOPED_ENUM(copy_option) option, system::error_code& ec) - {detail::copy_file(from, to, option, &ec);} + { + detail::copy_file(from, to, static_cast(option), &ec); + } inline void copy_file(const path& from, const path& to, system::error_code& ec) - {detail::copy_file(from, to, copy_option::fail_if_exists, &ec);} + { + detail::copy_file(from, to, detail::fail_if_exists, &ec); + } inline - void copy_symlink(const path& existing_symlink, const path& new_symlink) {detail::copy_symlink(existing_symlink, new_symlink);} + void copy_symlink(const path& existing_symlink, + const path& new_symlink) {detail::copy_symlink(existing_symlink, new_symlink);} inline void copy_symlink(const path& existing_symlink, const path& new_symlink, system::error_code& ec) @@ -830,9 +843,10 @@ namespace detail bool equal(const directory_iterator& rhs) const { return m_imp == rhs.m_imp; } - }; - // enable C++11 range-base for statement use ---------------------------------------// + }; // directory_iterator + + // enable directory_iterator C++11 range-base for statement use --------------------// // begin() and end() are only used by a range-based for statement in the context of // auto - thus the top-level const is stripped - so returning const is harmless and @@ -842,7 +856,7 @@ namespace detail inline directory_iterator end(const directory_iterator&) {return directory_iterator();} - // enable BOOST_FOREACH ------------------------------------------------------------// + // enable directory_iterator BOOST_FOREACH -----------------------------------------// inline directory_iterator& range_begin(directory_iterator& iter) {return iter;} @@ -1152,9 +1166,9 @@ namespace filesystem bool equal(const recursive_directory_iterator& rhs) const { return m_imp == rhs.m_imp; } - }; + }; // recursive directory iterator - // enable C++11 range-base for statement use ---------------------------------------// + // enable recursive directory iterator C++11 range-base for statement use ----------// // begin() and end() are only used by a range-based for statement in the context of // auto - thus the top-level const is stripped - so returning const is harmless and @@ -1166,7 +1180,7 @@ namespace filesystem recursive_directory_iterator end(const recursive_directory_iterator&) {return recursive_directory_iterator();} - // enable BOOST_FOREACH ------------------------------------------------------------// + // enable recursive directory iterator BOOST_FOREACH -------------------------------// inline recursive_directory_iterator& range_begin(recursive_directory_iterator& iter) diff --git a/3party/boost/boost/filesystem/path.hpp b/3party/boost/boost/filesystem/path.hpp index 2dd1b00ea5..d811980713 100644 --- a/3party/boost/boost/filesystem/path.hpp +++ b/3party/boost/boost/filesystem/path.hpp @@ -121,9 +121,10 @@ namespace filesystem // multi-byte character strings which may have embedded nulls. Embedded null // support is required for some Asian languages on Windows. - // [defaults] "const codecvt_type& cvt=codecvt()" default arguments are not used - // because some compilers, such as Microsoft prior to VC++ 10, do not handle defaults - // correctly in templates. + // "const codecvt_type& cvt=codecvt()" default arguments are not used because this + // limits the impact of locale("") initialization failures on POSIX systems to programs + // that actually depend on locale(""). It further ensures that exceptions thrown + // as a result of such failues occur after main() has started, so can be caught. // ----- constructors ----- @@ -136,23 +137,16 @@ namespace filesystem typename boost::enable_if::type> >::type* =0) { - path_traits::dispatch(source, m_pathname, codecvt()); + path_traits::dispatch(source, m_pathname); } - // Overloads for the operating system API's native character type. Rationale: - // - Avoids use of codecvt() for native value_type strings. This limits the - // impact of locale("") initialization failures on POSIX systems to programs - // that actually depend on locale(""). It further ensures that exceptions thrown - // as a result of such failues occur after main() has started, so can be caught. - // This is a partial resolution of tickets 4688, 5100, and 5289. - // - A slight optimization for a common use case, particularly on POSIX since - // value_type is char and that is the most common useage. path(const value_type* s) : m_pathname(s) {} - path(const std::basic_string& s) : m_pathname(s) {} + path(value_type* s) : m_pathname(s) {} + path(const string_type& s) : m_pathname(s) {} + path(string_type& s) : m_pathname(s) {} template path(Source const& source, const codecvt_type& cvt) - // see [defaults] note above explaining why codecvt() default arguments are not used { path_traits::dispatch(source, m_pathname, cvt); } @@ -162,9 +156,10 @@ namespace filesystem { if (begin != end) { + // convert requires contiguous string, so copy std::basic_string::value_type> - s(begin, end); - path_traits::convert(s.c_str(), s.c_str()+s.size(), m_pathname, codecvt()); + seq(begin, end); + path_traits::convert(seq.c_str(), seq.c_str()+seq.size(), m_pathname); } } @@ -173,9 +168,10 @@ namespace filesystem { if (begin != end) { + // convert requires contiguous string, so copy std::basic_string::value_type> - s(begin, end); - path_traits::convert(s.c_str(), s.c_str()+s.size(), m_pathname, cvt); + seq(begin, end); + path_traits::convert(seq.c_str(), seq.c_str()+seq.size(), m_pathname, cvt); } } @@ -187,28 +183,27 @@ namespace filesystem return *this; } - path& operator=(const value_type* ptr) // required in case ptr overlaps *this - { - m_pathname = ptr; - return *this; - } - template typename boost::enable_if::type>, path&>::type operator=(Source const& source) { m_pathname.clear(); - path_traits::dispatch(source, m_pathname, codecvt()); + path_traits::dispatch(source, m_pathname); return *this; } + // value_type overloads + + path& operator=(const value_type* ptr) // required in case ptr overlaps *this + {m_pathname = ptr; return *this;} + path& operator=(value_type* ptr) // required in case ptr overlaps *this + {m_pathname = ptr; return *this;} + path& operator=(const string_type& s) {m_pathname = s; return *this;} + path& operator=(string_type& s) {m_pathname = s; return *this;} + path& assign(const value_type* ptr, const codecvt_type&) // required in case ptr overlaps *this - { - m_pathname = ptr; - return *this; - } - + {m_pathname = ptr; return *this;} template path& assign(Source const& source, const codecvt_type& cvt) { @@ -220,7 +215,14 @@ namespace filesystem template path& assign(InputIterator begin, InputIterator end) { - return assign(begin, end, codecvt()); + m_pathname.clear(); + if (begin != end) + { + std::basic_string::value_type> + seq(begin, end); + path_traits::convert(seq.c_str(), seq.c_str()+seq.size(), m_pathname); + } + return *this; } template @@ -230,27 +232,30 @@ namespace filesystem if (begin != end) { std::basic_string::value_type> - s(begin, end); - path_traits::convert(s.c_str(), s.c_str()+s.size(), m_pathname, cvt); + seq(begin, end); + path_traits::convert(seq.c_str(), seq.c_str()+seq.size(), m_pathname, cvt); } return *this; } // ----- concatenation ----- - path& operator+=(const path& p) {m_pathname += p.m_pathname; return *this;} - path& operator+=(const string_type& s) {m_pathname += s; return *this;} - path& operator+=(const value_type* ptr) {m_pathname += ptr; return *this;} - path& operator+=(value_type c) {m_pathname += c; return *this;} - template typename boost::enable_if::type>, path&>::type operator+=(Source const& source) { - return concat(source, codecvt()); + return concat(source); } + // value_type overloads. Same rationale as for constructors above + path& operator+=(const path& p) { m_pathname += p.m_pathname; return *this; } + path& operator+=(const value_type* ptr) { m_pathname += ptr; return *this; } + path& operator+=(value_type* ptr) { m_pathname += ptr; return *this; } + path& operator+=(const string_type& s) { m_pathname += s; return *this; } + path& operator+=(string_type& s) { m_pathname += s; return *this; } + path& operator+=(value_type c) { m_pathname += c; return *this; } + template typename boost::enable_if, path&>::type operator+=(CharT c) @@ -258,7 +263,14 @@ namespace filesystem CharT tmp[2]; tmp[0] = c; tmp[1] = 0; - return concat(tmp, codecvt()); + return concat(tmp); + } + + template + path& concat(Source const& source) + { + path_traits::dispatch(source, m_pathname); + return *this; } template @@ -271,7 +283,12 @@ namespace filesystem template path& concat(InputIterator begin, InputIterator end) { - return concat(begin, end, codecvt()); + if (begin == end) + return *this; + std::basic_string::value_type> + seq(begin, end); + path_traits::convert(seq.c_str(), seq.c_str()+seq.size(), m_pathname); + return *this; } template @@ -280,8 +297,8 @@ namespace filesystem if (begin == end) return *this; std::basic_string::value_type> - s(begin, end); - path_traits::convert(s.c_str(), s.c_str()+s.size(), m_pathname, cvt); + seq(begin, end); + path_traits::convert(seq.c_str(), seq.c_str()+seq.size(), m_pathname, cvt); return *this; } @@ -292,14 +309,26 @@ namespace filesystem path& operator/=(const path& p); - path& operator/=(const value_type* ptr); - template typename boost::enable_if::type>, path&>::type operator/=(Source const& source) { - return append(source, codecvt()); + return append(source); + } + + path& operator/=(const value_type* ptr); + path& operator/=(value_type* ptr) + { + return this->operator/=(const_cast(ptr)); + } + path& operator/=(const string_type& s) { return this->operator/=(path(s)); } + path& operator/=(string_type& s) { return this->operator/=(path(s)); } + + path& append(const value_type* ptr) // required in case ptr overlaps *this + { + this->operator/=(ptr); + return *this; } path& append(const value_type* ptr, const codecvt_type&) // required in case ptr overlaps *this @@ -308,14 +337,14 @@ namespace filesystem return *this; } + template + path& append(Source const& source); + template path& append(Source const& source, const codecvt_type& cvt); template - path& append(InputIterator begin, InputIterator end) - { - return append(begin, end, codecvt()); - } + path& append(InputIterator begin, InputIterator end); template path& append(InputIterator begin, InputIterator end, const codecvt_type& cvt); @@ -330,6 +359,7 @@ namespace filesystem ; // change slashes to backslashes # endif path& remove_filename(); + path& remove_trailing_separator(); path& replace_extension(const path& new_extension = path()); void swap(path& rhs) { m_pathname.swap(rhs.m_pathname); } @@ -364,7 +394,14 @@ namespace filesystem String string(const codecvt_type& cvt) const; # ifdef BOOST_WINDOWS_API - const std::string string() const { return string(codecvt()); } + const std::string string() const + { + std::string tmp; + if (!m_pathname.empty()) + path_traits::convert(&*m_pathname.begin(), &*m_pathname.begin()+m_pathname.size(), + tmp); + return tmp; + } const std::string string(const codecvt_type& cvt) const { std::string tmp; @@ -383,7 +420,14 @@ namespace filesystem const std::string& string() const { return m_pathname; } const std::string& string(const codecvt_type&) const { return m_pathname; } - const std::wstring wstring() const { return wstring(codecvt()); } + const std::wstring wstring() const + { + std::wstring tmp; + if (!m_pathname.empty()) + path_traits::convert(&*m_pathname.begin(), &*m_pathname.begin()+m_pathname.size(), + tmp); + return tmp; + } const std::wstring wstring(const codecvt_type& cvt) const { std::wstring tmp; @@ -404,7 +448,7 @@ namespace filesystem String generic_string(const codecvt_type& cvt) const; # ifdef BOOST_WINDOWS_API - const std::string generic_string() const { return generic_string(codecvt()); } + const std::string generic_string() const; const std::string generic_string(const codecvt_type& cvt) const; const std::wstring generic_wstring() const; const std::wstring generic_wstring(const codecvt_type&) const { return generic_wstring(); }; @@ -413,7 +457,7 @@ namespace filesystem // On POSIX-like systems, the generic format is the same as the native format const std::string& generic_string() const { return m_pathname; } const std::string& generic_string(const codecvt_type&) const { return m_pathname; } - const std::wstring generic_wstring() const { return wstring(codecvt()); } + const std::wstring generic_wstring() const { return wstring(); } const std::wstring generic_wstring(const codecvt_type& cvt) const { return wstring(cvt); } # endif @@ -556,6 +600,10 @@ namespace filesystem BOOST_FILESYSTEM_DECL int lex_compare(path::iterator first1, path::iterator last1, path::iterator first2, path::iterator last2); + BOOST_FILESYSTEM_DECL + const path& dot_path(); + BOOST_FILESYSTEM_DECL + const path& dot_dot_path(); } # ifndef BOOST_FILESYSTEM_NO_DEPRECATED @@ -686,14 +734,40 @@ namespace filesystem //--------------------------------------------------------------------------------------// template - path& path::append(InputIterator begin, InputIterator end, const codecvt_type& cvt) - { + path& path::append(InputIterator begin, InputIterator end) + { if (begin == end) return *this; string_type::size_type sep_pos(m_append_separator_if_needed()); std::basic_string::value_type> - s(begin, end); - path_traits::convert(s.c_str(), s.c_str()+s.size(), m_pathname, cvt); + seq(begin, end); + path_traits::convert(seq.c_str(), seq.c_str()+seq.size(), m_pathname); + if (sep_pos) + m_erase_redundant_separator(sep_pos); + return *this; + } + + template + path& path::append(InputIterator begin, InputIterator end, const codecvt_type& cvt) + { + if (begin == end) + return *this; + string_type::size_type sep_pos(m_append_separator_if_needed()); + std::basic_string::value_type> + seq(begin, end); + path_traits::convert(seq.c_str(), seq.c_str()+seq.size(), m_pathname, cvt); + if (sep_pos) + m_erase_redundant_separator(sep_pos); + return *this; + } + + template + path& path::append(Source const& source) + { + if (path_traits::empty(source)) + return *this; + string_type::size_type sep_pos(m_append_separator_if_needed()); + path_traits::dispatch(source, m_pathname); if (sep_pos) m_erase_redundant_separator(sep_pos); return *this; @@ -747,7 +821,46 @@ namespace filesystem std::wstring path::generic_string(const codecvt_type& cvt) const { return generic_wstring(cvt); } + //--------------------------------------------------------------------------------------// + // path_traits convert function implementations // + // requiring path::codecvt() be visable // + //--------------------------------------------------------------------------------------// +namespace path_traits +{ // without codecvt + + inline + void convert(const char* from, + const char* from_end, // 0 for null terminated MBCS + std::wstring & to) + { + convert(from, from_end, to, path::codecvt()); + } + + inline + void convert(const wchar_t* from, + const wchar_t* from_end, // 0 for null terminated MBCS + std::string & to) + { + convert(from, from_end, to, path::codecvt()); + } + + inline + void convert(const char* from, + std::wstring & to) + { + BOOST_ASSERT(from); + convert(from, 0, to, path::codecvt()); + } + + inline + void convert(const wchar_t* from, + std::string & to) + { + BOOST_ASSERT(from); + convert(from, 0, to, path::codecvt()); + } +} // namespace path_traits } // namespace filesystem } // namespace boost diff --git a/3party/boost/boost/filesystem/path_traits.hpp b/3party/boost/boost/filesystem/path_traits.hpp index a6a2505574..6afad0de5a 100644 --- a/3party/boost/boost/filesystem/path_traits.hpp +++ b/3party/boost/boost/filesystem/path_traits.hpp @@ -91,43 +91,65 @@ namespace path_traits { // value types differ ---------------------------------------------------------------// // // A from_end argument of 0 is less efficient than a known end, so use only if needed - - BOOST_FILESYSTEM_DECL - void convert(const char* from, - const char* from_end, // 0 for null terminated MBCS - std::wstring & to, - const codecvt_type& cvt); + + // with codecvt BOOST_FILESYSTEM_DECL - void convert(const wchar_t* from, - const wchar_t* from_end, // 0 for null terminated MBCS - std::string & to, - const codecvt_type& cvt); + void convert(const char* from, + const char* from_end, // 0 for null terminated MBCS + std::wstring & to, + const codecvt_type& cvt); - inline - void convert(const char* from, - std::wstring & to, - const codecvt_type& cvt) + BOOST_FILESYSTEM_DECL + void convert(const wchar_t* from, + const wchar_t* from_end, // 0 for null terminated MBCS + std::string & to, + const codecvt_type& cvt); + + inline + void convert(const char* from, + std::wstring & to, + const codecvt_type& cvt) { BOOST_ASSERT(from); convert(from, 0, to, cvt); } - inline - void convert(const wchar_t* from, - std::string & to, - const codecvt_type& cvt) + inline + void convert(const wchar_t* from, + std::string & to, + const codecvt_type& cvt) { BOOST_ASSERT(from); convert(from, 0, to, cvt); } + // without codecvt + + inline + void convert(const char* from, + const char* from_end, // 0 for null terminated MBCS + std::wstring & to); + + inline + void convert(const wchar_t* from, + const wchar_t* from_end, // 0 for null terminated MBCS + std::string & to); + + inline + void convert(const char* from, + std::wstring & to); + + inline + void convert(const wchar_t* from, + std::string & to); + // value types same -----------------------------------------------------------------// - // char + // char with codecvt - inline - void convert(const char* from, const char* from_end, std::string & to, + inline + void convert(const char* from, const char* from_end, std::string & to, const codecvt_type&) { BOOST_ASSERT(from); @@ -135,19 +157,19 @@ namespace path_traits { to.append(from, from_end); } - inline - void convert(const char* from, - std::string & to, - const codecvt_type&) + inline + void convert(const char* from, + std::string & to, + const codecvt_type&) { BOOST_ASSERT(from); to += from; } - // wchar_t + // wchar_t with codecvt - inline - void convert(const wchar_t* from, const wchar_t* from_end, std::wstring & to, + inline + void convert(const wchar_t* from, const wchar_t* from_end, std::wstring & to, const codecvt_type&) { BOOST_ASSERT(from); @@ -155,10 +177,44 @@ namespace path_traits { to.append(from, from_end); } - inline - void convert(const wchar_t* from, - std::wstring & to, - const codecvt_type&) + inline + void convert(const wchar_t* from, + std::wstring & to, + const codecvt_type&) + { + BOOST_ASSERT(from); + to += from; + } + + // char without codecvt + + inline + void convert(const char* from, const char* from_end, std::string & to) + { + BOOST_ASSERT(from); + BOOST_ASSERT(from_end); + to.append(from, from_end); + } + + inline + void convert(const char* from, std::string & to) + { + BOOST_ASSERT(from); + to += from; + } + + // wchar_t without codecvt + + inline + void convert(const wchar_t* from, const wchar_t* from_end, std::wstring & to) + { + BOOST_ASSERT(from); + BOOST_ASSERT(from_end); + to.append(from, from_end); + } + + inline + void convert(const wchar_t* from, std::wstring & to) { BOOST_ASSERT(from); to += from; @@ -166,7 +222,7 @@ namespace path_traits { // Source dispatch -----------------------------------------------------------------// - // contiguous containers + // contiguous containers with codecvt template inline void dispatch(const std::string& c, U& to, const codecvt_type& cvt) { @@ -192,12 +248,38 @@ namespace path_traits { convert(&*c.begin(), &*c.begin() + c.size(), to, cvt); } - // non-contiguous containers + // contiguous containers without codecvt + template inline + void dispatch(const std::string& c, U& to) + { + if (c.size()) + convert(&*c.begin(), &*c.begin() + c.size(), to); + } + template inline + void dispatch(const std::wstring& c, U& to) + { + if (c.size()) + convert(&*c.begin(), &*c.begin() + c.size(), to); + } + template inline + void dispatch(const std::vector& c, U& to) + { + if (c.size()) + convert(&*c.begin(), &*c.begin() + c.size(), to); + } + template inline + void dispatch(const std::vector& c, U& to) + { + if (c.size()) + convert(&*c.begin(), &*c.begin() + c.size(), to); + } + + // non-contiguous containers with codecvt template inline // disable_if aids broken compilers (IBM, old GCC, etc.) and is harmless for // conforming compilers. Replace by plain "void" at some future date (2012?) typename boost::disable_if, void>::type - dispatch(const Container & c, U& to, const codecvt_type& cvt) + dispatch(const Container & c, U& to, const codecvt_type& cvt) { if (c.size()) { @@ -208,24 +290,59 @@ namespace path_traits { // c_str template inline - void dispatch(T * const & c_str, U& to, const codecvt_type& cvt) + void dispatch(T * const & c_str, U& to, const codecvt_type& cvt) { -// std::cout << "dispatch() const T *\n"; + // std::cout << "dispatch() const T *\n"; BOOST_ASSERT(c_str); convert(c_str, to, cvt); } - + + // Note: there is no dispatch on C-style arrays because the array may + // contain a string smaller than the array size. + + BOOST_FILESYSTEM_DECL + void dispatch(const directory_entry & de, +# ifdef BOOST_WINDOWS_API + std::wstring & to, +# else + std::string & to, +# endif + const codecvt_type&); + + // non-contiguous containers without codecvt + template inline + // disable_if aids broken compilers (IBM, old GCC, etc.) and is harmless for + // conforming compilers. Replace by plain "void" at some future date (2012?) + typename boost::disable_if, void>::type + dispatch(const Container & c, U& to) + { + if (c.size()) + { + std::basic_string seq(c.begin(), c.end()); + convert(seq.c_str(), seq.c_str()+seq.size(), to); + } + } + + // c_str + template inline + void dispatch(T * const & c_str, U& to) + { + // std::cout << "dispatch() const T *\n"; + BOOST_ASSERT(c_str); + convert(c_str, to); + } + // Note: there is no dispatch on C-style arrays because the array may // contain a string smaller than the array size. BOOST_FILESYSTEM_DECL - void dispatch(const directory_entry & de, + void dispatch(const directory_entry & de, # ifdef BOOST_WINDOWS_API - std::wstring & to, + std::wstring & to # else - std::string & to, + std::string & to # endif - const codecvt_type&); + ); }}} // namespace boost::filesystem::path_traits diff --git a/3party/boost/boost/flyweight/detail/archive_constructed.hpp b/3party/boost/boost/flyweight/detail/archive_constructed.hpp new file mode 100644 index 0000000000..104103d5d6 --- /dev/null +++ b/3party/boost/boost/flyweight/detail/archive_constructed.hpp @@ -0,0 +1,79 @@ +/* Copyright 2006-2014 Joaquin M Lopez Munoz. + * 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/libs/flyweight for library home page. + */ + +#ifndef BOOST_FLYWEIGHT_DETAIL_ARCHIVE_CONSTRUCTED_HPP +#define BOOST_FLYWEIGHT_DETAIL_ARCHIVE_CONSTRUCTED_HPP + +#if defined(_MSC_VER)&&(_MSC_VER>=1200) +#pragma once +#endif + +#include /* keep it first to prevent nasty warns in MSVC */ +#include +#include +#include +#include +#include + +namespace boost{ + +namespace flyweights{ + +namespace detail{ + +/* constructs a stack-based object from a serialization archive */ + +template +struct archive_constructed:private noncopyable +{ + template + archive_constructed(Archive& ar,const unsigned int version) + { + serialization::load_construct_data_adl(ar,&get(),version); + BOOST_TRY{ + ar>>get(); + } + BOOST_CATCH(...){ + (&get())->~T(); + BOOST_RETHROW; + } + BOOST_CATCH_END + } + + template + archive_constructed(const char* name,Archive& ar,const unsigned int version) + { + serialization::load_construct_data_adl(ar,&get(),version); + BOOST_TRY{ + ar>>serialization::make_nvp(name,get()); + } + BOOST_CATCH(...){ + (&get())->~T(); + BOOST_RETHROW; + } + BOOST_CATCH_END + } + + ~archive_constructed() + { + (&get())->~T(); + } + + T& get(){return *static_cast(static_cast(&space));} + +private: + typename aligned_storage::value>::type space; +}; + +} /* namespace flyweights::detail */ + +} /* namespace flyweights */ + +} /* namespace boost */ + +#endif diff --git a/3party/boost/boost/flyweight/detail/dyn_perfect_fwd.hpp b/3party/boost/boost/flyweight/detail/dyn_perfect_fwd.hpp index 28b0c42c82..20dd301467 100644 --- a/3party/boost/boost/flyweight/detail/dyn_perfect_fwd.hpp +++ b/3party/boost/boost/flyweight/detail/dyn_perfect_fwd.hpp @@ -37,12 +37,15 @@ BOOST_FLYWEIGHT_PERFECT_FWD_N_AUX( \ n,BOOST_PP_SEQ_HEAD(data), \ BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_TAIL(data))) -#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ -name()body((ENUM)(0)) \ +#define BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) \ BOOST_PP_REPEAT_FROM_TO( \ 1,BOOST_PP_ADD(BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS,1), \ BOOST_FLYWEIGHT_PERFECT_FWD_N,(name)(body)) +#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ +name()body((ENUM)(0)) \ +BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) + #else /* no rvalue refs -> [const] Tn& overloads */ @@ -98,11 +101,14 @@ BOOST_PP_SEQ_FOR_EACH_PRODUCT( \ ((data)) \ BOOST_PP_REPEAT(n,BOOST_FLYWEIGHT_01,~)) -#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ -name()body((ENUM)(0)) \ +#define BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) \ BOOST_PP_REPEAT_FROM_TO( \ 1,BOOST_PP_ADD(BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS,1), \ BOOST_FLYWEIGHT_PERFECT_FWD_N,(name)(body)) +#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ +name()body((ENUM)(0)) \ +BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) + #endif #endif diff --git a/3party/boost/boost/flyweight/detail/perfect_fwd.hpp b/3party/boost/boost/flyweight/detail/perfect_fwd.hpp index 1e0faa31cc..18518bc35f 100644 --- a/3party/boost/boost/flyweight/detail/perfect_fwd.hpp +++ b/3party/boost/boost/flyweight/detail/perfect_fwd.hpp @@ -28,6 +28,10 @@ * generates n+1 overloads, if rvalue refs are supported, or else 2^(n+1)-1 * overloads accepting any combination of lvalue refs and const lvalue refs, * up to BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS args. + * + * BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) is a variation omitting the + * overloads with zero args --when perfect forwarding is available, this second + * macro is exactly the same as the original. */ #include /* keep it first to prevent nasty warns in MSVC */ @@ -79,5 +83,8 @@ BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_TAIL(args))) templatename(Args&&... args) \ body((PASS)(std::forward(args)...)) +#define BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS \ +BOOST_FLYWEIGHT_PERFECT_FWD + #endif #endif diff --git a/3party/boost/boost/flyweight/detail/pp_perfect_fwd.hpp b/3party/boost/boost/flyweight/detail/pp_perfect_fwd.hpp index bf2ac5a01d..45c76383a2 100644 --- a/3party/boost/boost/flyweight/detail/pp_perfect_fwd.hpp +++ b/3party/boost/boost/flyweight/detail/pp_perfect_fwd.hpp @@ -137,38 +137,36 @@ template name(const #endif #if BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS==0 -#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_0(name,body) +#define BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) #elif BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS==1 -#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_0(name,body) \ +#define BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) \ BOOST_FLYWEIGHT_PERFECT_FWD_1(name,body) #elif BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS==2 -#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_0(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_1(name,body) \ +#define BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_1(name,body) \ BOOST_FLYWEIGHT_PERFECT_FWD_2(name,body) #elif BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS==3 -#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_0(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_1(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_2(name,body) \ +#define BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_1(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_2(name,body) \ BOOST_FLYWEIGHT_PERFECT_FWD_3(name,body) #elif BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS==4 -#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_0(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_1(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_2(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_3(name,body) \ +#define BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_1(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_2(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_3(name,body) \ BOOST_FLYWEIGHT_PERFECT_FWD_4(name,body) #else /* BOOST_FLYWEIGHT_LIMIT_PERFECT_FWD_ARGS==5 */ -#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_0(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_1(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_2(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_3(name,body) \ -BOOST_FLYWEIGHT_PERFECT_FWD_4(name,body) \ +#define BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_1(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_2(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_3(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_4(name,body) \ BOOST_FLYWEIGHT_PERFECT_FWD_5(name,body) #endif +#define BOOST_FLYWEIGHT_PERFECT_FWD(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_0(name,body) \ +BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS(name,body) + #endif diff --git a/3party/boost/boost/flyweight/detail/serialization_helper.hpp b/3party/boost/boost/flyweight/detail/serialization_helper.hpp new file mode 100644 index 0000000000..4c07539c0f --- /dev/null +++ b/3party/boost/boost/flyweight/detail/serialization_helper.hpp @@ -0,0 +1,99 @@ +/* Copyright 2006-2014 Joaquin M Lopez Munoz. + * 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/libs/flyweight for library home page. + */ + +#ifndef BOOST_FLYWEIGHT_DETAIL_SERIALIZATION_HELPER_HPP +#define BOOST_FLYWEIGHT_DETAIL_SERIALIZATION_HELPER_HPP + +#if defined(_MSC_VER)&&(_MSC_VER>=1200) +#pragma once +#endif + +#include /* keep it first to prevent nasty warns in MSVC */ +#include +#include +#include +#include +#include +#include + +namespace boost{ + +namespace flyweights{ + +namespace detail{ + +/* The serialization helpers for flyweight map numerical IDs to + * flyweight exemplars --an exemplar is the flyweight object + * associated to a given value that appears first on the serialization + * stream, so that subsequent equivalent flyweight objects will be made + * to refer to it during the serialization process. + */ + +template +struct flyweight_value_address +{ + typedef const typename Flyweight::value_type* result_type; + + result_type operator()(const Flyweight& x)const{return &x.get();} +}; + +template +class save_helper:private noncopyable +{ + typedef multi_index::multi_index_container< + Flyweight, + multi_index::indexed_by< + multi_index::random_access<>, + multi_index::hashed_unique > + > + > table; + +public: + + typedef typename table::size_type size_type; + + size_type size()const{return t.size();} + + size_type find(const Flyweight& x)const + { + return multi_index::project<0>(t,multi_index::get<1>(t).find(&x.get())) + -t.begin(); + } + + void push_back(const Flyweight& x){t.push_back(x);} + +private: + table t; +}; + +template +class load_helper:private noncopyable +{ + typedef std::vector table; + +public: + + typedef typename table::size_type size_type; + + size_type size()const{return t.size();} + + Flyweight operator[](size_type n)const{return t[n];} + + void push_back(const Flyweight& x){t.push_back(x);} + +private: + table t; +}; + +} /* namespace flyweights::detail */ + +} /* namespace flyweights */ + +} /* namespace boost */ + +#endif diff --git a/3party/boost/boost/flyweight/flyweight.hpp b/3party/boost/boost/flyweight/flyweight.hpp index 624649b166..1fb2009fcf 100644 --- a/3party/boost/boost/flyweight/flyweight.hpp +++ b/3party/boost/boost/flyweight/flyweight.hpp @@ -47,6 +47,7 @@ #if BOOST_WORKAROUND(BOOST_MSVC,BOOST_TESTED_AT(1400)) #pragma warning(push) +#pragma warning(disable:4520) /* multiple default ctors */ #pragma warning(disable:4521) /* multiple copy ctors */ #endif @@ -187,11 +188,13 @@ public: }; /* construct/copy/destroy */ + + flyweight():h(core::insert()){} #define BOOST_FLYWEIGHT_PERFECT_FWD_CTR_BODY(args) \ :h(core::insert(BOOST_FLYWEIGHT_FORWARD(args))){} - BOOST_FLYWEIGHT_PERFECT_FWD( + BOOST_FLYWEIGHT_PERFECT_FWD_WITH_ARGS( explicit flyweight, BOOST_FLYWEIGHT_PERFECT_FWD_CTR_BODY) @@ -434,6 +437,54 @@ BOOST_TEMPLATED_STREAM(istream,ElemType,Traits)& operator>>( } /* namespace boost */ +#if !defined(BOOST_FLYWEIGHT_DISABLE_HASH_SUPPORT) + +/* hash support */ + +#if !defined(BOOST_NO_CXX11_HDR_FUNCTIONAL) +namespace std{ + +template +struct hash > +{ + typedef std::size_t result_type; + typedef boost::flyweight< + T,BOOST_FLYWEIGHT_TEMPL_ARGS(_)> argument_type; + + result_type operator()(const argument_type& x)const + { + typedef typename argument_type::value_type value_type; + + std::hash h; + return h(&x.get()); + } +}; + +} /* namespace std */ +#endif /* !defined(BOOST_NO_CXX11_HDR_FUNCTIONAL) */ + +namespace boost{ +#if !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) +namespace flyweights{ +#endif + +template +std::size_t hash_value(const flyweight& x) +{ + typedef typename flyweight< + T,BOOST_FLYWEIGHT_TEMPL_ARGS(_) + >::value_type value_type; + + boost::hash h; + return h(&x.get()); +} + +#if !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) +} /* namespace flyweights */ +#endif +} /* namespace boost */ +#endif /* !defined(BOOST_FLYWEIGHT_DISABLE_HASH_SUPPORT) */ + #undef BOOST_FLYWEIGHT_COMPLETE_COMP_OPS #undef BOOST_FLYWEIGHT_TEMPL_ARGS #undef BOOST_FLYWEIGHT_TYPENAME_TEMPL_ARGS diff --git a/3party/boost/boost/flyweight/flyweight_fwd.hpp b/3party/boost/boost/flyweight/flyweight_fwd.hpp index 31b06742ac..d0cc6c0e99 100644 --- a/3party/boost/boost/flyweight/flyweight_fwd.hpp +++ b/3party/boost/boost/flyweight/flyweight_fwd.hpp @@ -1,4 +1,4 @@ -/* Copyright 2006-2008 Joaquin M Lopez Munoz. +/* Copyright 2006-2014 Joaquin M Lopez Munoz. * 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,6 +19,11 @@ #include #include +#if !defined(BOOST_FLYWEIGHT_DISABLE_HASH_SUPPORT) +#include +#include +#endif + namespace boost{ namespace flyweights{ @@ -159,6 +164,41 @@ using flyweights::flyweight; } /* namespace boost */ +#if !defined(BOOST_FLYWEIGHT_DISABLE_HASH_SUPPORT) +#if !defined(BOOST_NO_CXX11_HDR_FUNCTIONAL) + +#if !defined(_LIBCPP_VERSION) +namespace std{ +template struct hash; +} +#else +/* As discussed in http://lists.boost.org/Archives/boost/2011/02/177218.php */ +#include +#endif + +namespace std{ + +template +struct hash >; + +} /* namespace std */ +#endif /* !defined(BOOST_NO_CXX11_HDR_FUNCTIONAL) */ + +namespace boost{ +#if !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) +namespace flyweights{ +#endif + +template +inline std::size_t hash_value( + const flyweight& x); + +#if !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP) +} /* namespace flyweights */ +#endif +} /* namespace boost */ +#endif /* !defined(BOOST_FLYWEIGHT_DISABLE_HASH_SUPPORT) */ + #undef BOOST_FLYWEIGHT_COMPLETE_COMP_OPS_DECL #undef BOOST_FLYWEIGHT_TEMPL_ARGS #undef BOOST_FLYWEIGHT_TYPENAME_TEMPL_ARGS diff --git a/3party/boost/boost/flyweight/serialize.hpp b/3party/boost/boost/flyweight/serialize.hpp new file mode 100644 index 0000000000..a534b53416 --- /dev/null +++ b/3party/boost/boost/flyweight/serialize.hpp @@ -0,0 +1,98 @@ +/* Copyright 2006-2014 Joaquin M Lopez Munoz. + * 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/libs/flyweight for library home page. + */ + +#ifndef BOOST_FLYWEIGHT_SERIALIZE_HPP +#define BOOST_FLYWEIGHT_SERIALIZE_HPP + +#if defined(_MSC_VER)&&(_MSC_VER>=1200) +#pragma once +#endif + +#include /* keep it first to prevent nasty warns in MSVC */ +#include +#include +#include +#include +#include +#include +#include + +/* Serialization routines for flyweight. + */ + +namespace boost{ + +namespace serialization{ + +template< + class Archive, + typename T,typename Arg1,typename Arg2,typename Arg3 +> +inline void serialize( + Archive& ar,::boost::flyweights::flyweight& f, + const unsigned int version) +{ + split_free(ar,f,version); +} + +template< + class Archive, + typename T,typename Arg1,typename Arg2,typename Arg3 +> +void save( + Archive& ar,const ::boost::flyweights::flyweight& f, + const unsigned int version) +{ + typedef ::boost::flyweights::flyweight flyweight; + typedef ::boost::flyweights::detail::save_helper helper; + typedef typename helper::size_type size_type; + + helper& hlp=ar.template get_helper(); + + size_type n=hlp.find(f); + ar< +void load( + Archive& ar,::boost::flyweights::flyweight& f, + const unsigned int version) +{ + typedef ::boost::flyweights::flyweight flyweight; + typedef typename flyweight::key_type key_type; + typedef ::boost::flyweights::detail::load_helper helper; + typedef typename helper::size_type size_type; + + helper& hlp=ar.template get_helper(); + + size_type n=0; + ar>>make_nvp("item",n); + if(n>hlp.size()){ + throw_exception( + archive::archive_exception(archive::archive_exception::other_exception)); + } + else if(n==hlp.size()){ + ::boost::flyweights::detail::archive_constructed k( + "key",ar,version); + hlp.push_back(flyweight(k.get())); + } + f=hlp[n]; +} + +} /* namespace serialization */ + +} /* namespace boost */ + +#endif diff --git a/3party/boost/boost/foreach.hpp b/3party/boost/boost/foreach.hpp index ac2e6134d2..eb3a50b653 100644 --- a/3party/boost/boost/foreach.hpp +++ b/3party/boost/boost/foreach.hpp @@ -398,10 +398,16 @@ struct foreach_reference // encode_type // template -inline type2type *encode_type(T &, boost::mpl::false_ *) { return 0; } +inline type2type *encode_type(T &, boost::false_type*) { return 0; } template -inline type2type *encode_type(T const &, boost::mpl::true_ *) { return 0; } +inline type2type *encode_type(T const &, boost::true_type*) { return 0; } + +template +inline type2type *encode_type(T &, boost::mpl::false_*) { return 0; } + +template +inline type2type *encode_type(T const &, boost::mpl::true_*) { return 0; } /////////////////////////////////////////////////////////////////////////////// // set_false diff --git a/3party/boost/boost/format/exceptions.hpp b/3party/boost/boost/format/exceptions.hpp index 9b2de834cf..56ee30dce0 100644 --- a/3party/boost/boost/format/exceptions.hpp +++ b/3party/boost/boost/format/exceptions.hpp @@ -73,7 +73,7 @@ namespace boost { std::size_t get_expected() const { return expected_; } virtual const char *what() const throw() { return "boost::too_many_args: " - "format-string referred to less arguments than were passed"; + "format-string referred to fewer arguments than were passed"; } }; diff --git a/3party/boost/boost/format/feed_args.hpp b/3party/boost/boost/format/feed_args.hpp index dcfd955b36..95bbe5e252 100644 --- a/3party/boost/boost/format/feed_args.hpp +++ b/3party/boost/boost/format/feed_args.hpp @@ -274,7 +274,7 @@ namespace detail { template< class Ch, class Tr, class Alloc, class T> void distribute (basic_format& self, T x) { - // call put(x, ..) on every occurence of the current argument : + // call put(x, ..) on every occurrence of the current argument : if(self.cur_arg_ >= self.num_args_) { if( self.exceptions() & too_many_args_bit ) boost::throw_exception(too_many_args(self.cur_arg_, self.num_args_)); diff --git a/3party/boost/boost/format/parsing.hpp b/3party/boost/boost/format/parsing.hpp index 3ff1828081..b8c59cd225 100644 --- a/3party/boost/boost/format/parsing.hpp +++ b/3party/boost/boost/format/parsing.hpp @@ -50,7 +50,7 @@ namespace detail { # else (void) fac; // remove "unused parameter" warning using namespace std; - return isdigit(c); + return isdigit(c) != 0; #endif } @@ -471,7 +471,8 @@ namespace detail { if( !ordered_args) { if(max_argN >= 0 ) { // dont mix positional with non-positionnal directives if(exceptions() & io::bad_format_string_bit) - boost::throw_exception(io::bad_format_string(max_argN, 0)); + boost::throw_exception( + io::bad_format_string(static_cast(max_argN), 0)); // else do nothing. => positionnal arguments are processed as non-positionnal } // set things like it would have been with positional directives : diff --git a/3party/boost/boost/function/function_base.hpp b/3party/boost/boost/function/function_base.hpp index f3663d796a..35c1995ece 100644 --- a/3party/boost/boost/function/function_base.hpp +++ b/3party/boost/boost/function/function_base.hpp @@ -25,7 +25,6 @@ #include #include #include -#include #include #include #include @@ -72,19 +71,10 @@ # define BOOST_FUNCTION_TARGET_FIX(x) #endif // __ICL etc -#if !BOOST_WORKAROUND(__BORLANDC__, < 0x5A0) # define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \ - typename ::boost::enable_if_c<(::boost::type_traits::ice_not< \ - (::boost::is_integral::value)>::value), \ + typename ::boost::enable_if_c< \ + !(::boost::is_integral::value), \ Type>::type -#else -// BCC doesn't recognize this depends on a template argument and complains -// about the use of 'typename' -# define BOOST_FUNCTION_ENABLE_IF_NOT_INTEGRAL(Functor,Type) \ - ::boost::enable_if_c<(::boost::type_traits::ice_not< \ - (::boost::is_integral::value)>::value), \ - Type>::type -#endif namespace boost { namespace detail { @@ -294,7 +284,7 @@ namespace boost { } else if (op == destroy_functor_tag) out_buffer.func_ptr = 0; else if (op == check_functor_type_tag) { - const detail::sp_typeinfo& check_type + const boost::detail::sp_typeinfo& check_type = *out_buffer.type.type; if (BOOST_FUNCTION_COMPARE_TYPE_ID(check_type, BOOST_SP_TYPEID(Functor))) out_buffer.obj_ptr = &in_buffer.func_ptr; diff --git a/3party/boost/boost/function/function_template.hpp b/3party/boost/boost/function/function_template.hpp index 72b7fabd18..211b81dbe3 100644 --- a/3party/boost/boost/function/function_template.hpp +++ b/3party/boost/boost/function/function_template.hpp @@ -26,7 +26,13 @@ #define BOOST_FUNCTION_PARMS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_PARM,BOOST_PP_EMPTY) -#define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a) +#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES +# define BOOST_FUNCTION_ARGS BOOST_PP_ENUM_PARAMS(BOOST_FUNCTION_NUM_ARGS, a) +#else +# include +# define BOOST_FUNCTION_ARG(J,I,D) ::boost::forward< BOOST_PP_CAT(T,I) >(BOOST_PP_CAT(a,I)) +# define BOOST_FUNCTION_ARGS BOOST_PP_ENUM(BOOST_FUNCTION_NUM_ARGS,BOOST_FUNCTION_ARG,BOOST_PP_EMPTY) +#endif #define BOOST_FUNCTION_ARG_TYPE(J,I,D) \ typedef BOOST_PP_CAT(T,I) BOOST_PP_CAT(BOOST_PP_CAT(arg, BOOST_PP_INC(I)),_type); @@ -711,9 +717,8 @@ namespace boost { template BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f #ifndef BOOST_NO_SFINAE - ,typename enable_if_c< - (boost::type_traits::ice_not< - (is_integral::value)>::value), + ,typename boost::enable_if_c< + !(is_integral::value), int>::type = 0 #endif // BOOST_NO_SFINAE ) : @@ -724,9 +729,8 @@ namespace boost { template BOOST_FUNCTION_FUNCTION(Functor BOOST_FUNCTION_TARGET_FIX(const &) f, Allocator a #ifndef BOOST_NO_SFINAE - ,typename enable_if_c< - (boost::type_traits::ice_not< - (is_integral::value)>::value), + ,typename boost::enable_if_c< + !(is_integral::value), int>::type = 0 #endif // BOOST_NO_SFINAE ) : @@ -774,9 +778,8 @@ namespace boost { // construct. template #ifndef BOOST_NO_SFINAE - typename enable_if_c< - (boost::type_traits::ice_not< - (is_integral::value)>::value), + typename boost::enable_if_c< + !(is_integral::value), BOOST_FUNCTION_FUNCTION&>::type #else BOOST_FUNCTION_FUNCTION& @@ -914,10 +917,10 @@ namespace boost { template void assign_to(Functor f) { - using detail::function::vtable_base; + using boost::detail::function::vtable_base; - typedef typename detail::function::get_function_tag::type tag; - typedef detail::function::BOOST_FUNCTION_GET_INVOKER get_invoker; + typedef typename boost::detail::function::get_function_tag::type tag; + typedef boost::detail::function::BOOST_FUNCTION_GET_INVOKER get_invoker; typedef typename get_invoker:: template apply @@ -938,9 +941,9 @@ namespace boost { // coverity[pointless_expression]: suppress coverity warnings on apparant if(const). if (boost::has_trivial_copy_constructor::value && boost::has_trivial_destructor::value && - detail::function::function_allows_small_object_optimization::value) + boost::detail::function::function_allows_small_object_optimization::value) value |= static_cast(0x01); - vtable = reinterpret_cast(value); + vtable = reinterpret_cast(value); } else vtable = 0; } @@ -948,10 +951,10 @@ namespace boost { template void assign_to_a(Functor f,Allocator a) { - using detail::function::vtable_base; + using boost::detail::function::vtable_base; - typedef typename detail::function::get_function_tag::type tag; - typedef detail::function::BOOST_FUNCTION_GET_INVOKER get_invoker; + typedef typename boost::detail::function::get_function_tag::type tag; + typedef boost::detail::function::BOOST_FUNCTION_GET_INVOKER get_invoker; typedef typename get_invoker:: template apply_a::value && boost::has_trivial_destructor::value && - detail::function::function_allows_small_object_optimization::value) + boost::detail::function::function_allows_small_object_optimization::value) value |= static_cast(0x01); - vtable = reinterpret_cast(value); + vtable = reinterpret_cast(value); } else vtable = 0; } @@ -1062,9 +1065,8 @@ public: template function(Functor f #ifndef BOOST_NO_SFINAE - ,typename enable_if_c< - (boost::type_traits::ice_not< - (is_integral::value)>::value), + ,typename boost::enable_if_c< + !(is_integral::value), int>::type = 0 #endif ) : @@ -1074,9 +1076,8 @@ public: template function(Functor f, Allocator a #ifndef BOOST_NO_SFINAE - ,typename enable_if_c< - (boost::type_traits::ice_not< - (is_integral::value)>::value), + ,typename boost::enable_if_c< + !(is_integral::value), int>::type = 0 #endif ) : @@ -1114,9 +1115,8 @@ public: template #ifndef BOOST_NO_SFINAE - typename enable_if_c< - (boost::type_traits::ice_not< - (is_integral::value)>::value), + typename boost::enable_if_c< + !(is_integral::value), self_type&>::type #else self_type& @@ -1176,6 +1176,9 @@ public: #undef BOOST_FUNCTION_TEMPLATE_ARGS #undef BOOST_FUNCTION_PARMS #undef BOOST_FUNCTION_PARM +#ifdef BOOST_FUNCTION_ARG +# undef BOOST_FUNCTION_ARG +#endif #undef BOOST_FUNCTION_ARGS #undef BOOST_FUNCTION_ARG_TYPE #undef BOOST_FUNCTION_ARG_TYPES diff --git a/3party/boost/boost/function_output_iterator.hpp b/3party/boost/boost/function_output_iterator.hpp index 9720f3f3d1..dd8c44d394 100644 --- a/3party/boost/boost/function_output_iterator.hpp +++ b/3party/boost/boost/function_output_iterator.hpp @@ -14,6 +14,7 @@ #include namespace boost { +namespace iterators { template class function_output_iterator { @@ -33,13 +34,13 @@ namespace boost { struct output_proxy { output_proxy(UnaryFunction& f) : m_f(f) { } template output_proxy& operator=(const T& value) { - m_f(value); - return *this; + m_f(value); + return *this; } UnaryFunction& m_f; }; output_proxy operator*() { return output_proxy(m_f); } - self& operator++() { return *this; } + self& operator++() { return *this; } self& operator++(int) { return *this; } private: UnaryFunction m_f; @@ -51,6 +52,11 @@ namespace boost { return function_output_iterator(f); } +} // namespace iterators + +using iterators::function_output_iterator; +using iterators::make_function_output_iterator; + } // namespace boost #endif // BOOST_FUNCTION_OUTPUT_ITERATOR_HPP diff --git a/3party/boost/boost/function_types/components.hpp b/3party/boost/boost/function_types/components.hpp index 53d81b60dc..6f22098d58 100644 --- a/3party/boost/boost/function_types/components.hpp +++ b/3party/boost/boost/function_types/components.hpp @@ -15,7 +15,6 @@ #include #include -#include #include @@ -47,7 +46,6 @@ #include -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION # if BOOST_FT_MAX_ARITY < 10 # include # elif BOOST_FT_MAX_ARITY < 20 @@ -59,9 +57,6 @@ # elif BOOST_FT_MAX_ARITY < 50 # include # endif -#else -# include -#endif #include #include @@ -420,8 +415,6 @@ namespace boost } } // namespace function_types::detail - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::components) - } // namespace ::boost #include diff --git a/3party/boost/boost/function_types/detail/class_transform.hpp b/3party/boost/boost/function_types/detail/class_transform.hpp index ef9a2253b3..27b97b3ff7 100644 --- a/3party/boost/boost/function_types/detail/class_transform.hpp +++ b/3party/boost/boost/function_types/detail/class_transform.hpp @@ -28,7 +28,6 @@ struct class_transform { typedef typename mpl::apply1::type type; }; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // We can short-circuit the mechanism implemented in the primary template for // the most common lambda expression and save both the "un-lambdaing" and the // type traits invocation (we know that T can only be a class type). @@ -53,7 +52,6 @@ template struct class_transform< T, add_pointer< remove_cv<_> > > template struct class_transform< T, mpl::always > { typedef U type; }; -#endif } } } // namespace ::boost::function_types::detail diff --git a/3party/boost/boost/function_types/detail/classifier.hpp b/3party/boost/boost/function_types/detail/classifier.hpp index 03f3419b9f..b5c5e71ebe 100644 --- a/3party/boost/boost/function_types/detail/classifier.hpp +++ b/3party/boost/boost/function_types/detail/classifier.hpp @@ -11,7 +11,6 @@ #include #include -#include #include #include @@ -31,7 +30,13 @@ template struct encode_charr >::type type; }; -char BOOST_TT_DECL classifier_impl(...); +#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)) +# define BOOST_FT_DECL __cdecl +#else +# define BOOST_FT_DECL /**/ +#endif + +char BOOST_FT_DECL classifier_impl(...); #define BOOST_FT_variations BOOST_FT_function|BOOST_FT_pointer|\ BOOST_FT_member_pointer diff --git a/3party/boost/boost/function_types/detail/cv_traits.hpp b/3party/boost/boost/function_types/detail/cv_traits.hpp index 242f45b3b1..4e15fa480c 100644 --- a/3party/boost/boost/function_types/detail/cv_traits.hpp +++ b/3party/boost/boost/function_types/detail/cv_traits.hpp @@ -12,8 +12,7 @@ #include #include -#if defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - || BOOST_WORKAROUND(__BORLANDC__, <= 0x582) +#if BOOST_WORKAROUND(__BORLANDC__, <= 0x582) # include # include # include @@ -23,8 +22,7 @@ namespace boost { namespace function_types { namespace detail { -#if ! (defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) \ - || BOOST_WORKAROUND(__BORLANDC__, <= 0x582)) +#if !BOOST_WORKAROUND(__BORLANDC__, <= 0x582) template struct cv_traits { typedef non_cv tag; typedef T type; }; diff --git a/3party/boost/boost/function_types/detail/to_sequence.hpp b/3party/boost/boost/function_types/detail/to_sequence.hpp index 828acd9af2..54854dbfac 100644 --- a/3party/boost/boost/function_types/detail/to_sequence.hpp +++ b/3party/boost/boost/function_types/detail/to_sequence.hpp @@ -32,14 +32,12 @@ struct to_sequence type; }; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION // reduce template instantiations, if possible template struct to_sequence< components > { typedef typename components::types type; }; -#endif } } } // namespace ::boost::function_types::detail diff --git a/3party/boost/boost/function_types/function_arity.hpp b/3party/boost/boost/function_types/function_arity.hpp index 40f0f653cc..a81001be3f 100644 --- a/3party/boost/boost/function_types/function_arity.hpp +++ b/3party/boost/boost/function_types/function_arity.hpp @@ -13,7 +13,6 @@ #include #include -#include #include #include @@ -31,7 +30,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(1,function_arity,(T)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::function_arity) } #endif diff --git a/3party/boost/boost/function_types/function_pointer.hpp b/3party/boost/boost/function_types/function_pointer.hpp index a8b832f32b..cb139187f0 100644 --- a/3party/boost/boost/function_types/function_pointer.hpp +++ b/3party/boost/boost/function_types/function_pointer.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_FUNCTION_POINTER_HPP_INCLUDED #include -#include #include @@ -25,7 +24,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,function_pointer,(Types,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::function_pointer) } #endif diff --git a/3party/boost/boost/function_types/function_reference.hpp b/3party/boost/boost/function_types/function_reference.hpp index 5fe7e3cc8b..3eceae00ea 100644 --- a/3party/boost/boost/function_types/function_reference.hpp +++ b/3party/boost/boost/function_types/function_reference.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_FUNCTION_REFERENCE_HPP_INCLUDED #include -#include #include @@ -25,7 +24,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,function_reference,(Types,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::function_reference) } #endif diff --git a/3party/boost/boost/function_types/function_type.hpp b/3party/boost/boost/function_types/function_type.hpp index c3b2c96b94..afe3654a7c 100644 --- a/3party/boost/boost/function_types/function_type.hpp +++ b/3party/boost/boost/function_types/function_type.hpp @@ -22,7 +22,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,function_type,(Types,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::function_type) } #endif diff --git a/3party/boost/boost/function_types/is_callable_builtin.hpp b/3party/boost/boost/function_types/is_callable_builtin.hpp index b1a7c833ba..3b826ea580 100644 --- a/3party/boost/boost/function_types/is_callable_builtin.hpp +++ b/3party/boost/boost/function_types/is_callable_builtin.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_IS_CALLABLE_BUILTIN_HPP_INCLUDED #include -#include #include @@ -28,7 +27,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_callable_builtin,(T,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_callable_builtin) } #endif diff --git a/3party/boost/boost/function_types/is_function.hpp b/3party/boost/boost/function_types/is_function.hpp index d29229bb69..09f75b1c18 100644 --- a/3party/boost/boost/function_types/is_function.hpp +++ b/3party/boost/boost/function_types/is_function.hpp @@ -9,7 +9,6 @@ #define BOOST_FT_IS_FUNCTION_HPP_INCLUDED #include -#include #include @@ -27,7 +26,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function,(T,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function) } #endif diff --git a/3party/boost/boost/function_types/is_function_pointer.hpp b/3party/boost/boost/function_types/is_function_pointer.hpp index 5bff6d36d9..67a04026f4 100644 --- a/3party/boost/boost/function_types/is_function_pointer.hpp +++ b/3party/boost/boost/function_types/is_function_pointer.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_IS_FUNCTION_POINTER_HPP_INCLUDED #include -#include #include @@ -28,7 +27,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function_pointer,(T,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function_pointer) } #endif diff --git a/3party/boost/boost/function_types/is_function_reference.hpp b/3party/boost/boost/function_types/is_function_reference.hpp index f2e4c1c605..6bf908dc5d 100644 --- a/3party/boost/boost/function_types/is_function_reference.hpp +++ b/3party/boost/boost/function_types/is_function_reference.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_IS_FUNCTION_REFERENCE_HPP_INCLUDED #include -#include #include @@ -27,7 +26,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_function_reference,(T,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_function_reference) } #endif diff --git a/3party/boost/boost/function_types/is_member_function_pointer.hpp b/3party/boost/boost/function_types/is_member_function_pointer.hpp index a51903520b..ef547657a3 100644 --- a/3party/boost/boost/function_types/is_member_function_pointer.hpp +++ b/3party/boost/boost/function_types/is_member_function_pointer.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_IS_MEMBER_FUNCTION_POINTER_HPP_INCLUDED #include -#include #include @@ -27,7 +26,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_function_pointer,(T,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_member_function_pointer) } #endif diff --git a/3party/boost/boost/function_types/is_member_object_pointer.hpp b/3party/boost/boost/function_types/is_member_object_pointer.hpp index 77527d9a3d..10bc89a163 100644 --- a/3party/boost/boost/function_types/is_member_object_pointer.hpp +++ b/3party/boost/boost/function_types/is_member_object_pointer.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_IS_MEMBER_OBJECT_POINTER_HPP_INCLUDED #include -#include #include @@ -27,7 +26,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(1,is_member_object_pointer,(T)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::is_member_object_pointer) } #endif diff --git a/3party/boost/boost/function_types/is_member_pointer.hpp b/3party/boost/boost/function_types/is_member_pointer.hpp index f53e0beb71..db1da29dc4 100644 --- a/3party/boost/boost/function_types/is_member_pointer.hpp +++ b/3party/boost/boost/function_types/is_member_pointer.hpp @@ -9,7 +9,6 @@ #define BOOST_FT_IS_MEMBER_POINTER_HPP_INCLUDED #include -#include #include @@ -27,7 +26,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_pointer,(T,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_member_pointer) } #endif diff --git a/3party/boost/boost/function_types/is_nonmember_callable_builtin.hpp b/3party/boost/boost/function_types/is_nonmember_callable_builtin.hpp index 3a27a2e7f7..61052858b7 100644 --- a/3party/boost/boost/function_types/is_nonmember_callable_builtin.hpp +++ b/3party/boost/boost/function_types/is_nonmember_callable_builtin.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_IS_NONMEMBER_CALLABLE_BUILTIN_HPP_INCLUDED #include -#include #include @@ -28,7 +27,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_nonmember_callable_builtin,(T,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::is_nonmember_callable_builtin) } #endif diff --git a/3party/boost/boost/function_types/member_function_pointer.hpp b/3party/boost/boost/function_types/member_function_pointer.hpp index eab61118cb..104271f103 100644 --- a/3party/boost/boost/function_types/member_function_pointer.hpp +++ b/3party/boost/boost/function_types/member_function_pointer.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_MEMBER_FUNCTION_POINTER_HPP_INCLUDED #include -#include #include #include @@ -26,7 +25,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,member_function_pointer,(Types,Tag)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::member_function_pointer) } #endif diff --git a/3party/boost/boost/function_types/member_object_pointer.hpp b/3party/boost/boost/function_types/member_object_pointer.hpp index d0aa3f3418..1951654550 100644 --- a/3party/boost/boost/function_types/member_object_pointer.hpp +++ b/3party/boost/boost/function_types/member_object_pointer.hpp @@ -10,7 +10,6 @@ #define BOOST_FT_MEMBER_OBJECT_POINTER_HPP_INCLUDED #include -#include #include #include @@ -26,7 +25,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(1,member_object_pointer,(Types)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::member_object_pointer) } #endif diff --git a/3party/boost/boost/function_types/parameter_types.hpp b/3party/boost/boost/function_types/parameter_types.hpp index 5e049bf59c..227ad27325 100644 --- a/3party/boost/boost/function_types/parameter_types.hpp +++ b/3party/boost/boost/function_types/parameter_types.hpp @@ -13,7 +13,6 @@ #include #include -#include #include @@ -48,7 +47,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(2,parameter_types,(T,ClassTypeTransform)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(2,function_types::parameter_types) } #endif diff --git a/3party/boost/boost/function_types/property_tags.hpp b/3party/boost/boost/function_types/property_tags.hpp index bbc64d53a3..c2158d352d 100644 --- a/3party/boost/boost/function_types/property_tags.hpp +++ b/3party/boost/boost/function_types/property_tags.hpp @@ -102,7 +102,6 @@ struct tag detail::compound_tag > { }; -#ifndef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION template struct tag : detail::compound_tag,Tag3> { }; @@ -112,7 +111,6 @@ template struct tag template struct tag : Tag1 { }; -#endif template struct represents diff --git a/3party/boost/boost/function_types/result_type.hpp b/3party/boost/boost/function_types/result_type.hpp index 1fcaba6622..db642c88c6 100644 --- a/3party/boost/boost/function_types/result_type.hpp +++ b/3party/boost/boost/function_types/result_type.hpp @@ -13,7 +13,6 @@ #include #include -#include #include @@ -43,7 +42,6 @@ namespace boost BOOST_MPL_AUX_LAMBDA_SUPPORT(1,result_type,(T)) }; } - BOOST_TT_AUX_TEMPLATE_ARITY_SPEC(1,function_types::result_type) } #endif diff --git a/3party/boost/boost/functional/factory.hpp b/3party/boost/boost/functional/factory.hpp index 4aa4267b6a..67fee71d6c 100644 --- a/3party/boost/boost/functional/factory.hpp +++ b/3party/boost/boost/functional/factory.hpp @@ -15,11 +15,14 @@ # include # include -# include # include # include # include +# if defined(BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T) +# include +# endif + # ifndef BOOST_FUNCTIONAL_FACTORY_MAX_ARITY # define BOOST_FUNCTIONAL_FACTORY_MAX_ARITY 10 # elif BOOST_FUNCTIONAL_FACTORY_MAX_ARITY < 3 @@ -35,14 +38,20 @@ namespace boost factory_passes_alloc_to_smart_pointer }; +#if defined(BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T) template< typename Pointer, class Allocator = boost::none_t, factory_alloc_propagation AP = factory_alloc_for_pointee_and_deleter > class factory; +#else + template< typename Pointer, class Allocator = void, + factory_alloc_propagation AP = factory_alloc_for_pointee_and_deleter > + class factory; +#endif //----- ---- --- -- - - - - template< typename Pointer, factory_alloc_propagation AP > - class factory + class factory { public: typedef typename boost::remove_cv::type result_type; @@ -56,6 +65,13 @@ namespace boost # include BOOST_PP_ITERATE() }; +#if defined(BOOST_FUNCTIONAL_FACTORY_SUPPORT_NONE_T) + template< typename Pointer, factory_alloc_propagation AP > + class factory + : public factory + {}; +#endif + template< class Pointer, class Allocator, factory_alloc_propagation AP > class factory : private Allocator::template rebind< typename boost::pointee< diff --git a/3party/boost/boost/functional/hash/detail/hash_float.hpp b/3party/boost/boost/functional/hash/detail/hash_float.hpp index ee0ee87745..eb9264f737 100644 --- a/3party/boost/boost/functional/hash/detail/hash_float.hpp +++ b/3party/boost/boost/functional/hash/detail/hash_float.hpp @@ -68,7 +68,7 @@ namespace boost std::size_t seed = 0; if (length >= sizeof(std::size_t)) { - seed = *(std::size_t*) ptr; + std::memcpy(&seed, ptr, sizeof(std::size_t)); length -= sizeof(std::size_t); ptr += sizeof(std::size_t); diff --git a/3party/boost/boost/functional/value_factory.hpp b/3party/boost/boost/functional/value_factory.hpp index 6047908ac3..ba94c2aa5a 100644 --- a/3party/boost/boost/functional/value_factory.hpp +++ b/3party/boost/boost/functional/value_factory.hpp @@ -15,7 +15,6 @@ # include # include -# include # include # include # include diff --git a/3party/boost/boost/fusion/adapted/adt/adapt_adt.hpp b/3party/boost/boost/fusion/adapted/adt/adapt_adt.hpp index 3be25b1efc..cee8a97c8d 100644 --- a/3party/boost/boost/fusion/adapted/adt/adapt_adt.hpp +++ b/3party/boost/boost/fusion/adapted/adt/adapt_adt.hpp @@ -2,6 +2,7 @@ Copyright (c) 2001-2009 Joel de Guzman Copyright (c) 2009-2010 Hartmut Kaiser Copyright (c) 2010-2011 Christopher Schmidt + Copyright (c) 2013-2014 Damien Buhl 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) @@ -13,6 +14,9 @@ #include #include #include +#include +#include +#include #include #include #include @@ -22,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -32,17 +37,21 @@ #include #include #include +#include -#define BOOST_FUSION_ADAPT_ADT_FILLER_0(A, B, C, D)\ - ((A, B, C, D)) BOOST_FUSION_ADAPT_ADT_FILLER_1 -#define BOOST_FUSION_ADAPT_ADT_FILLER_1(A, B, C, D)\ - ((A, B, C, D)) BOOST_FUSION_ADAPT_ADT_FILLER_0 -#define BOOST_FUSION_ADAPT_ADT_FILLER_0_END -#define BOOST_FUSION_ADAPT_ADT_FILLER_1_END - -#define BOOST_FUSION_ADAPT_ADT_C(TEMPLATE_PARAMS_SEQ, NAME_SEQ, I, ATTRIBUTE) \ - BOOST_FUSION_ADAPT_ADT_C_BASE( \ - TEMPLATE_PARAMS_SEQ, NAME_SEQ, I, ATTRIBUTE, 4) +#define BOOST_FUSION_ADAPT_ADT_C( \ + TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ + BOOST_FUSION_ADAPT_ADT_C_BASE( \ + TEMPLATE_PARAMS_SEQ, \ + NAME_SEQ, \ + I, \ + BOOST_PP_IF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_IF( \ + BOOST_PP_LESS( \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 4) \ + , 1, 0)) #define BOOST_FUSION_ADAPT_TPL_ADT(TEMPLATE_PARAMS_SEQ, NAME_SEQ , ATTRIBUTES) \ BOOST_FUSION_ADAPT_STRUCT_BASE( \ diff --git a/3party/boost/boost/fusion/adapted/adt/adapt_assoc_adt.hpp b/3party/boost/boost/fusion/adapted/adt/adapt_assoc_adt.hpp index 12bf6aa24f..49a8805d8a 100644 --- a/3party/boost/boost/fusion/adapted/adt/adapt_assoc_adt.hpp +++ b/3party/boost/boost/fusion/adapted/adt/adapt_assoc_adt.hpp @@ -2,6 +2,7 @@ Copyright (c) 2001-2009 Joel de Guzman Copyright (c) 2007 Dan Marsden Copyright (c) 2010-2011 Christopher Schmidt + Copyright (c) 2013-2014 Damien Buhl 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) @@ -22,6 +23,7 @@ #include #include #include +#include #include #include #include @@ -35,25 +37,29 @@ #include #include #include - -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(A, B, C, D, E)\ - ((A, B, C, D, E)) BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1 -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1(A, B, C, D, E)\ - ((A, B, C, D, E)) BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0 -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0_END -#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1_END +#include #define BOOST_FUSION_ADAPT_ASSOC_ADT_C( \ - TEMPLATE_PARAMS_SEQ, NAME_SEQ, I, ATTRIBUTE) \ + TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ \ - BOOST_FUSION_ADAPT_ADT_C_BASE(TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,ATTRIBUTE,5) \ + BOOST_FUSION_ADAPT_ADT_C_BASE( \ + TEMPLATE_PARAMS_SEQ, \ + NAME_SEQ, \ + I, \ + BOOST_PP_IF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_IF( \ + BOOST_PP_LESS( \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 5) \ + , 1, 0)) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct struct_assoc_key \ { \ - typedef BOOST_PP_TUPLE_ELEM(5, 4, ATTRIBUTE) type; \ + typedef BOOST_FUSION_ADAPT_ASSOC_ADT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) type;\ }; #define BOOST_FUSION_ADAPT_ASSOC_TPL_ADT( \ diff --git a/3party/boost/boost/fusion/adapted/adt/detail/adapt_base.hpp b/3party/boost/boost/fusion/adapted/adt/detail/adapt_base.hpp index 3de396dd6b..dec17251df 100644 --- a/3party/boost/boost/fusion/adapted/adt/detail/adapt_base.hpp +++ b/3party/boost/boost/fusion/adapted/adt/detail/adapt_base.hpp @@ -11,11 +11,18 @@ #define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_HPP #include +#include +#include + #include #include #include #include #include +#include +#include + +#include #define BOOST_FUSION_ADAPT_ADT_GET_IDENTITY_TEMPLATE_IMPL(TEMPLATE_PARAMS_SEQ) \ typename detail::get_identity< \ @@ -28,8 +35,72 @@ \ boost::remove_const::type>::type +#define BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ + BOOST_PP_IF(DEDUCE_TYPE, 0, 2), ATTRIBUTE) + +#define BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_SETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE) \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ + BOOST_PP_IF(DEDUCE_TYPE, 1, 3), ATTRIBUTE) + +#ifdef BOOST_MSVC +# define BOOST_FUSION_DEDUCED_ATTR_TYPE(NAME_SEQ, ATTRIBUTE, \ + ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + \ + struct deduced_attr_type { \ + static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ + typedef \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ + BOOST_TYPEOF( PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR( \ + ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, 1)) type; \ + }; + +#else +# define BOOST_FUSION_DEDUCED_ATTR_TYPE(NAME_SEQ, ATTRIBUTE, \ + ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + struct deduced_attr_type { \ + static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ + typedef BOOST_TYPEOF( PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR( \ + ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, 1)) type; \ + }; + +#endif + +#define BOOST_FUSION_ADT_ATTRIBUTE_TYPEOF( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + BOOST_FUSION_DEDUCED_ATTR_TYPE( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + typedef \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ + boost::remove_const< \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ + deduced_attr_type::type \ + >::type type; \ + \ + typedef \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ + boost::add_const< \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ),typename,) \ + deduced_attr_type::type \ + >::type const_type; + +#define BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) type; \ + typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE) const_type; + + #define BOOST_FUSION_ADAPT_ADT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE) \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,PREFIX, \ + ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ @@ -39,30 +110,43 @@ , I \ > \ { \ + \ + BOOST_PP_IF(DEDUCE_TYPE, \ + BOOST_FUSION_ADT_ATTRIBUTE_TYPEOF, \ + BOOST_FUSION_ADT_ATTRIBUTE_GIVENTYPE)( \ + NAME_SEQ, \ + ATTRIBUTE, \ + ATTRIBUTE_TUPEL_SIZE, \ + PREFIX, \ + TEMPLATE_PARAMS_SEQ) \ + \ template \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static void \ boost_fusion_adapt_adt_impl_set( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj, \ Val const& val) \ { \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 3, ATTRIBUTE); \ + PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_SETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE); \ } \ \ BOOST_FUSION_GPU_ENABLED \ - static BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) \ + static type \ boost_fusion_adapt_adt_impl_get( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj) \ { \ - return BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 2, ATTRIBUTE); \ + return PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE); \ } \ \ BOOST_FUSION_GPU_ENABLED \ - static BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE) \ + static const_type \ boost_fusion_adapt_adt_impl_get( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& obj) \ { \ - return BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 2, ATTRIBUTE); \ + return PREFIX() BOOST_FUSION_ADAPT_ADT_ATTRIBUTE_GETEXPR(ATTRIBUTE, \ + ATTRIBUTE_TUPEL_SIZE, DEDUCE_TYPE); \ } \ }; \ \ @@ -75,9 +159,14 @@ , true \ > \ { \ - typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE) type; \ + typedef \ + BOOST_PP_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename, ) \ + access::adt_attribute_access< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + >::const_type type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ explicit \ adt_attribute_proxy( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& o) \ @@ -111,9 +200,14 @@ , false \ > \ { \ - typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) type; \ + typedef \ + BOOST_PP_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename, ) \ + access::adt_attribute_access< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + >::type type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ explicit \ adt_attribute_proxy( \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& o) \ @@ -121,7 +215,7 @@ {} \ \ template \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ adt_attribute_proxy& \ operator=(Val const& val) \ { \ @@ -158,7 +252,13 @@ , I \ > \ { \ - typedef BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) lvalue; \ + typedef BOOST_PP_IF(BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ), typename, ) \ + adt_attribute_proxy< \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) \ + , I \ + , false \ + >::type lvalue; \ + \ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ \ @@ -181,7 +281,7 @@ > \ type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type \ call(Seq& obj) \ { \ diff --git a/3party/boost/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp b/3party/boost/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp new file mode 100644 index 0000000000..b9c93b7d59 --- /dev/null +++ b/3party/boost/boost/fusion/adapted/adt/detail/adapt_base_assoc_attr_filler.hpp @@ -0,0 +1,61 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + 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_FUSION_ADAPTER_ADT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP +#define BOOST_FUSION_ADAPTER_ADT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP + +#include + +#include + +#include +#include +#include +#include + +#if BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(...) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1 + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1(...) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0 + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(...) \ + ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) + +#else // BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0(A, B, C, D, E) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1 + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1(A, B, C, D, E) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ + BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0 + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAP_ATTR(A, B, C, D, E) \ + BOOST_PP_IF(BOOST_PP_IS_EMPTY(A), \ + ((3, (C,D,E))), \ + ((5, (A,B,C,D,E))) \ + ) + +#endif // BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_0_END +#define BOOST_FUSION_ADAPT_ASSOC_ADT_FILLER_1_END + + +#define BOOST_FUSION_ADAPT_ASSOC_ADT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM( \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_SUB(BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE), 1), \ + BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE)) + +#endif diff --git a/3party/boost/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp b/3party/boost/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp new file mode 100644 index 0000000000..09bd4014ed --- /dev/null +++ b/3party/boost/boost/fusion/adapted/adt/detail/adapt_base_attr_filler.hpp @@ -0,0 +1,90 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + 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_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP +#define BOOST_FUSION_ADAPTED_ADT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + + +#define BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR_SIZE(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) + +#define BOOST_FUSION_ADAPT_ADT_WRAPPEDATTR(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) + +#if BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_ADT_FILLER_0(...) \ + BOOST_FUSION_ADAPT_ADT_FILLER(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ADT_FILLER_1 + +# define BOOST_FUSION_ADAPT_ADT_FILLER_1(...) \ + BOOST_FUSION_ADAPT_ADT_FILLER(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ADT_FILLER_0 + +# define BOOST_FUSION_ADAPT_ADT_FILLER_0_END +# define BOOST_FUSION_ADAPT_ADT_FILLER_1_END + +# define BOOST_FUSION_ADAPT_ADT_FILLER(...) \ + BOOST_PP_IF( \ + BOOST_PP_OR( \ + BOOST_PP_IS_EMPTY(BOOST_PP_VARIADIC_ELEM(0, __VA_ARGS__)), \ + BOOST_PP_IS_EMPTY(BOOST_PP_VARIADIC_ELEM(1, __VA_ARGS__))), \ + BOOST_FUSION_ADAPT_ADT_WRAP_ATTR( \ + BOOST_PP_VARIADIC_ELEM(2, __VA_ARGS__), \ + BOOST_FUSION_WORKAROUND_VARIADIC_EMPTINESS_LAST_ELEM(__VA_ARGS__) \ + ), \ + BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(__VA_ARGS__)) + +# define BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(...) \ + ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) + +# define BOOST_FUSION_WORKAROUND_VARIADIC_EMPTINESS_LAST_ELEM(...) \ + BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_REST_N( \ + BOOST_PP_SUB(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), 1), \ + BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))) + +#else // BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_ADT_FILLER_0(A, B, C, D) \ + BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A,B,C,D) \ + BOOST_FUSION_ADAPT_ADT_FILLER_1 + +# define BOOST_FUSION_ADAPT_ADT_FILLER_1(A, B, C, D) \ + BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A,B,C,D) \ + BOOST_FUSION_ADAPT_ADT_FILLER_0 + +# define BOOST_FUSION_ADAPT_ADT_FILLER_0_END +# define BOOST_FUSION_ADAPT_ADT_FILLER_1_END + +# define BOOST_FUSION_ADAPT_ADT_WRAP_ATTR(A, B, C, D) \ + BOOST_PP_IF(BOOST_PP_IS_EMPTY(A), \ + ((2, (C,D))), \ + ((4, (A,B,C,D))) \ + ) + +#endif // BOOST_PP_VARIADICS + +#endif diff --git a/3party/boost/boost/fusion/adapted/adt/detail/extension.hpp b/3party/boost/boost/fusion/adapted/adt/detail/extension.hpp index 6349118053..c7d258953f 100644 --- a/3party/boost/boost/fusion/adapted/adt/detail/extension.hpp +++ b/3party/boost/boost/fusion/adapted/adt/detail/extension.hpp @@ -17,7 +17,7 @@ #include namespace boost { namespace fusion -{ +{ namespace detail { template @@ -25,12 +25,12 @@ namespace boost { namespace fusion : remove_const::type> {}; } - + namespace extension { // Overload as_const() to unwrap adt_attribute_proxy. template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename adt_attribute_proxy::type as_const(const adt_attribute_proxy& proxy) { return proxy.get(); diff --git a/3party/boost/boost/fusion/adapted/array/at_impl.hpp b/3party/boost/boost/fusion/adapted/array/at_impl.hpp index 084fffc208..369c8e2e00 100644 --- a/3party/boost/boost/fusion/adapted/array/at_impl.hpp +++ b/3party/boost/boost/fusion/adapted/array/at_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { namespace extension add_reference::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/adapted/array/begin_impl.hpp b/3party/boost/boost/fusion/adapted/array/begin_impl.hpp index 4ffaba01f1..8ea5a00ecf 100644 --- a/3party/boost/boost/fusion/adapted/array/begin_impl.hpp +++ b/3party/boost/boost/fusion/adapted/array/begin_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/adapted/array/deref_impl.hpp b/3party/boost/boost/fusion/adapted/array/deref_impl.hpp index a7dc7cb9ca..a5719c3a71 100644 --- a/3party/boost/boost/fusion/adapted/array/deref_impl.hpp +++ b/3party/boost/boost/fusion/adapted/array/deref_impl.hpp @@ -29,7 +29,7 @@ namespace boost { namespace fusion { namespace extension >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/3party/boost/boost/fusion/adapted/array/end_impl.hpp b/3party/boost/boost/fusion/adapted/array/end_impl.hpp index d36c6b81b3..e4ab63cef9 100644 --- a/3party/boost/boost/fusion/adapted/array/end_impl.hpp +++ b/3party/boost/boost/fusion/adapted/array/end_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/adapted/boost_array/array_iterator.hpp b/3party/boost/boost/fusion/adapted/boost_array/array_iterator.hpp index 0e39d45709..ca8da0a22c 100644 --- a/3party/boost/boost/fusion/adapted/boost_array/array_iterator.hpp +++ b/3party/boost/boost/fusion/adapted/boost_array/array_iterator.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion typedef mpl::int_ index; typedef Array array_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED array_iterator(Array& a) : array(a) {} @@ -57,7 +57,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const & it) { @@ -72,7 +72,7 @@ namespace boost { namespace fusion typedef typename Iterator::array_type array_type; typedef array_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -95,7 +95,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) { @@ -109,4 +109,13 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::array_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/adapted/boost_array/detail/at_impl.hpp b/3party/boost/boost/fusion/adapted/boost_array/detail/at_impl.hpp index 15235e8e57..e355d02240 100644 --- a/3party/boost/boost/fusion/adapted/boost_array/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/adapted/boost_array/detail/at_impl.hpp @@ -14,7 +14,7 @@ #include namespace boost { namespace fusion { - + struct boost_array_tag; namespace extension @@ -33,7 +33,7 @@ namespace boost { namespace fusion { typename Sequence::const_reference, typename Sequence::reference>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { diff --git a/3party/boost/boost/fusion/adapted/boost_array/detail/begin_impl.hpp b/3party/boost/boost/fusion/adapted/boost_array/detail/begin_impl.hpp index 5e0752c145..8481b765af 100644 --- a/3party/boost/boost/fusion/adapted/boost_array/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/adapted/boost_array/detail/begin_impl.hpp @@ -24,11 +24,11 @@ namespace boost { namespace fusion { struct begin_impl { template - struct apply + struct apply { typedef array_iterator type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { diff --git a/3party/boost/boost/fusion/adapted/boost_array/detail/end_impl.hpp b/3party/boost/boost/fusion/adapted/boost_array/detail/end_impl.hpp index 13ed1e3e3d..7574b36405 100644 --- a/3party/boost/boost/fusion/adapted/boost_array/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/adapted/boost_array/detail/end_impl.hpp @@ -24,11 +24,11 @@ namespace boost { namespace fusion { struct end_impl { template - struct apply + struct apply { typedef array_iterator type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { diff --git a/3party/boost/boost/fusion/adapted/boost_tuple.hpp b/3party/boost/boost/fusion/adapted/boost_tuple.hpp index 85af576461..7ef65686b6 100644 --- a/3party/boost/boost/fusion/adapted/boost_tuple.hpp +++ b/3party/boost/boost/fusion/adapted/boost_tuple.hpp @@ -17,5 +17,7 @@ #include #include #include +#include +#include #endif diff --git a/3party/boost/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp b/3party/boost/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp index 416880b4e9..850eef5fa7 100644 --- a/3party/boost/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp +++ b/3party/boost/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp @@ -42,12 +42,18 @@ namespace boost { namespace fusion struct boost_tuple_is_empty const> : mpl::true_ {}; } + template + struct boost_tuple_iterator_identity; + template struct boost_tuple_iterator : iterator_facade, forward_traversal_tag> { typedef Cons cons_type; + typedef boost_tuple_iterator_identity< + typename add_const::type> identity; + BOOST_FUSION_GPU_ENABLED explicit boost_tuple_iterator(Cons& in_cons) : cons(in_cons) {} @@ -98,7 +104,7 @@ namespace boost { namespace fusion return type(iter.cons.get_tail()); } }; - + template struct distance; @@ -115,7 +121,7 @@ namespace boost { namespace fusion >::type >::type type; }; - + template struct distance { @@ -124,7 +130,7 @@ namespace boost { namespace fusion mpl::int_<0>, lazy_next_distance >::type type; - + BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) @@ -133,6 +139,11 @@ namespace boost { namespace fusion } }; + template + struct equal_to + : is_same + {}; + private: // silence MSVC warning C4512: assignment operator could not be generated boost_tuple_iterator& operator= (boost_tuple_iterator const&); @@ -144,6 +155,9 @@ namespace boost { namespace fusion { typedef Null cons_type; + typedef boost_tuple_iterator_identity< + typename add_const::type> identity; + template struct equal_to : mpl::or_< @@ -193,6 +207,15 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::boost_tuple_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp b/3party/boost/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp new file mode 100644 index 0000000000..216fb0a614 --- /dev/null +++ b/3party/boost/boost/fusion/adapted/boost_tuple/detail/build_cons.hpp @@ -0,0 +1,59 @@ +/*============================================================================= + Copyright (c) 2012-2014 Kohei Takahashi + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_BUILD_CONS_10172012_0130) +#define BOOST_FUSION_BUILD_CONS_10172012_0130 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template < + typename First + , typename Last + , bool is_empty = result_of::equal_to::value> + struct build_tuple_cons; + + template + struct build_tuple_cons + { + typedef boost::tuples::null_type type; + + BOOST_FUSION_GPU_ENABLED + static type + call(First const&, Last const&) + { + return type(); + } + }; + + template + struct build_tuple_cons + { + typedef + build_tuple_cons::type, Last> + next_build_tuple_cons; + + typedef boost::tuples::cons< + typename result_of::value_of::type + , typename next_build_tuple_cons::type> + type; + + BOOST_FUSION_GPU_ENABLED + static type + call(First const& f, Last const& l) + { + typename result_of::value_of::type v = *f; + return type(v, next_build_tuple_cons::call(fusion::next(f), l)); + } + }; +}}} + +#endif diff --git a/3party/boost/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp b/3party/boost/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp new file mode 100644 index 0000000000..8f2fbeec8f --- /dev/null +++ b/3party/boost/boost/fusion/adapted/boost_tuple/detail/convert_impl.hpp @@ -0,0 +1,50 @@ +/*============================================================================= + Copyright (c) 2012-2014 Kohei Takahashi + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_CONVERT_IMPL_10172012_0120) +#define BOOST_FUSION_CONVERT_IMPL_10172012_0120 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct boost_tuple_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename + detail::build_tuple_cons< + typename result_of::begin::type + , typename result_of::end::type + > + build_tuple_cons; + + typedef typename build_tuple_cons::type type; + + BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return build_tuple_cons::call(fusion::begin(seq), fusion::end(seq)); + } + }; + }; + } +}} + +#endif diff --git a/3party/boost/boost/fusion/adapted/boost_tuple/mpl/clear.hpp b/3party/boost/boost/fusion/adapted/boost_tuple/mpl/clear.hpp new file mode 100644 index 0000000000..1cca019c6d --- /dev/null +++ b/3party/boost/boost/fusion/adapted/boost_tuple/mpl/clear.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2012 Kohei Takahashi + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_CLEAR_10172012_0100) +#define BOOST_FUSION_CLEAR_10172012_0100 + +#include +#include + +namespace boost { namespace fusion { namespace detail { + + template + struct clear; + + template <> + struct clear : mpl::identity > {}; + +}}} + +#endif diff --git a/3party/boost/boost/fusion/adapted/mpl/detail/at_impl.hpp b/3party/boost/boost/fusion/adapted/mpl/detail/at_impl.hpp index 3fcafaac1d..232ca4df5f 100644 --- a/3party/boost/boost/fusion/adapted/mpl/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/adapted/mpl/detail/at_impl.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion { typedef typename mpl::at::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence) { diff --git a/3party/boost/boost/fusion/adapted/mpl/detail/begin_impl.hpp b/3party/boost/boost/fusion/adapted/mpl/detail/begin_impl.hpp index c64e2828f4..3f087bda48 100644 --- a/3party/boost/boost/fusion/adapted/mpl/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/adapted/mpl/detail/begin_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion { >::type iterator; typedef mpl_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence) { diff --git a/3party/boost/boost/fusion/adapted/mpl/detail/end_impl.hpp b/3party/boost/boost/fusion/adapted/mpl/detail/end_impl.hpp index 579e5a69e0..7ef13fb4f8 100644 --- a/3party/boost/boost/fusion/adapted/mpl/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/adapted/mpl/detail/end_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion >::type iterator; typedef mpl_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence) { diff --git a/3party/boost/boost/fusion/adapted/mpl/mpl_iterator.hpp b/3party/boost/boost/fusion/adapted/mpl/mpl_iterator.hpp index cc03767293..87de32ada1 100644 --- a/3party/boost/boost/fusion/adapted/mpl/mpl_iterator.hpp +++ b/3party/boost/boost/fusion/adapted/mpl/mpl_iterator.hpp @@ -38,7 +38,7 @@ namespace boost { namespace fusion typename Iterator::iterator_type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator) { @@ -53,7 +53,7 @@ namespace boost { namespace fusion typename mpl::next::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator) { @@ -68,7 +68,7 @@ namespace boost { namespace fusion typename mpl::prior::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator) { @@ -83,7 +83,7 @@ namespace boost { namespace fusion typename mpl::advance::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& /*i*/) { @@ -104,7 +104,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) { @@ -114,6 +114,15 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::mpl_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/adapted/std_tuple.hpp b/3party/boost/boost/fusion/adapted/std_tuple.hpp index 984a4df478..b7e847916d 100644 --- a/3party/boost/boost/fusion/adapted/std_tuple.hpp +++ b/3party/boost/boost/fusion/adapted/std_tuple.hpp @@ -16,7 +16,9 @@ #include #include #include +#include #include #include +#include #endif diff --git a/3party/boost/boost/fusion/adapted/std_tuple/detail/at_impl.hpp b/3party/boost/boost/fusion/adapted/std_tuple/detail/at_impl.hpp index cffd442885..47a20a25ed 100644 --- a/3party/boost/boost/fusion/adapted/std_tuple/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/adapted/std_tuple/detail/at_impl.hpp @@ -40,7 +40,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { diff --git a/3party/boost/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp b/3party/boost/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp index 33613c20b1..1d5d392bab 100644 --- a/3party/boost/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/adapted/std_tuple/detail/begin_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { typedef std_tuple_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { diff --git a/3party/boost/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp b/3party/boost/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp new file mode 100644 index 0000000000..b60dc76fcc --- /dev/null +++ b/3party/boost/boost/fusion/adapted/std_tuple/detail/build_std_tuple.hpp @@ -0,0 +1,88 @@ +/*============================================================================= + Copyright (c) 2014 Kohei Takahashi + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_BUILD_STD_TUPLE_05292014_0100) +#define BOOST_FUSION_BUILD_STD_TUPLE_05292014_0100 + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template ::value> + struct build_std_tuple; + + template + struct build_std_tuple + { + typedef std::tuple<> type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const&, Last const&) + { + return type(); + } + }; + + template + struct push_front_std_tuple; + + template + struct push_front_std_tuple > + { + typedef std::tuple type; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + indexed_call(T const& first, std::tuple const& rest, index_sequence) + { + return type(first, std::get(rest)...); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(T const& first, std::tuple const& rest) + { + typedef typename make_index_sequence::type gen; + return indexed_call(first, rest, gen()); + } + }; + + template + struct build_std_tuple + { + typedef + build_std_tuple::type, Last> + next_build_std_tuple; + + typedef push_front_std_tuple< + typename result_of::value_of::type + , typename next_build_std_tuple::type> + push_front; + + typedef typename push_front::type type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(First const& f, Last const& l) + { + typename result_of::value_of::type v = *f; + return push_front::call( + v, next_build_std_tuple::call(fusion::next(f), l)); + } + }; +}}} + +#endif diff --git a/3party/boost/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp b/3party/boost/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp new file mode 100644 index 0000000000..96b67b11fd --- /dev/null +++ b/3party/boost/boost/fusion/adapted/std_tuple/detail/convert_impl.hpp @@ -0,0 +1,48 @@ +/*============================================================================= + Copyright (c) 2012-2014 Kohei Takahashi + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_CONVERT_IMPL_10172012_0940) +#define BOOST_FUSION_CONVERT_IMPL_10172012_0940 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct std_tuple_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef detail::build_std_tuple< + typename result_of::begin::type + , typename result_of::end::type + > gen; + + typedef typename gen::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Sequence& seq) + { + return gen::call(begin(seq), end(seq)); + } + }; + }; + } +}} + +#endif diff --git a/3party/boost/boost/fusion/adapted/std_tuple/detail/end_impl.hpp b/3party/boost/boost/fusion/adapted/std_tuple/detail/end_impl.hpp index 77048698a1..500b0491e5 100644 --- a/3party/boost/boost/fusion/adapted/std_tuple/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/adapted/std_tuple/detail/end_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion static int const size = std::tuple_size::value; typedef std_tuple_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { diff --git a/3party/boost/boost/fusion/adapted/std_tuple/mpl/clear.hpp b/3party/boost/boost/fusion/adapted/std_tuple/mpl/clear.hpp new file mode 100644 index 0000000000..8712316437 --- /dev/null +++ b/3party/boost/boost/fusion/adapted/std_tuple/mpl/clear.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2012 Kohei Takahashi + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_CLEAR_10172012_0940) +#define BOOST_FUSION_CLEAR_10172012_0940 + +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct clear; + + template <> + struct clear : mpl::identity > {}; + +}}} + +#endif diff --git a/3party/boost/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp b/3party/boost/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp index c4d957ea0b..a3421e0f99 100644 --- a/3party/boost/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp +++ b/3party/boost/boost/fusion/adapted/std_tuple/std_tuple_iterator.hpp @@ -36,7 +36,8 @@ namespace boost { namespace fusion typename add_const::type, Index> identity; - BOOST_FUSION_GPU_ENABLED explicit std_tuple_iterator(Tuple& tuple) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit std_tuple_iterator(Tuple& tuple) : tuple(tuple) {} Tuple& tuple; @@ -58,7 +59,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& iter) { @@ -73,7 +74,7 @@ namespace boost { namespace fusion typedef typename Iterator::tuple_type tuple_type; typedef std_tuple_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -96,7 +97,7 @@ namespace boost { namespace fusion { typedef mpl::int_ type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { @@ -106,6 +107,15 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::std_tuple_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/adapted/struct/adapt_assoc_struct.hpp b/3party/boost/boost/fusion/adapted/struct/adapt_assoc_struct.hpp index eca77d613b..eab4e1bb6d 100644 --- a/3party/boost/boost/fusion/adapted/struct/adapt_assoc_struct.hpp +++ b/3party/boost/boost/fusion/adapted/struct/adapt_assoc_struct.hpp @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -35,32 +36,35 @@ #include #include -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(X, Y, Z) \ - ((X, Y, Z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1 -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(X, Y, Z) \ - ((X, Y, Z)) BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0_END -#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1_END - #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,PREFIX,ATTRIBUTE) \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW,I,PREFIX,ATTRIBUTE) \ \ BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ, NAME_SEQ, I, PREFIX, ATTRIBUTE, 3) \ + TEMPLATE_PARAMS_SEQ, \ + NAME_SEQ, \ + IS_VIEW, \ + I, \ + PREFIX, \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE), \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_IF(BOOST_PP_LESS( \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE),3), 1, 0)) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ > \ struct struct_assoc_key \ { \ - typedef BOOST_PP_TUPLE_ELEM(3, 2, ATTRIBUTE) type; \ + typedef \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) type; \ }; #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_C( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ, I, ATTRIBUTE) \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW, I, ATTRIBUTE) \ \ BOOST_FUSION_ADAPT_ASSOC_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,BOOST_PP_EMPTY,ATTRIBUTE) + TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW,I,BOOST_PP_EMPTY,ATTRIBUTE) + #define BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT( \ TEMPLATE_PARAMS_SEQ, NAME_SEQ, ATTRIBUTES) \ diff --git a/3party/boost/boost/fusion/adapted/struct/adapt_struct.hpp b/3party/boost/boost/fusion/adapted/struct/adapt_struct.hpp index f60ca03e19..eff922d77e 100644 --- a/3party/boost/boost/fusion/adapted/struct/adapt_struct.hpp +++ b/3party/boost/boost/fusion/adapted/struct/adapt_struct.hpp @@ -1,6 +1,7 @@ /*============================================================================= Copyright (c) 2001-2007 Joel de Guzman Copyright (c) 2009-2011 Christopher Schmidt + Copyright (c) 2013-2014 Damien Buhl 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) @@ -10,8 +11,14 @@ #define BOOST_FUSION_ADAPTED_STRUCT_ADAPT_STRUCT_HPP #include +#include #include #include +#include +#include +#include +#include +#include #include #include #include @@ -19,6 +26,7 @@ #include #include +#include #include #include #include @@ -30,43 +38,91 @@ #include #include -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0(X, Y) \ - ((X, Y)) BOOST_FUSION_ADAPT_STRUCT_FILLER_1 -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1(X, Y) \ - ((X, Y)) BOOST_FUSION_ADAPT_STRUCT_FILLER_0 -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0_END -#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1_END +#define BOOST_FUSION_ADAPT_STRUCT_C( \ + TEMPLATE_PARAMS_SEQ, NAME_SEQ, IS_VIEW, I, ATTRIBUTE) \ + BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ + TEMPLATE_PARAMS_SEQ, \ + NAME_SEQ, \ + IS_VIEW, \ + I, \ + BOOST_PP_IF(IS_VIEW, BOOST_FUSION_PROXY_PREFIX, BOOST_PP_EMPTY), \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE), \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_IF( \ + BOOST_PP_LESS( \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), 2) \ + , 1, 0)) -#define BOOST_FUSION_ADAPT_STRUCT_C(TEMPLATE_PARAMS_SEQ, NAME_SEQ, I, ATTRIBUTE)\ - BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,BOOST_PP_EMPTY,ATTRIBUTE,2) -#define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (1)TEMPLATE_PARAMS_SEQ, \ - (1)NAME_SEQ, \ - struct_tag, \ - 0, \ - ((0,0)) BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_STRUCT_C) -#define BOOST_FUSION_ADAPT_STRUCT(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - struct_tag, \ - 0, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_STRUCT_C) +#if BOOST_PP_VARIADICS -#define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_BASE( \ - (0), \ - (0)(NAME), \ - struct_tag, \ - 1, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ - BOOST_FUSION_ADAPT_STRUCT_C) +# define BOOST_FUSION_ADAPT_TPL_STRUCT(TEMPLATE_PARAMS_SEQ,NAME_SEQ, ...) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (1)TEMPLATE_PARAMS_SEQ, \ + (1)NAME_SEQ, \ + struct_tag, \ + 0, \ + BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER( \ + BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__)), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +# define BOOST_FUSION_ADAPT_STRUCT(...) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(BOOST_PP_SEQ_HEAD(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ + struct_tag, \ + 0, \ + BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER( \ + BOOST_PP_SEQ_TAIL(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +# define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(...) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(BOOST_PP_SEQ_HEAD(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ + struct_tag, \ + 1, \ + BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER( \ + BOOST_PP_SEQ_TAIL(BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__))), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +#else // BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_TPL_STRUCT( \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (1)TEMPLATE_PARAMS_SEQ, \ + (1)NAME_SEQ, \ + struct_tag, \ + 0, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +# define BOOST_FUSION_ADAPT_STRUCT(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + struct_tag, \ + 0, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES, \ + _END), \ + BOOST_FUSION_ADAPT_STRUCT_C) + +# define BOOST_FUSION_ADAPT_STRUCT_AS_VIEW(NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_BASE( \ + (0), \ + (0)(NAME), \ + struct_tag, \ + 1, \ + BOOST_PP_CAT( \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES, \ + _END), \ + BOOST_FUSION_ADAPT_STRUCT_C) + + +#endif // BOOST_PP_VARIADICS #endif diff --git a/3party/boost/boost/fusion/adapted/struct/adapt_struct_named.hpp b/3party/boost/boost/fusion/adapted/struct/adapt_struct_named.hpp index 3f29f3a39e..791fb5b0d0 100644 --- a/3party/boost/boost/fusion/adapted/struct/adapt_struct_named.hpp +++ b/3party/boost/boost/fusion/adapted/struct/adapt_struct_named.hpp @@ -15,26 +15,41 @@ #include #include -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0(X, Y) \ - (X, obj.Y) BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1 -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1(X, Y) \ - (X, obj.Y) BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0 -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0_END -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_1_END +#ifdef BOOST_PP_VARIADICS -#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ - WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ +# define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ + WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ...) \ \ - BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ - WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ + BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ + WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ \ - BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ - BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION((0)NAMESPACE_SEQ)NAME, \ - BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_STRUCT_NAMED_FILLER_0 ATTRIBUTES,_END)) + BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \ + (0)NAMESPACE_SEQ)NAME, \ + __VA_ARGS__) -#define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ - BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ - WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) +# define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ...) \ + BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ + WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,__VA_ARGS__) + + +#else // BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ + WRAPPED_TYPE, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ + \ + BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ + WRAPPED_TYPE,(0)NAMESPACE_SEQ,NAME) \ + \ + BOOST_FUSION_ADAPT_STRUCT_AS_VIEW( \ + BOOST_FUSION_ADAPT_STRUCT_NAMESPACE_DECLARATION( \ + (0)NAMESPACE_SEQ)NAME, \ + ATTRIBUTES) + +# define BOOST_FUSION_ADAPT_STRUCT_NAMED(WRAPPED_TYPE, NAME, ATTRIBUTES) \ + BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( \ + WRAPPED_TYPE,(boost)(fusion)(adapted),NAME,ATTRIBUTES) + +#endif #endif diff --git a/3party/boost/boost/fusion/adapted/struct/define_assoc_struct.hpp b/3party/boost/boost/fusion/adapted/struct/define_assoc_struct.hpp index 1f5ce8dca7..f4a3679d73 100644 --- a/3party/boost/boost/fusion/adapted/struct/define_assoc_struct.hpp +++ b/3party/boost/boost/fusion/adapted/struct/define_assoc_struct.hpp @@ -12,6 +12,13 @@ #include #include +#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(X, Y, Z) \ + ((X, Y, Z)) BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1 +#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1(X, Y, Z) \ + ((X, Y, Z)) BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0 +#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0_END +#define BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_1_END + #define BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT( \ TEMPLATE_PARAMS_SEQ, NAMESPACE_SEQ, NAME, ATTRIBUTES) \ \ @@ -20,7 +27,7 @@ (0)NAMESPACE_SEQ, \ NAME, \ BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ 3) \ \ BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT( \ @@ -34,7 +41,7 @@ (0)NAMESPACE_SEQ, \ NAME, \ BOOST_PP_CAT( \ - BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ + BOOST_FUSION_DEFINE_ASSOC_STRUCT_FILLER_0(0,0,0)ATTRIBUTES,_END), \ 3) \ \ BOOST_FUSION_ADAPT_ASSOC_STRUCT( \ diff --git a/3party/boost/boost/fusion/adapted/struct/define_struct.hpp b/3party/boost/boost/fusion/adapted/struct/define_struct.hpp index fa1f549f91..2978543672 100644 --- a/3party/boost/boost/fusion/adapted/struct/define_struct.hpp +++ b/3party/boost/boost/fusion/adapted/struct/define_struct.hpp @@ -19,7 +19,7 @@ TEMPLATE_PARAMS_SEQ, \ (0)NAMESPACE_SEQ, \ NAME, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ + BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ 2) \ \ BOOST_FUSION_ADAPT_TPL_STRUCT( \ @@ -32,7 +32,7 @@ BOOST_FUSION_DEFINE_STRUCT_IMPL( \ (0)NAMESPACE_SEQ, \ NAME, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ + BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0(0,0)ATTRIBUTES,_END), \ 2) \ \ BOOST_FUSION_ADAPT_STRUCT( \ diff --git a/3party/boost/boost/fusion/include/adapt_assoc_class_named.hpp b/3party/boost/boost/fusion/adapted/struct/detail/adapt_auto.hpp similarity index 55% rename from 3party/boost/boost/fusion/include/adapt_assoc_class_named.hpp rename to 3party/boost/boost/fusion/adapted/struct/detail/adapt_auto.hpp index 3c04183d2a..5178150b4b 100644 --- a/3party/boost/boost/fusion/include/adapt_assoc_class_named.hpp +++ b/3party/boost/boost/fusion/adapted/struct/detail/adapt_auto.hpp @@ -1,14 +1,15 @@ /*============================================================================= - Copyright (c) 2010 Christopher Schmidt + Copyright (c) 2013-2014 Damien Buhl 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_FUSION_INCLUDE_ADAPT_ASSOC_CLASS_NAMED_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_CLASS_NAMED_HPP +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_AUTO_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_AUTO_HPP -#include -#include +#include + +#define BOOST_FUSION_ADAPT_AUTO BOOST_PP_EMPTY() #endif diff --git a/3party/boost/boost/fusion/adapted/struct/detail/adapt_base.hpp b/3party/boost/boost/fusion/adapted/struct/detail/adapt_base.hpp index db702ae155..52a5112811 100644 --- a/3party/boost/boost/fusion/adapted/struct/detail/adapt_base.hpp +++ b/3party/boost/boost/fusion/adapted/struct/detail/adapt_base.hpp @@ -2,6 +2,7 @@ Copyright (c) 2001-2009 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden Copyright (c) 2009-2011 Christopher Schmidt + Copyright (c) 2013-2014 Damien Buhl 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) @@ -13,6 +14,8 @@ #include #include #include +#include +#include #include #include @@ -25,12 +28,16 @@ #include #include #include +#include #include #include #include #include #include +#include + + #define BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME_TEMPLATE_PARAMS(SEQ) \ BOOST_PP_SEQ_HEAD(SEQ) \ BOOST_PP_EMPTY() @@ -55,6 +62,49 @@ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS_IMPL, \ BOOST_PP_TUPLE_EAT(1))(SEQ) +#ifdef BOOST_MSVC +# define BOOST_FUSION_ATTRIBUTE_TYPEOF( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ + TEMPLATE_PARAMS_SEQ) \ + \ + struct deduced_attr_type { \ + static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ + typedef \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ + BOOST_TYPEOF( PREFIX() obj.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ + 0, ATTRIBUTE)) \ + type; \ + }; \ + \ + typedef \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ + deduced_attr_type::type attribute_type; + +#else +# define BOOST_FUSION_ATTRIBUTE_TYPEOF( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + \ + struct deduced_attr_type { \ + static const BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& obj; \ + typedef BOOST_TYPEOF( \ + PREFIX() obj.BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE)) \ + type; \ + }; \ + \ + typedef \ + BOOST_PP_IF(BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ), typename, ) \ + deduced_attr_type::type attribute_type; + +#endif + +#define BOOST_FUSION_ATTRIBUTE_GIVENTYPE( \ + NAME_SEQ, ATTRIBUTE, ATTRIBUTE_TUPEL_SIZE, PREFIX, TEMPLATE_PARAMS_SEQ) \ + typedef \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) attribute_type; + + #ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS # define BOOST_FUSION_ADAPT_STRUCT_TAG_OF_SPECIALIZATION( \ MODIFIER, TEMPLATE_PARAMS_SEQ, NAME_SEQ, TAG) \ @@ -83,9 +133,10 @@ #endif #define BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL(R,DATA,I,ATTRIBUTE) \ - BOOST_PP_TUPLE_ELEM(3,0,DATA)( \ - BOOST_PP_TUPLE_ELEM(3,1,DATA), \ - BOOST_PP_TUPLE_ELEM(3,2,DATA), \ + BOOST_PP_TUPLE_ELEM(4,0,DATA)( \ + BOOST_PP_TUPLE_ELEM(4,1,DATA), \ + BOOST_PP_TUPLE_ELEM(4,2,DATA), \ + BOOST_PP_TUPLE_ELEM(4,3,DATA), \ I, \ ATTRIBUTE) @@ -107,7 +158,9 @@ #endif #define BOOST_FUSION_ADAPT_STRUCT_C_BASE( \ - TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,PREFIX,ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE) \ + TEMPLATE_PARAMS_SEQ,NAME_SEQ,IS_VIEW, \ + I,PREFIX,ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE, \ + DEDUCE_TYPE) \ \ template< \ BOOST_FUSION_ADAPT_STRUCT_UNPACK_TEMPLATE_PARAMS(TEMPLATE_PARAMS_SEQ) \ @@ -117,9 +170,14 @@ , I \ > \ { \ - typedef \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 0, ATTRIBUTE) \ - attribute_type; \ + BOOST_PP_IF(DEDUCE_TYPE, \ + BOOST_FUSION_ATTRIBUTE_TYPEOF, BOOST_FUSION_ATTRIBUTE_GIVENTYPE)( \ + NAME_SEQ, \ + ATTRIBUTE, \ + ATTRIBUTE_TUPEL_SIZE, \ + PREFIX, \ + TEMPLATE_PARAMS_SEQ) \ + \ BOOST_FUSION_ADAPT_STRUCT_MSVC_REDEFINE_TEMPLATE_PARAMS( \ TEMPLATE_PARAMS_SEQ) \ \ @@ -138,12 +196,13 @@ >::type \ type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type \ call(Seq& seq) \ { \ return seq.PREFIX() \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, 1, ATTRIBUTE); \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ + BOOST_PP_IF(DEDUCE_TYPE, 0, 1), ATTRIBUTE); \ } \ }; \ }; \ @@ -158,12 +217,14 @@ { \ typedef char const* type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type \ call() \ { \ return BOOST_PP_STRINGIZE( \ - BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE,1,ATTRIBUTE)); \ + BOOST_PP_TUPLE_ELEM(ATTRIBUTE_TUPEL_SIZE, \ + BOOST_PP_IF(DEDUCE_TYPE, 0, 1), \ + ATTRIBUTE)); \ } \ }; @@ -195,7 +256,7 @@ namespace boost BOOST_PP_TUPLE_EAT(4))( \ 1, \ BOOST_FUSION_ADAPT_STRUCT_BASE_UNPACK_AND_CALL, \ - (ATTRIBUTES_CALLBACK,TEMPLATE_PARAMS_SEQ,NAME_SEQ), \ + (ATTRIBUTES_CALLBACK,TEMPLATE_PARAMS_SEQ,NAME_SEQ, IS_VIEW),\ BOOST_PP_SEQ_TAIL(ATTRIBUTES_SEQ)) \ \ template< \ diff --git a/3party/boost/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp b/3party/boost/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp new file mode 100644 index 0000000000..c75e83c397 --- /dev/null +++ b/3party/boost/boost/fusion/adapted/struct/detail/adapt_base_assoc_attr_filler.hpp @@ -0,0 +1,63 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + 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_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ASSOC_ATTR_FILLER_HPP + +#include + +#include + +#include +#include +#include +#include +#include + +#if BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(...) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1 + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(...) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(__VA_ARGS__) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(...) \ + ((BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), (__VA_ARGS__))) + +#else // BOOST_PP_VARIADICS + + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0(X, Y, Z) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1 + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1(X, Y, Z) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ + BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0 + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAP_ATTR(X, Y, Z) \ + BOOST_PP_IF(BOOST_PP_IS_EMPTY(X), \ + ((2, (Y,Z))), \ + ((3, (X,Y,Z))) \ + ) + +#endif // BOOST_PP_VARIADICS + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_0_END +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_FILLER_1_END + + +#define BOOST_FUSION_ADAPT_ASSOC_STRUCT_WRAPPEDATTR_GET_KEY(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM( \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), \ + BOOST_PP_SUB(BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE), 1), \ + BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE)) + +#endif diff --git a/3party/boost/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp b/3party/boost/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp new file mode 100644 index 0000000000..7a83bb347c --- /dev/null +++ b/3party/boost/boost/fusion/adapted/struct/detail/adapt_base_attr_filler.hpp @@ -0,0 +1,66 @@ +/*============================================================================= + Copyright (c) 2013-2014 Damien Buhl + + 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_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_BASE_ATTR_FILLER_HPP + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + + +#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0(X, Y) \ + BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X,Y) \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_1 + +#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1(X, Y) \ + BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X,Y) \ + BOOST_FUSION_ADAPT_STRUCT_FILLER_0 + +#define BOOST_FUSION_ADAPT_STRUCT_FILLER_0_END +#define BOOST_FUSION_ADAPT_STRUCT_FILLER_1_END + +#define BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(X, Y) \ + BOOST_PP_IF(BOOST_PP_IS_EMPTY(X), \ + ((1, (Y))), \ + ((2, (X,Y))) \ + ) + +#define BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR_SIZE(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(2, 0, ATTRIBUTE) + +#define BOOST_FUSION_ADAPT_STRUCT_WRAPPEDATTR(ATTRIBUTE) \ + BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE) + + +#if BOOST_PP_VARIADICS + +# define BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER_OP(r, unused, elem) \ + BOOST_PP_IF(BOOST_FUSION_PP_IS_SEQ(elem), \ + BOOST_PP_CAT( BOOST_FUSION_ADAPT_STRUCT_FILLER_0 elem ,_END), \ + BOOST_PP_IF(BOOST_PP_IS_EMPTY(elem), \ + BOOST_PP_EMPTY(), \ + BOOST_FUSION_ADAPT_STRUCT_WRAP_ATTR(BOOST_FUSION_ADAPT_AUTO,elem))\ + ) + +# define BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER(VA_ARGS_SEQ) \ + BOOST_PP_SEQ_PUSH_FRONT( \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_FUSION_ADAPT_STRUCT_ATTRIBUTES_FILLER_OP, \ + unused, VA_ARGS_SEQ), \ + (0,0)) + +#endif // BOOST_PP_VARIADICS + +#endif diff --git a/3party/boost/boost/spirit/home/x3/extensions.hpp b/3party/boost/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp similarity index 50% rename from 3party/boost/boost/spirit/home/x3/extensions.hpp rename to 3party/boost/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp index a40b719c35..2b54a2c0c7 100644 --- a/3party/boost/boost/spirit/home/x3/extensions.hpp +++ b/3party/boost/boost/fusion/adapted/struct/detail/adapt_is_tpl.hpp @@ -1,18 +1,14 @@ /*============================================================================= - Copyright (c) 2001-2014 Joel de Guzman - Copyright (c) 2014 Thomas Bernard - Copyright (c) 2014 Lee Clagett + Copyright (c) 2013-2014 Damien Buhl 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) ==============================================================================*/ -#if !defined(BOOST_SPIRIT_X3_EXTENSIONS_APRIL_6_2014_1421PM) -#define BOOST_SPIRIT_X3_EXTENSIONS_APRIL_6_2014_1421PM -#if defined(_MSC_VER) -#pragma once -#endif +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_IS_TPL_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_ADAPT_IS_TPL_HPP -#include +#define BOOST_FUSION_ADAPT_IS_TPL(TEMPLATE_PARAMS_SEQ) \ + BOOST_PP_SEQ_HEAD(TEMPLATE_PARAMS_SEQ) #endif diff --git a/3party/boost/boost/fusion/adapted/struct/detail/begin_impl.hpp b/3party/boost/boost/fusion/adapted/struct/detail/begin_impl.hpp index 9cb68719a9..f67df3a724 100644 --- a/3party/boost/boost/fusion/adapted/struct/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/adapted/struct/detail/begin_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { @@ -57,7 +57,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/adapted/struct/detail/define_struct.hpp b/3party/boost/boost/fusion/adapted/struct/detail/define_struct.hpp index 44d99f06b4..ce3737ea97 100644 --- a/3party/boost/boost/fusion/adapted/struct/detail/define_struct.hpp +++ b/3party/boost/boost/fusion/adapted/struct/detail/define_struct.hpp @@ -34,6 +34,13 @@ #include #include +#define BOOST_FUSION_DEFINE_STRUCT_FILLER_0(X, Y) \ + ((X, Y)) BOOST_FUSION_DEFINE_STRUCT_FILLER_1 +#define BOOST_FUSION_DEFINE_STRUCT_FILLER_1(X, Y) \ + ((X, Y)) BOOST_FUSION_DEFINE_STRUCT_FILLER_0 +#define BOOST_FUSION_DEFINE_STRUCT_FILLER_0_END +#define BOOST_FUSION_DEFINE_STRUCT_FILLER_1_END + #define BOOST_FUSION_DEFINE_STRUCT_COPY_CTOR_FILLER_I( \ R, ATTRIBUTE_TUPEL_SIZE, I, ATTRIBUTE) \ \ @@ -238,7 +245,7 @@ #define BOOST_FUSION_DEFINE_STRUCT_CTOR_N( \ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_FUSION_GPU_ENABLED \ NAME(BOOST_PP_SEQ_FOR_EACH_I_R( \ 1, \ BOOST_FUSION_DEFINE_STRUCT_CTOR_ARG_I, \ @@ -280,12 +287,12 @@ NAME, ATTRIBUTES_SEQ, ATTRIBUTE_TUPEL_SIZE) \ \ template \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(Seq const&) \ {} \ \ template \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ self_type& \ operator=(Seq const& seq) \ { \ diff --git a/3party/boost/boost/fusion/adapted/struct/detail/define_struct_inline.hpp b/3party/boost/boost/fusion/adapted/struct/detail/define_struct_inline.hpp index 87ab09fa5d..a037ffe549 100644 --- a/3party/boost/boost/fusion/adapted/struct/detail/define_struct_inline.hpp +++ b/3party/boost/boost/fusion/adapted/struct/detail/define_struct_inline.hpp @@ -66,6 +66,7 @@ #define BOOST_FUSION_IGNORE_2(ARG1, ARG2) #define BOOST_FUSION_MAKE_COPY_CONSTRUCTOR(NAME, ATTRIBUTES_SEQ) \ + BOOST_FUSION_GPU_ENABLED \ NAME(BOOST_PP_SEQ_FOR_EACH_I( \ BOOST_FUSION_MAKE_CONST_REF_PARAM, \ ~, \ @@ -113,7 +114,7 @@ struct deref > \ { \ typedef typename boost_fusion_detail_Sq::t##N##_type TYPE_QUAL& type; \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(CALL_ARG_TYPE, N> const& iter) \ { \ return iter.seq_.BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \ @@ -163,7 +164,7 @@ typename boost_fusion_detail_Sq::t##N##_type& \ >::type type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_Sq& sq) \ { \ return sq. BOOST_PP_TUPLE_ELEM(2, 1, ATTRIBUTE); \ @@ -208,7 +209,7 @@ result_raw_type \ >::type type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(iterator_raw_type const& iter) \ { \ return boost::fusion::at_c(iter.ref_vec); \ @@ -301,7 +302,7 @@ #define BOOST_FUSION_DEFINE_STRUCT_INLINE_MEMBERS(NAME, ATTRIBUTES) \ BOOST_FUSION_DEFINE_STRUCT_MEMBERS_IMPL( \ NAME, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END)) + BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0 ATTRIBUTES,_END)) // Note: can't compute BOOST_PP_SEQ_SIZE(ATTRIBUTES_SEQ) directly because // ATTRIBUTES_SEQ may be empty and calling BOOST_PP_SEQ_SIZE on an empty @@ -315,7 +316,7 @@ #define BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR(NAME, ATTRIBUTES) \ BOOST_FUSION_DEFINE_STRUCT_ITERATOR_IMPL( \ NAME, \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_FILLER_0 ATTRIBUTES,_END)) + BOOST_PP_CAT(BOOST_FUSION_DEFINE_STRUCT_FILLER_0 ATTRIBUTES,_END)) #define BOOST_FUSION_DEFINE_STRUCT_ITERATOR_IMPL(NAME, ATTRIBUTES_SEQ) \ BOOST_FUSION_DEFINE_STRUCT_INLINE_ITERATOR_IMPL_IMPL( \ @@ -359,7 +360,7 @@ boost_fusion_detail_It::index::value + 1 \ > type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_It const& it) \ { \ return type(it.seq_); \ @@ -374,7 +375,7 @@ boost_fusion_detail_It::index::value - 1 \ > type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_It const& it) \ { \ return type(it.seq_); \ @@ -392,9 +393,9 @@ typename boost_fusion_detail_It1::index \ >::type type; \ \ - BOOST_FUSION_GPU_ENABLED \ - static type call(boost_fusion_detail_It1 const& it1, \ - boost_fusion_detail_It2 const& it2) \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static type call(boost_fusion_detail_It1 const& /* it1 */, \ + boost_fusion_detail_It2 const& /* it2 */) \ { \ return type(); \ } \ @@ -412,7 +413,7 @@ + boost_fusion_detail_M::value \ > type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_It const& it) \ { \ return type(it.seq_); \ @@ -445,14 +446,14 @@ (NAME, ATTRIBUTES_SEQ) \ \ template \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(const boost_fusion_detail_Seq& rhs) \ { \ boost::fusion::copy(rhs, *this); \ } \ \ template \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME& operator=(const boost_fusion_detail_Seq& rhs) \ { \ boost::fusion::copy(rhs, *this); \ @@ -465,7 +466,7 @@ typedef BOOST_FUSION_ITERATOR_NAME(NAME) \ type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_Sq& sq) \ { \ return type(sq); \ @@ -480,7 +481,7 @@ ATTRIBUTES_SEQ_SIZE \ > type; \ \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ static type call(boost_fusion_detail_Sq& sq) \ { \ return type(sq); \ diff --git a/3party/boost/boost/fusion/adapted/struct/detail/deref_impl.hpp b/3party/boost/boost/fusion/adapted/struct/detail/deref_impl.hpp index a3bc9f3e19..c53b51a320 100644 --- a/3party/boost/boost/fusion/adapted/struct/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/adapted/struct/detail/deref_impl.hpp @@ -28,9 +28,8 @@ namespace boost { namespace fusion { namespace extension typedef typename impl::type type; - BOOST_FUSION_GPU_ENABLED - static - type + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(It const& it) { return impl::call(*it.seq); diff --git a/3party/boost/boost/fusion/adapted/struct/detail/end_impl.hpp b/3party/boost/boost/fusion/adapted/struct/detail/end_impl.hpp index b17eba7139..855be7a4ee 100644 --- a/3party/boost/boost/fusion/adapted/struct/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/adapted/struct/detail/end_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { @@ -57,7 +57,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp b/3party/boost/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp new file mode 100644 index 0000000000..0344c212c4 --- /dev/null +++ b/3party/boost/boost/fusion/adapted/struct/detail/preprocessor/is_seq.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + BOOST_PP_VARIADICS version of BOOST_PP_IS_SEQ inspired from + boost/mpl/aux_/preprocessor/is_seq.hpp, original copyrights goes to : + + Copyright Paul Mensonides 2003 + Copyright Aleksey Gurtovoy 2003-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) + +==============================================================================*/ + +#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP +#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP + +#include +#include +#include +#include +#include + +#if BOOST_PP_VARIADICS + +#define BOOST_FUSION_PP_IS_SEQ(seq) BOOST_PP_CAT(BOOST_FUSION_PP_IS_SEQ_, \ + BOOST_FUSION_PP_IS_SEQ_0 seq BOOST_PP_RPAREN()) + +#define BOOST_FUSION_PP_IS_SEQ_0(...) \ + BOOST_FUSION_PP_IS_SEQ_1(__VA_ARGS__ + +#define BOOST_FUSION_PP_IS_SEQ_ALWAYS_0(...) \ + 0 + +#define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_0 \ + BOOST_FUSION_PP_IS_SEQ_ALWAYS_0( + +#define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_1(...) \ + 1 + +#endif // BOOST_PP_VARIADICS + +#endif diff --git a/3party/boost/boost/fusion/adapted/struct/detail/proxy_type.hpp b/3party/boost/boost/fusion/adapted/struct/detail/proxy_type.hpp index 350137a482..b4cb55bb4a 100644 --- a/3party/boost/boost/fusion/adapted/struct/detail/proxy_type.hpp +++ b/3party/boost/boost/fusion/adapted/struct/detail/proxy_type.hpp @@ -12,6 +12,8 @@ #include #include +#define BOOST_FUSION_PROXY_PREFIX() obj. + #define BOOST_FUSION_ADAPT_STRUCT_DEFINE_PROXY_TYPE_IMPL( \ WRAPPED_TYPE,NAMESPACE_SEQ,NAME) \ \ @@ -19,7 +21,7 @@ \ struct NAME \ { \ - BOOST_FUSION_GPU_ENABLED \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ NAME(WRAPPED_TYPE& in_obj) \ : obj(in_obj) \ {} \ diff --git a/3party/boost/boost/fusion/algorithm/auxiliary.hpp b/3party/boost/boost/fusion/algorithm/auxiliary.hpp index ec327a0bdb..313c81f81c 100644 --- a/3party/boost/boost/fusion/algorithm/auxiliary.hpp +++ b/3party/boost/boost/fusion/algorithm/auxiliary.hpp @@ -9,5 +9,8 @@ #include #include +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES +#include +#endif #endif diff --git a/3party/boost/boost/fusion/algorithm/auxiliary/copy.hpp b/3party/boost/boost/fusion/algorithm/auxiliary/copy.hpp index 7ac8e6f589..ec240bae65 100644 --- a/3party/boost/boost/fusion/algorithm/auxiliary/copy.hpp +++ b/3party/boost/boost/fusion/algorithm/auxiliary/copy.hpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #if defined (BOOST_MSVC) # pragma warning(push) @@ -34,14 +34,14 @@ namespace boost { namespace fusion typedef typename result_of::end::type end2_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const&, I2 const&, mpl::true_) { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest, mpl::false_) { @@ -50,7 +50,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest) { @@ -60,17 +60,19 @@ namespace boost { namespace fusion }; } + namespace result_of + { + template + struct copy + : enable_if, + traits::is_sequence + > > {}; + } + template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if_c< - type_traits::ice_and< - traits::is_sequence::value - , traits::is_sequence::value - >::value, - void - >::type + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::copy::type copy(Seq1 const& src, Seq2& dest) { BOOST_STATIC_ASSERT( diff --git a/3party/boost/boost/fusion/algorithm/auxiliary/move.hpp b/3party/boost/boost/fusion/algorithm/auxiliary/move.hpp index 688f54a9f2..68552829b6 100644 --- a/3party/boost/boost/fusion/algorithm/auxiliary/move.hpp +++ b/3party/boost/boost/fusion/algorithm/auxiliary/move.hpp @@ -16,7 +16,9 @@ #include #include #include -#include +#include + +#include // for std::move #if defined (BOOST_MSVC) # pragma warning(push) @@ -34,14 +36,14 @@ namespace boost { namespace fusion typedef typename result_of::end::type end2_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const&, I2 const&, mpl::true_) { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest, mpl::false_) { @@ -50,7 +52,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I1 const& src, I2 const& dest) { @@ -60,17 +62,19 @@ namespace boost { namespace fusion }; } + namespace result_of + { + template + struct move + : enable_if, + traits::is_sequence + > > {}; + } + template - BOOST_FUSION_GPU_ENABLED - inline - typename - enable_if_c< - type_traits::ice_and< - traits::is_sequence::value - , traits::is_sequence::value - >::value, - void - >::type + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::move::type move(Seq1&& src, Seq2& dest) { BOOST_STATIC_ASSERT( diff --git a/3party/boost/boost/fusion/algorithm/iteration/accumulate.hpp b/3party/boost/boost/fusion/algorithm/iteration/accumulate.hpp index 430f9eb546..fe7112e323 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/accumulate.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/accumulate.hpp @@ -26,9 +26,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , result_of::accumulate @@ -39,9 +38,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , result_of::accumulate diff --git a/3party/boost/boost/fusion/algorithm/iteration/accumulate_fwd.hpp b/3party/boost/boost/fusion/algorithm/iteration/accumulate_fwd.hpp index 0633349825..50c4d39d4e 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/accumulate_fwd.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/accumulate_fwd.hpp @@ -20,8 +20,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , result_of::accumulate @@ -29,8 +29,8 @@ namespace boost { namespace fusion accumulate(Sequence& seq, State const& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , result_of::accumulate diff --git a/3party/boost/boost/fusion/algorithm/iteration/detail/fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/detail/fold.hpp index 71f60a7c63..1813bd247a 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/detail/fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/detail/fold.hpp @@ -47,7 +47,7 @@ namespace boost { namespace fusion { template struct BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state) - : boost::result_of< + : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM(It)) @@ -57,39 +57,11 @@ namespace boost { namespace fusion template struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { - template - BOOST_FUSION_GPU_ENABLED + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result - call(State const& state,It0 const& it0,F f) + call_3(State3 const& state3,It3 const& it3,F& f) { - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It0 const - >::type - It1; - It1 it1 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0); - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It1 - >::type - It2; - It2 it2 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it1); - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It2 - >::type - It3; - It3 it3 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it2); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State1; - State1 const state1=f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State2; - State2 const state2=f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State3; - State3 const state3=f(state2,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it2)); - return BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME)< Result , N-4 @@ -98,54 +70,95 @@ namespace boost { namespace fusion fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it3), f); } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return call_3( + f(state2,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it2)), + fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it2), + f); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)), + fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it1), + f); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call(State const& state,It0 const& it0,F f) + { + return call_1( + f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)), + fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0), + f); + } }; template struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return f(state2,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it2)); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)), + fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it1), + f); + } + template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It0 const - >::type - It1; - It1 it1 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0); - typedef typename - result_of::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION< - It1 - >::type - It2; - It2 it2 = fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it1); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State1; - State1 const state1=f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)); - - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State2; - State2 const state2=f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)); - - return f(state2,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it2)); + return call_1( + f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)), + fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0), + f); } }; template struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return f(state1,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it1)); + } + template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename BOOST_PP_CAT(BOOST_FUSION_FOLD_NAME, _lvalue_state)::type State1; - State1 const state1=f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)); - - return f( - state1, - BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM( - fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0))); + return call_1( + f(state,BOOST_FUSION_FOLD_IMPL_INVOKE_IT_TRANSFORM(it0)), + fusion::BOOST_FUSION_FOLD_IMPL_NEXT_IT_FUNCTION(it0), + f); } }; @@ -153,7 +166,7 @@ namespace boost { namespace fusion struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -166,7 +179,7 @@ namespace boost { namespace fusion struct BOOST_PP_CAT(unrolled_,BOOST_FUSION_FOLD_NAME) { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { @@ -314,7 +327,7 @@ namespace boost { namespace fusion { typedef typename BOOST_PP_CAT(result_of_unrolled_,BOOST_FUSION_FOLD_NAME)< - typename boost::result_of< + typename fusion::detail::result_of_with_decltype< F( StateRef, BOOST_FUSION_FOLD_IMPL_INVOKE_IT_META_TRANSFORM( @@ -345,7 +358,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { @@ -369,7 +382,7 @@ namespace boost { namespace fusion { typedef StateRef type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { @@ -404,7 +417,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq , State const @@ -419,7 +432,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq const , State const @@ -434,7 +447,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq , State const @@ -449,7 +462,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FOLD_NAME< Seq const , State const diff --git a/3party/boost/boost/fusion/algorithm/iteration/detail/for_each.hpp b/3party/boost/boost/fusion/algorithm/iteration/detail/for_each.hpp index 81b3ab7028..0bef5cec4a 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/detail/for_each.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/detail/for_each.hpp @@ -21,14 +21,14 @@ namespace boost { namespace fusion { namespace detail { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each_linear(First const&, Last const&, F const&, mpl::true_) { } - + template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each_linear(First const& first, Last const& last, F const& f, mpl::false_) { @@ -39,7 +39,7 @@ namespace detail template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each_dispatch(Sequence& seq, F const& f, Tag) { @@ -56,7 +56,7 @@ namespace detail struct for_each_unrolled { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); @@ -77,7 +77,7 @@ namespace detail struct for_each_unrolled<3> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); @@ -94,7 +94,7 @@ namespace detail struct for_each_unrolled<2> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); @@ -108,7 +108,7 @@ namespace detail struct for_each_unrolled<1> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(I0 const& i0, F const& f) { f(*i0); @@ -119,14 +119,14 @@ namespace detail struct for_each_unrolled<0> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static void call(It const&, F const&) { } }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each_dispatch(Sequence& seq, F const& f, random_access_traversal_tag) { @@ -136,7 +136,7 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each(Sequence& seq, F const& f, mpl::false_) // unsegmented implementation { diff --git a/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp index 140c70b1c2..bd3b1dbdac 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/fold.hpp @@ -14,7 +14,7 @@ namespace boost { namespace fusion { template struct fold_lvalue_state - : boost::result_of< + : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, typename fusion::result_of::deref::type) @@ -23,35 +23,11 @@ namespace boost { namespace fusion template struct unrolled_fold { - template - BOOST_FUSION_GPU_ENABLED + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result - call(State const& state,It0 const& it0,F f) + call_3(State3 const& state3,It3 const& it3,F& f) { - typedef typename - result_of::next< - It0 const - >::type - It1; - It1 it1 = fusion::next(it0); - typedef typename - result_of::next< - It1 - >::type - It2; - It2 it2 = fusion::next(it1); - typedef typename - result_of::next< - It2 - >::type - It3; - It3 it3 = fusion::next(it2); - typedef typename fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - typedef typename fold_lvalue_state::type State2; - State2 const state2=f(state1,fusion::deref(it1)); - typedef typename fold_lvalue_state::type State3; - State3 const state3=f(state2,fusion::deref(it2)); return unrolled_fold< Result , N-4 @@ -60,54 +36,94 @@ namespace boost { namespace fusion fusion::next(it3), f); } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return call_3( + f(state2,fusion::deref(it2)), + fusion::next(it2), + f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,fusion::deref(it1)), + fusion::next(it1), + f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call(State const& state,It0 const& it0,F f) + { + return call_1( + f(state,fusion::deref(it0)), + fusion::next(it0), + f); + } }; template struct unrolled_fold { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return f(state2,fusion::deref(it2)); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,fusion::deref(it1)), + fusion::next(it1), + f); + } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename - result_of::next< - It0 const - >::type - It1; - It1 it1 = fusion::next(it0); - typedef typename - result_of::next< - It1 - >::type - It2; - It2 it2 = fusion::next(it1); - typedef typename fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - typedef typename fold_lvalue_state::type State2; - State2 const state2=f(state1,fusion::deref(it1)); - return f(state2,fusion::deref(it2)); + return call_1( + f(state,fusion::deref(it0)), + fusion::next(it0), + f); } }; template struct unrolled_fold { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return f(state1,fusion::deref(it1)); + } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - return f( - state1, - fusion::deref( fusion::next(it0))); + return call_1( + f(state,fusion::deref(it0)), + fusion::next(it0), + f); } }; template struct unrolled_fold { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -119,7 +135,7 @@ namespace boost { namespace fusion struct unrolled_fold { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { @@ -257,7 +273,7 @@ namespace boost { namespace fusion { typedef typename result_of_unrolled_fold< - typename boost::result_of< + typename fusion::detail::result_of_with_decltype< F( StateRef, typename fusion::result_of::deref< It0 const>::type @@ -282,7 +298,7 @@ namespace boost { namespace fusion , SeqSize >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { @@ -302,7 +318,7 @@ namespace boost { namespace fusion struct fold_impl<0,StateRef,Seq,F> { typedef StateRef type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { @@ -334,7 +350,7 @@ namespace boost { namespace fusion {}; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq , State const @@ -348,7 +364,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq const , State const @@ -362,7 +378,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq , State const @@ -376,7 +392,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::fold< Seq const , State const diff --git a/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp index 1211550d39..1d294a8722 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/iter_fold.hpp @@ -13,7 +13,7 @@ namespace boost { namespace fusion { template struct iter_fold_lvalue_state - : boost::result_of< + : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, It&) @@ -22,35 +22,11 @@ namespace boost { namespace fusion template struct unrolled_iter_fold { - template - BOOST_FUSION_GPU_ENABLED + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result - call(State const& state,It0 const& it0,F f) + call_3(State3 const& state3,It3 const& it3,F& f) { - typedef typename - result_of::next< - It0 const - >::type - It1; - It1 it1 = fusion::next(it0); - typedef typename - result_of::next< - It1 - >::type - It2; - It2 it2 = fusion::next(it1); - typedef typename - result_of::next< - It2 - >::type - It3; - It3 it3 = fusion::next(it2); - typedef typename iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - typedef typename iter_fold_lvalue_state::type State2; - State2 const state2=f(state1,it1); - typedef typename iter_fold_lvalue_state::type State3; - State3 const state3=f(state2,it2); return unrolled_iter_fold< Result , N-4 @@ -59,54 +35,94 @@ namespace boost { namespace fusion fusion::next(it3), f); } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return call_3( + f(state2,it2), + fusion::next(it2), + f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,it1), + fusion::next(it1), + f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call(State const& state,It0 const& it0,F f) + { + return call_1( + f(state,it0), + fusion::next(it0), + f); + } }; template struct unrolled_iter_fold { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return f(state2,it2); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,it1), + fusion::next(it1), + f); + } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename - result_of::next< - It0 const - >::type - It1; - It1 it1 = fusion::next(it0); - typedef typename - result_of::next< - It1 - >::type - It2; - It2 it2 = fusion::next(it1); - typedef typename iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - typedef typename iter_fold_lvalue_state::type State2; - State2 const state2=f(state1,it1); - return f(state2,it2); + return call_1( + f(state,it0), + fusion::next(it0), + f); } }; template struct unrolled_iter_fold { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return f(state1,it1); + } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - return f( - state1, - fusion::next(it0)); + return call_1( + f(state,it0), + fusion::next(it0), + f); } }; template struct unrolled_iter_fold { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -118,7 +134,7 @@ namespace boost { namespace fusion struct unrolled_iter_fold { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { @@ -256,7 +272,7 @@ namespace boost { namespace fusion { typedef typename result_of_unrolled_iter_fold< - typename boost::result_of< + typename fusion::detail::result_of_with_decltype< F( StateRef, It0 const& @@ -281,7 +297,7 @@ namespace boost { namespace fusion , SeqSize >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { @@ -301,7 +317,7 @@ namespace boost { namespace fusion struct iter_fold_impl<0,StateRef,Seq,F> { typedef StateRef type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { @@ -333,7 +349,7 @@ namespace boost { namespace fusion {}; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq , State const @@ -347,7 +363,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq const , State const @@ -361,7 +377,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq , State const @@ -375,7 +391,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::iter_fold< Seq const , State const diff --git a/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp index cc78231a50..947897821a 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_fold.hpp @@ -13,7 +13,7 @@ namespace boost { namespace fusion { template struct reverse_fold_lvalue_state - : boost::result_of< + : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, typename fusion::result_of::deref::type) @@ -22,35 +22,11 @@ namespace boost { namespace fusion template struct unrolled_reverse_fold { - template - BOOST_FUSION_GPU_ENABLED + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result - call(State const& state,It0 const& it0,F f) + call_3(State3 const& state3,It3 const& it3,F& f) { - typedef typename - result_of::prior< - It0 const - >::type - It1; - It1 it1 = fusion::prior(it0); - typedef typename - result_of::prior< - It1 - >::type - It2; - It2 it2 = fusion::prior(it1); - typedef typename - result_of::prior< - It2 - >::type - It3; - It3 it3 = fusion::prior(it2); - typedef typename reverse_fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - typedef typename reverse_fold_lvalue_state::type State2; - State2 const state2=f(state1,fusion::deref(it1)); - typedef typename reverse_fold_lvalue_state::type State3; - State3 const state3=f(state2,fusion::deref(it2)); return unrolled_reverse_fold< Result , N-4 @@ -59,54 +35,94 @@ namespace boost { namespace fusion fusion::prior(it3), f); } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return call_3( + f(state2,fusion::deref(it2)), + fusion::prior(it2), + f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,fusion::deref(it1)), + fusion::prior(it1), + f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call(State const& state,It0 const& it0,F f) + { + return call_1( + f(state,fusion::deref(it0)), + fusion::prior(it0), + f); + } }; template struct unrolled_reverse_fold { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return f(state2,fusion::deref(it2)); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,fusion::deref(it1)), + fusion::prior(it1), + f); + } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename - result_of::prior< - It0 const - >::type - It1; - It1 it1 = fusion::prior(it0); - typedef typename - result_of::prior< - It1 - >::type - It2; - It2 it2 = fusion::prior(it1); - typedef typename reverse_fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - typedef typename reverse_fold_lvalue_state::type State2; - State2 const state2=f(state1,fusion::deref(it1)); - return f(state2,fusion::deref(it2)); + return call_1( + f(state,fusion::deref(it0)), + fusion::prior(it0), + f); } }; template struct unrolled_reverse_fold { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return f(state1,fusion::deref(it1)); + } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename reverse_fold_lvalue_state::type State1; - State1 const state1=f(state,fusion::deref(it0)); - return f( - state1, - fusion::deref( fusion::prior(it0))); + return call_1( + f(state,fusion::deref(it0)), + fusion::prior(it0), + f); } }; template struct unrolled_reverse_fold { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -118,7 +134,7 @@ namespace boost { namespace fusion struct unrolled_reverse_fold { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { @@ -256,7 +272,7 @@ namespace boost { namespace fusion { typedef typename result_of_unrolled_reverse_fold< - typename boost::result_of< + typename fusion::detail::result_of_with_decltype< F( StateRef, typename fusion::result_of::deref< It0 const>::type @@ -281,7 +297,7 @@ namespace boost { namespace fusion , SeqSize >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { @@ -301,7 +317,7 @@ namespace boost { namespace fusion struct reverse_fold_impl<0,StateRef,Seq,F> { typedef StateRef type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { @@ -333,7 +349,7 @@ namespace boost { namespace fusion {}; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq , State const @@ -347,7 +363,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq const , State const @@ -361,7 +377,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq , State const @@ -375,7 +391,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_fold< Seq const , State const diff --git a/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp index 3023a91239..bf1edca53d 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/detail/preprocessed/reverse_iter_fold.hpp @@ -13,7 +13,7 @@ namespace boost { namespace fusion { template struct reverse_iter_fold_lvalue_state - : boost::result_of< + : fusion::detail::result_of_with_decltype< F( typename add_reference::type>::type, It&) @@ -22,35 +22,11 @@ namespace boost { namespace fusion template struct unrolled_reverse_iter_fold { - template - BOOST_FUSION_GPU_ENABLED + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result - call(State const& state,It0 const& it0,F f) + call_3(State3 const& state3,It3 const& it3,F& f) { - typedef typename - result_of::prior< - It0 const - >::type - It1; - It1 it1 = fusion::prior(it0); - typedef typename - result_of::prior< - It1 - >::type - It2; - It2 it2 = fusion::prior(it1); - typedef typename - result_of::prior< - It2 - >::type - It3; - It3 it3 = fusion::prior(it2); - typedef typename reverse_iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - typedef typename reverse_iter_fold_lvalue_state::type State2; - State2 const state2=f(state1,it1); - typedef typename reverse_iter_fold_lvalue_state::type State3; - State3 const state3=f(state2,it2); return unrolled_reverse_iter_fold< Result , N-4 @@ -59,54 +35,94 @@ namespace boost { namespace fusion fusion::prior(it3), f); } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return call_3( + f(state2,it2), + fusion::prior(it2), + f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,it1), + fusion::prior(it1), + f); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call(State const& state,It0 const& it0,F f) + { + return call_1( + f(state,it0), + fusion::prior(it0), + f); + } }; template struct unrolled_reverse_iter_fold { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_2(State2 const& state2,It2 const& it2,F& f) + { + return f(state2,it2); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return call_2( + f(state1,it1), + fusion::prior(it1), + f); + } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename - result_of::prior< - It0 const - >::type - It1; - It1 it1 = fusion::prior(it0); - typedef typename - result_of::prior< - It1 - >::type - It2; - It2 it2 = fusion::prior(it1); - typedef typename reverse_iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - typedef typename reverse_iter_fold_lvalue_state::type State2; - State2 const state2=f(state1,it1); - return f(state2,it2); + return call_1( + f(state,it0), + fusion::prior(it0), + f); } }; template struct unrolled_reverse_iter_fold { + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static Result + call_1(State1 const& state1,It1 const& it1,F& f) + { + return f(state1,it1); + } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { - typedef typename reverse_iter_fold_lvalue_state::type State1; - State1 const state1=f(state,it0); - return f( - state1, - fusion::prior(it0)); + return call_1( + f(state,it0), + fusion::prior(it0), + f); } }; template struct unrolled_reverse_iter_fold { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const& it0,F f) { @@ -118,7 +134,7 @@ namespace boost { namespace fusion struct unrolled_reverse_iter_fold { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static Result call(State const& state,It0 const&, F) { @@ -256,7 +272,7 @@ namespace boost { namespace fusion { typedef typename result_of_unrolled_reverse_iter_fold< - typename boost::result_of< + typename fusion::detail::result_of_with_decltype< F( StateRef, It0 const& @@ -281,7 +297,7 @@ namespace boost { namespace fusion , SeqSize >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StateRef state, Seq& seq, F f) { @@ -301,7 +317,7 @@ namespace boost { namespace fusion struct reverse_iter_fold_impl<0,StateRef,Seq,F> { typedef StateRef type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static StateRef call(StateRef state, Seq&, F) { @@ -333,7 +349,7 @@ namespace boost { namespace fusion {}; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq , State const @@ -347,7 +363,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq const , State const @@ -361,7 +377,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq , State const @@ -375,7 +391,7 @@ namespace boost { namespace fusion f); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::reverse_iter_fold< Seq const , State const diff --git a/3party/boost/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp index 58aab114a2..4ff679af2e 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/detail/segmented_fold.hpp @@ -16,7 +16,7 @@ namespace boost { namespace fusion { namespace detail template struct segmented_fold_fun { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segmented_fold_fun(Fun const& f) : fun(f) {} @@ -29,7 +29,7 @@ namespace boost { namespace fusion { namespace detail typedef typename result_of::fold::type type; typedef mpl::true_ continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const& state, Context const&, segmented_fold_fun const& fun) { return fusion::fold(seq, state, fun.fun); @@ -52,7 +52,7 @@ namespace boost { namespace fusion { namespace detail >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(State& state, Sequence& seq, Fun fun) { return fusion::segmented_fold_until(seq, state, segmented_fold_fun(fun)); diff --git a/3party/boost/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp b/3party/boost/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp index a5d6d4be3e..a32d9dad00 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/detail/segmented_for_each.hpp @@ -18,7 +18,7 @@ namespace boost { namespace fusion { namespace detail template struct segmented_for_each_fun { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segmented_for_each_fun(Fun const& f) : fun(f) {} @@ -31,7 +31,7 @@ namespace boost { namespace fusion { namespace detail typedef void_ type; typedef mpl::true_ continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&, Context const&, segmented_for_each_fun const& fun) { fusion::for_each(seq, fun.fun); @@ -41,7 +41,7 @@ namespace boost { namespace fusion { namespace detail }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void for_each(Sequence& seq, F const& f, mpl::true_) // segmented implementation { diff --git a/3party/boost/boost/fusion/algorithm/iteration/fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/fold.hpp index a83b33b15a..a2a0146ab4 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/fold.hpp @@ -10,6 +10,7 @@ #define BOOST_FUSION_ALGORITHM_ITERATION_FOLD_HPP #include +#include #include #include #include diff --git a/3party/boost/boost/fusion/algorithm/iteration/fold_fwd.hpp b/3party/boost/boost/fusion/algorithm/iteration/fold_fwd.hpp index cd8dcd81c6..f8328e80f9 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/fold_fwd.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/fold_fwd.hpp @@ -17,8 +17,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< Seq , State const , F @@ -26,8 +26,8 @@ namespace boost { namespace fusion fold(Seq& seq, State const& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< Seq const , State const , F @@ -35,8 +35,8 @@ namespace boost { namespace fusion fold(Seq const& seq, State const& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< Seq , State const , F @@ -44,8 +44,8 @@ namespace boost { namespace fusion fold(Seq& seq, State& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::fold< Seq const , State const , F diff --git a/3party/boost/boost/fusion/algorithm/iteration/for_each.hpp b/3party/boost/boost/fusion/algorithm/iteration/for_each.hpp index 836f4810a6..a523c85eb0 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/for_each.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/for_each.hpp @@ -27,9 +27,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename enable_if< traits::is_sequence , void @@ -40,9 +39,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename enable_if< traits::is_sequence , void diff --git a/3party/boost/boost/fusion/algorithm/iteration/for_each_fwd.hpp b/3party/boost/boost/fusion/algorithm/iteration/for_each_fwd.hpp index 44a3d1da24..13720eadae 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/for_each_fwd.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/for_each_fwd.hpp @@ -20,9 +20,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename enable_if< traits::is_sequence , void @@ -30,9 +29,8 @@ namespace boost { namespace fusion for_each(Sequence& seq, F const& f); template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename enable_if< traits::is_sequence , void diff --git a/3party/boost/boost/fusion/algorithm/iteration/iter_fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/iter_fold.hpp index 4c03cdf80f..b59a6957bc 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/iter_fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/iter_fold.hpp @@ -17,6 +17,7 @@ #include #include #include +#include #include #include #include @@ -25,7 +26,6 @@ #include #include #include -#include #include #include diff --git a/3party/boost/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp b/3party/boost/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp index 8e4898ba0b..6c595cf198 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/iter_fold_fwd.hpp @@ -17,8 +17,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::iter_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< Seq , State const , F @@ -26,8 +26,8 @@ namespace boost { namespace fusion iter_fold(Seq& seq, State const& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::iter_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< Seq const , State const , F @@ -35,8 +35,8 @@ namespace boost { namespace fusion iter_fold(Seq const& seq, State const& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::iter_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< Seq , State const , F @@ -44,8 +44,8 @@ namespace boost { namespace fusion iter_fold(Seq& seq, State& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::iter_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::iter_fold< Seq const , State const , F diff --git a/3party/boost/boost/fusion/algorithm/iteration/reverse_fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/reverse_fold.hpp index 76e6bf2575..dffff79e14 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/reverse_fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/reverse_fold.hpp @@ -10,6 +10,7 @@ #define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_FOLD_HPP #include +#include #include #include #include diff --git a/3party/boost/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp b/3party/boost/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp index c5596e79ef..42c8ac2163 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/reverse_fold_fwd.hpp @@ -17,8 +17,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::reverse_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< Seq , State const , F @@ -26,8 +26,8 @@ namespace boost { namespace fusion reverse_fold(Seq& seq, State const& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::reverse_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< Seq const , State const , F @@ -35,8 +35,8 @@ namespace boost { namespace fusion reverse_fold(Seq const& seq, State const& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::reverse_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< Seq , State const , F @@ -44,8 +44,8 @@ namespace boost { namespace fusion reverse_fold(Seq& seq, State& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::reverse_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_fold< Seq const , State const , F diff --git a/3party/boost/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp b/3party/boost/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp index e49f8b8310..d36861f37b 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/reverse_iter_fold.hpp @@ -9,6 +9,7 @@ #define BOOST_FUSION_ALGORITHM_ITERATION_REVERSE_ITER_FOLD_HPP #include +#include #include #include #include diff --git a/3party/boost/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp b/3party/boost/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp index 7b49ea69c2..21d99deead 100644 --- a/3party/boost/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp +++ b/3party/boost/boost/fusion/algorithm/iteration/reverse_iter_fold_fwd.hpp @@ -17,8 +17,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::reverse_iter_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< Seq , State const , F @@ -26,8 +26,8 @@ namespace boost { namespace fusion reverse_iter_fold(Seq& seq, State const& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::reverse_iter_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< Seq const , State const , F @@ -35,8 +35,8 @@ namespace boost { namespace fusion reverse_iter_fold(Seq const& seq, State const& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::reverse_iter_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< Seq , State const , F @@ -44,8 +44,8 @@ namespace boost { namespace fusion reverse_iter_fold(Seq& seq, State& state, F f); template - BOOST_FUSION_GPU_ENABLED - typename result_of::reverse_iter_fold< + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::reverse_iter_fold< Seq const , State const , F diff --git a/3party/boost/boost/fusion/algorithm/query/all.hpp b/3party/boost/boost/fusion/algorithm/query/all.hpp index d30d7952f7..5122af5825 100644 --- a/3party/boost/boost/fusion/algorithm/query/all.hpp +++ b/3party/boost/boost/fusion/algorithm/query/all.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool all(Sequence const& seq, F f) { diff --git a/3party/boost/boost/fusion/algorithm/query/any.hpp b/3party/boost/boost/fusion/algorithm/query/any.hpp index 4ab971485e..e1aad08dec 100644 --- a/3party/boost/boost/fusion/algorithm/query/any.hpp +++ b/3party/boost/boost/fusion/algorithm/query/any.hpp @@ -25,7 +25,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool any(Sequence const& seq, F f) { diff --git a/3party/boost/boost/fusion/algorithm/query/count.hpp b/3party/boost/boost/fusion/algorithm/query/count.hpp index a86bf4fe13..61fc056988 100644 --- a/3party/boost/boost/fusion/algorithm/query/count.hpp +++ b/3party/boost/boost/fusion/algorithm/query/count.hpp @@ -26,9 +26,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename enable_if< traits::is_sequence , int diff --git a/3party/boost/boost/fusion/algorithm/query/count_if.hpp b/3party/boost/boost/fusion/algorithm/query/count_if.hpp index ac44ac649b..8ef86b0169 100644 --- a/3party/boost/boost/fusion/algorithm/query/count_if.hpp +++ b/3party/boost/boost/fusion/algorithm/query/count_if.hpp @@ -26,9 +26,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename enable_if< traits::is_sequence , int diff --git a/3party/boost/boost/fusion/algorithm/query/detail/all.hpp b/3party/boost/boost/fusion/algorithm/query/detail/all.hpp index 9c7b4c2672..e7e1535d44 100644 --- a/3party/boost/boost/fusion/algorithm/query/detail/all.hpp +++ b/3party/boost/boost/fusion/algorithm/query/detail/all.hpp @@ -21,7 +21,7 @@ namespace boost { namespace fusion { namespace detail { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool linear_all(First const&, Last const&, F const&, mpl::true_) { @@ -29,12 +29,12 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool linear_all(First const& first, Last const& last, F& f, mpl::false_) { typename result_of::deref::type x = *first; - return f(x) && + return f(x) && detail::linear_all( fusion::next(first) , last @@ -43,7 +43,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool all(Sequence const& seq, F f, Tag) { @@ -60,11 +60,11 @@ namespace boost { namespace fusion { namespace detail struct unrolled_all { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { - return - f(*it) && + return + f(*it) && f(*fusion::advance_c<1>(it))&& f(*fusion::advance_c<2>(it)) && f(*fusion::advance_c<3>(it)) && @@ -76,11 +76,11 @@ namespace boost { namespace fusion { namespace detail struct unrolled_all<3> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { - return - f(*it) && + return + f(*it) && f(*fusion::advance_c<1>(it)) && f(*fusion::advance_c<2>(it)); } @@ -90,11 +90,11 @@ namespace boost { namespace fusion { namespace detail struct unrolled_all<2> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { - return - f(*it) && + return + f(*it) && f(*fusion::advance_c<1>(it)); } }; @@ -103,7 +103,7 @@ namespace boost { namespace fusion { namespace detail struct unrolled_all<1> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it); @@ -114,7 +114,7 @@ namespace boost { namespace fusion { namespace detail struct unrolled_all<0> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& /*it*/, F /*f*/) { return true; @@ -122,7 +122,7 @@ namespace boost { namespace fusion { namespace detail }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool all(Sequence const& seq, F f, random_access_traversal_tag) { diff --git a/3party/boost/boost/fusion/algorithm/query/detail/any.hpp b/3party/boost/boost/fusion/algorithm/query/detail/any.hpp index 4e0536836c..43628eac82 100644 --- a/3party/boost/boost/fusion/algorithm/query/detail/any.hpp +++ b/3party/boost/boost/fusion/algorithm/query/detail/any.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool linear_any(First const&, Last const&, F const&, mpl::true_) { @@ -32,12 +32,12 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool linear_any(First const& first, Last const& last, F& f, mpl::false_) { typename result_of::deref::type x = *first; - return f(x) || + return f(x) || detail::linear_any( fusion::next(first) , last @@ -46,7 +46,7 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool any(Sequence const& seq, F f, Tag) { @@ -63,11 +63,11 @@ namespace detail struct unrolled_any { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { - return - f(*it) || + return + f(*it) || f(*fusion::advance_c<1>(it))|| f(*fusion::advance_c<2>(it)) || f(*fusion::advance_c<3>(it)) || @@ -79,11 +79,11 @@ namespace detail struct unrolled_any<3> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { - return - f(*it) || + return + f(*it) || f(*fusion::advance_c<1>(it)) || f(*fusion::advance_c<2>(it)); } @@ -93,11 +93,11 @@ namespace detail struct unrolled_any<2> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { - return - f(*it) || + return + f(*it) || f(*fusion::advance_c<1>(it)); } }; @@ -106,7 +106,7 @@ namespace detail struct unrolled_any<1> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const& it, F f) { return f(*it); @@ -117,7 +117,7 @@ namespace detail struct unrolled_any<0> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(It const&, F) { return false; @@ -125,7 +125,7 @@ namespace detail }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool any(Sequence const& seq, F f, random_access_traversal_tag) { diff --git a/3party/boost/boost/fusion/algorithm/query/detail/count.hpp b/3party/boost/boost/fusion/algorithm/query/detail/count.hpp index 5e046f6b5d..86714ff744 100644 --- a/3party/boost/boost/fusion/algorithm/query/detail/count.hpp +++ b/3party/boost/boost/fusion/algorithm/query/detail/count.hpp @@ -25,10 +25,10 @@ namespace boost { namespace fusion { namespace detail // T1 is convertible to T2 or vice versa template <> - struct compare_convertible + struct compare_convertible { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(T1 const& x, T2 const& y) { @@ -41,7 +41,7 @@ namespace boost { namespace fusion { namespace detail struct compare_convertible { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(T1 const&, T2 const&) { @@ -53,16 +53,16 @@ namespace boost { namespace fusion { namespace detail struct count_compare { typedef typename detail::call_param::type param; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED count_compare(param in_x) : x(in_x) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED bool - operator()(T2 const& y) + operator()(T2 const& y) const { - return + return compare_convertible< mpl::or_< is_convertible diff --git a/3party/boost/boost/fusion/algorithm/query/detail/count_if.hpp b/3party/boost/boost/fusion/algorithm/query/detail/count_if.hpp index baf9fe9f4f..17c67a0ba8 100644 --- a/3party/boost/boost/fusion/algorithm/query/detail/count_if.hpp +++ b/3party/boost/boost/fusion/algorithm/query/detail/count_if.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline int linear_count_if(First const&, Last const&, F const&, mpl::true_) { @@ -32,11 +32,11 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline int linear_count_if(First const& first, Last const& last, F& f, mpl::false_) { - int n = + int n = detail::linear_count_if( fusion::next(first) , last @@ -48,7 +48,7 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline int count_if(Sequence const& seq, F f, Tag) { @@ -65,7 +65,7 @@ namespace detail struct unrolled_count_if { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const& i0, F f) { int ct = unrolled_count_if:: @@ -96,7 +96,7 @@ namespace detail struct unrolled_count_if<3> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const& i0, F f) { int ct = 0; @@ -121,7 +121,7 @@ namespace detail struct unrolled_count_if<2> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const& i0, F f) { int ct = 0; @@ -142,7 +142,7 @@ namespace detail struct unrolled_count_if<1> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const& i0, F f) { int ct = 0; @@ -157,7 +157,7 @@ namespace detail struct unrolled_count_if<0> { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static int call(I0 const&, F) { return 0; @@ -165,7 +165,7 @@ namespace detail }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline int count_if(Sequence const& seq, F f, random_access_traversal_tag) { diff --git a/3party/boost/boost/fusion/algorithm/query/detail/find_if.hpp b/3party/boost/boost/fusion/algorithm/query/detail/find_if.hpp index 41baab4893..b200794a48 100644 --- a/3party/boost/boost/fusion/algorithm/query/detail/find_if.hpp +++ b/3party/boost/boost/fusion/algorithm/query/detail/find_if.hpp @@ -184,7 +184,7 @@ namespace detail type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type recursive_call(Iterator const& iter, mpl::true_) { @@ -192,7 +192,7 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type recursive_call(Iterator const& iter, mpl::false_) { @@ -200,7 +200,7 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type recursive_call(Iterator const& iter) { @@ -209,7 +209,7 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type choose_call(Iterator const& iter, Tag) { @@ -217,7 +217,7 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type choose_call(Iterator const& iter, random_access_traversal_tag) { @@ -226,7 +226,7 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type iter_call(Iterator const& iter) { @@ -234,7 +234,7 @@ namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { diff --git a/3party/boost/boost/fusion/algorithm/query/detail/segmented_find.hpp b/3party/boost/boost/fusion/algorithm/query/detail/segmented_find.hpp index 21c13a46e5..d8533afe10 100644 --- a/3party/boost/boost/fusion/algorithm/query/detail/segmented_find.hpp +++ b/3party/boost/boost/fusion/algorithm/query/detail/segmented_find.hpp @@ -45,19 +45,19 @@ namespace boost { namespace fusion { namespace detail >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&state, Context const& context, segmented_find_fun) { return call_impl(seq, state, context, continue_type()); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence&, State const&state, Context const&, mpl::true_) { return state; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence& seq, State const&, Context const& context, mpl::false_) { return fusion::make_segmented_iterator(fusion::find(seq), context); @@ -78,7 +78,7 @@ namespace boost { namespace fusion { namespace detail >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return fusion::segmented_fold_until( diff --git a/3party/boost/boost/fusion/algorithm/query/detail/segmented_find_if.hpp b/3party/boost/boost/fusion/algorithm/query/detail/segmented_find_if.hpp index 798ed085cf..fd527c732c 100644 --- a/3party/boost/boost/fusion/algorithm/query/detail/segmented_find_if.hpp +++ b/3party/boost/boost/fusion/algorithm/query/detail/segmented_find_if.hpp @@ -45,19 +45,19 @@ namespace boost { namespace fusion { namespace detail >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&state, Context const& context, segmented_find_if_fun) { return call_impl(seq, state, context, continue_type()); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence&, State const&state, Context const&, mpl::true_) { return state; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call_impl(Sequence& seq, State const&, Context const& context, mpl::false_) { return fusion::make_segmented_iterator(fusion::find_if(seq), context); @@ -78,7 +78,7 @@ namespace boost { namespace fusion { namespace detail >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return fusion::segmented_fold_until( diff --git a/3party/boost/boost/fusion/algorithm/query/find.hpp b/3party/boost/boost/fusion/algorithm/query/find.hpp index 56e53c394a..41c22fb3d5 100644 --- a/3party/boost/boost/fusion/algorithm/query/find.hpp +++ b/3party/boost/boost/fusion/algorithm/query/find.hpp @@ -47,8 +47,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_disable_if< is_const , result_of::find @@ -60,7 +60,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::find::type const find(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/algorithm/query/find_fwd.hpp b/3party/boost/boost/fusion/algorithm/query/find_fwd.hpp index a43b5eacb9..c4fc0a9f1f 100644 --- a/3party/boost/boost/fusion/algorithm/query/find_fwd.hpp +++ b/3party/boost/boost/fusion/algorithm/query/find_fwd.hpp @@ -20,8 +20,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_disable_if< is_const , result_of::find @@ -29,7 +29,7 @@ namespace boost { namespace fusion find(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::find::type const find(Sequence const& seq); }} diff --git a/3party/boost/boost/fusion/algorithm/query/find_if.hpp b/3party/boost/boost/fusion/algorithm/query/find_if.hpp index c9e5016270..38601ebfc8 100644 --- a/3party/boost/boost/fusion/algorithm/query/find_if.hpp +++ b/3party/boost/boost/fusion/algorithm/query/find_if.hpp @@ -42,8 +42,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_disable_if< is_const , result_of::find_if @@ -55,7 +55,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::find_if::type const find_if(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/algorithm/query/find_if_fwd.hpp b/3party/boost/boost/fusion/algorithm/query/find_if_fwd.hpp index 419a68c472..5c8abd5be9 100644 --- a/3party/boost/boost/fusion/algorithm/query/find_if_fwd.hpp +++ b/3party/boost/boost/fusion/algorithm/query/find_if_fwd.hpp @@ -21,8 +21,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_disable_if< is_const , result_of::find_if @@ -30,8 +30,8 @@ namespace boost { namespace fusion find_if(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED - typename result_of::find_if::type const + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::find_if::type const find_if(Sequence const& seq); }} diff --git a/3party/boost/boost/fusion/algorithm/query/none.hpp b/3party/boost/boost/fusion/algorithm/query/none.hpp index bb554e3b5f..1fecdbfe79 100644 --- a/3party/boost/boost/fusion/algorithm/query/none.hpp +++ b/3party/boost/boost/fusion/algorithm/query/none.hpp @@ -23,7 +23,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool none(Sequence const& seq, F f) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/clear.hpp b/3party/boost/boost/fusion/algorithm/transformation/clear.hpp index de643408f6..d2e42fe055 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/clear.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/clear.hpp @@ -22,7 +22,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::clear::type clear(Sequence const& /*seq*/) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp index 33f353619e..b04a7ef164 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip10.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { @@ -50,7 +50,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { @@ -72,7 +72,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { @@ -94,7 +94,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { @@ -116,7 +116,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { @@ -138,7 +138,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { @@ -160,7 +160,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { @@ -182,7 +182,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { @@ -204,7 +204,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp index e7c790e04d..506c485c2e 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip20.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { @@ -50,7 +50,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { @@ -72,7 +72,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { @@ -94,7 +94,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { @@ -116,7 +116,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { @@ -138,7 +138,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { @@ -160,7 +160,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { @@ -182,7 +182,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { @@ -204,7 +204,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { @@ -226,7 +226,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) { @@ -248,7 +248,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) { @@ -270,7 +270,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) { @@ -292,7 +292,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) { @@ -314,7 +314,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) { @@ -336,7 +336,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) { @@ -358,7 +358,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) { @@ -380,7 +380,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) { @@ -402,7 +402,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) { @@ -424,7 +424,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp index 215a0ce645..61437f374b 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip30.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { @@ -50,7 +50,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { @@ -72,7 +72,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { @@ -94,7 +94,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { @@ -116,7 +116,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { @@ -138,7 +138,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { @@ -160,7 +160,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { @@ -182,7 +182,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { @@ -204,7 +204,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { @@ -226,7 +226,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) { @@ -248,7 +248,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) { @@ -270,7 +270,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) { @@ -292,7 +292,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) { @@ -314,7 +314,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) { @@ -336,7 +336,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) { @@ -358,7 +358,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) { @@ -380,7 +380,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) { @@ -402,7 +402,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) { @@ -424,7 +424,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) { @@ -446,7 +446,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) { @@ -468,7 +468,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) { @@ -490,7 +490,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) { @@ -512,7 +512,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) { @@ -534,7 +534,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) { @@ -556,7 +556,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) { @@ -578,7 +578,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) { @@ -600,7 +600,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) { @@ -622,7 +622,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) { @@ -644,7 +644,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp index 9e37eedd70..77dbc9be5c 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip40.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { @@ -50,7 +50,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { @@ -72,7 +72,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { @@ -94,7 +94,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { @@ -116,7 +116,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { @@ -138,7 +138,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { @@ -160,7 +160,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { @@ -182,7 +182,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { @@ -204,7 +204,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { @@ -226,7 +226,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) { @@ -248,7 +248,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) { @@ -270,7 +270,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) { @@ -292,7 +292,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) { @@ -314,7 +314,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) { @@ -336,7 +336,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) { @@ -358,7 +358,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) { @@ -380,7 +380,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) { @@ -402,7 +402,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) { @@ -424,7 +424,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) { @@ -446,7 +446,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) { @@ -468,7 +468,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) { @@ -490,7 +490,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) { @@ -512,7 +512,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) { @@ -534,7 +534,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) { @@ -556,7 +556,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) { @@ -578,7 +578,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) { @@ -600,7 +600,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) { @@ -622,7 +622,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) { @@ -644,7 +644,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) { @@ -666,7 +666,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) { @@ -688,7 +688,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) { @@ -710,7 +710,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) { @@ -732,7 +732,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) { @@ -754,7 +754,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) { @@ -776,7 +776,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) { @@ -798,7 +798,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) { @@ -820,7 +820,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) { @@ -842,7 +842,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) { @@ -864,7 +864,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp index ecf300dfa4..ea4431794e 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/detail/preprocessed/zip50.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1) { @@ -50,7 +50,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2) { @@ -72,7 +72,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) { @@ -94,7 +94,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) { @@ -116,7 +116,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) { @@ -138,7 +138,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) { @@ -160,7 +160,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) { @@ -182,7 +182,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) { @@ -204,7 +204,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) { @@ -226,7 +226,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) { @@ -248,7 +248,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) { @@ -270,7 +270,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) { @@ -292,7 +292,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) { @@ -314,7 +314,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) { @@ -336,7 +336,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) { @@ -358,7 +358,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) { @@ -380,7 +380,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) { @@ -402,7 +402,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) { @@ -424,7 +424,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) { @@ -446,7 +446,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) { @@ -468,7 +468,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) { @@ -490,7 +490,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) { @@ -512,7 +512,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) { @@ -534,7 +534,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) { @@ -556,7 +556,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) { @@ -578,7 +578,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) { @@ -600,7 +600,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) { @@ -622,7 +622,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) { @@ -644,7 +644,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) { @@ -666,7 +666,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) { @@ -688,7 +688,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) { @@ -710,7 +710,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) { @@ -732,7 +732,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) { @@ -754,7 +754,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) { @@ -776,7 +776,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) { @@ -798,7 +798,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) { @@ -820,7 +820,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) { @@ -842,7 +842,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) { @@ -864,7 +864,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) { @@ -886,7 +886,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40) { @@ -908,7 +908,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41) { @@ -930,7 +930,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42) { @@ -952,7 +952,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43) { @@ -974,7 +974,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44) { @@ -996,7 +996,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45) { @@ -1018,7 +1018,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46) { @@ -1040,7 +1040,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47) { @@ -1062,7 +1062,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48) { @@ -1084,7 +1084,7 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48 , T49 const& t49) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/detail/replace.hpp b/3party/boost/boost/fusion/algorithm/transformation/detail/replace.hpp index 5a7516bacc..88c4faab0a 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/detail/replace.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/detail/replace.hpp @@ -21,7 +21,7 @@ namespace boost { namespace fusion { namespace detail struct replacer_helper { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static U& call(U& x, T const&, T const&) { @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace detail struct replacer_helper { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static U call(U& x, T const& old_value, T const& new_value) { @@ -44,7 +44,7 @@ namespace boost { namespace fusion { namespace detail template struct replacer { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED replacer(T const& in_old_value, T const& in_new_value) : old_value(in_old_value), new_value(in_new_value) {} @@ -59,9 +59,9 @@ namespace boost { namespace fusion { namespace detail mpl::if_, value, value const&>::type type; }; - + template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(U const& x) const { diff --git a/3party/boost/boost/fusion/algorithm/transformation/detail/replace_if.hpp b/3party/boost/boost/fusion/algorithm/transformation/detail/replace_if.hpp index 5b9663b138..2ecff68249 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/detail/replace_if.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/detail/replace_if.hpp @@ -21,7 +21,7 @@ namespace boost { namespace fusion { namespace detail struct replacer_if_helper { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static U& call(U& x, F&, T const&) { @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace detail struct replacer_if_helper { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static U call(U& x, F& f, T const& new_value) { @@ -44,7 +44,7 @@ namespace boost { namespace fusion { namespace detail template struct replacer_if { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED replacer_if(F in_f, T const& in_new_value) : f(in_f), new_value(in_new_value) {} @@ -59,9 +59,9 @@ namespace boost { namespace fusion { namespace detail mpl::if_, value, value const&>::type type; }; - + template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(U const& x) const { diff --git a/3party/boost/boost/fusion/algorithm/transformation/erase.hpp b/3party/boost/boost/fusion/algorithm/transformation/erase.hpp index 6ffdb4ded4..0f3b8a1519 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/erase.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/erase.hpp @@ -38,21 +38,21 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& first, mpl::false_) { return fusion::next(convert_iterator::call(first)); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& first, mpl::true_) { return convert_iterator::call(first); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& first) { @@ -61,7 +61,7 @@ namespace boost { namespace fusion }; struct use_default; - + template struct fusion_default_help : mpl::if_< @@ -71,7 +71,7 @@ namespace boost { namespace fusion > { }; - + template < typename Sequence , typename First @@ -89,7 +89,7 @@ namespace boost { namespace fusion , typename compute_erase_last::type >::type LastType; - + typedef typename convert_iterator::type first_type; typedef typename convert_iterator::type last_type; typedef iterator_range left_type; @@ -99,8 +99,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , typename result_of::erase @@ -122,8 +122,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::erase::type + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::erase::type erase(Sequence const& seq, First const& first, Last const& last) { typedef result_of::erase result_of; diff --git a/3party/boost/boost/fusion/algorithm/transformation/erase_key.hpp b/3party/boost/boost/fusion/algorithm/transformation/erase_key.hpp index 43340047d7..3757f46f8d 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/erase_key.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/erase_key.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::erase_key::type erase_key(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/filter.hpp b/3party/boost/boost/fusion/algorithm/transformation/filter.hpp index 2e290e29e0..2fc6272096 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/filter.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/filter.hpp @@ -22,9 +22,9 @@ namespace boost { namespace fusion typedef filter_view > type; }; } - + template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::filter::type filter(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/filter_if.hpp b/3party/boost/boost/fusion/algorithm/transformation/filter_if.hpp index 1b9f0d323e..ca28e0e8aa 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/filter_if.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/filter_if.hpp @@ -20,9 +20,9 @@ namespace boost { namespace fusion typedef filter_view type; }; } - + template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::filter_if::type filter_if(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/flatten.hpp b/3party/boost/boost/fusion/algorithm/transformation/flatten.hpp index 9cd81fa964..e3cfa983a5 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/flatten.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/flatten.hpp @@ -25,13 +25,15 @@ namespace boost { namespace fusion { namespace result_of namespace boost { namespace fusion { template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::flatten::type flatten(Sequence& view) { return flatten_view(view); } - + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::flatten::type flatten(Sequence const& view) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/insert.hpp b/3party/boost/boost/fusion/algorithm/transformation/insert.hpp index 78590222d8..44e596537e 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/insert.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/insert.hpp @@ -41,9 +41,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , result_of::insert diff --git a/3party/boost/boost/fusion/algorithm/transformation/insert_range.hpp b/3party/boost/boost/fusion/algorithm/transformation/insert_range.hpp index 660ed17fa5..40e64e1f5e 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/insert_range.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/insert_range.hpp @@ -36,7 +36,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::insert_range::type insert_range(Sequence const& seq, Position const& pos, Range const& range) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/join.hpp b/3party/boost/boost/fusion/algorithm/transformation/join.hpp index 51af05352f..8be492240a 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/join.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/join.hpp @@ -23,7 +23,7 @@ namespace boost { namespace fusion { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::join::type join(LhSequence const& lhs, RhSequence const& rhs) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/pop_back.hpp b/3party/boost/boost/fusion/algorithm/transformation/pop_back.hpp index b20b500356..2f55fa5e72 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/pop_back.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion static bool const is_last = IsLast; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pop_back_iterator(Iterator_ const& iterator_base) : base_type(iterator_base) {} @@ -42,7 +42,7 @@ namespace boost { namespace fusion { typedef pop_back_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(BaseIterator const& i) { @@ -94,7 +94,7 @@ namespace boost { namespace fusion typedef pop_back_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -116,7 +116,7 @@ namespace boost { namespace fusion typedef pop_back_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -152,7 +152,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::pop_back::type pop_back(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/pop_front.hpp b/3party/boost/boost/fusion/algorithm/transformation/pop_front.hpp index 636ab12c9a..11b7f6ee1b 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/pop_front.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/pop_front.hpp @@ -20,19 +20,19 @@ namespace boost { namespace fusion template struct pop_front { - typedef + typedef iterator_range< typename next< typename begin::type >::type , typename end::type - > + > type; }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::pop_front::type pop_front(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/push_back.hpp b/3party/boost/boost/fusion/algorithm/transformation/push_back.hpp index 484425d832..51c2569d23 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/push_back.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/push_back.hpp @@ -27,9 +27,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , result_of::push_back diff --git a/3party/boost/boost/fusion/algorithm/transformation/push_front.hpp b/3party/boost/boost/fusion/algorithm/transformation/push_front.hpp index bda056b18e..a1b7b390c3 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/push_front.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/push_front.hpp @@ -27,9 +27,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , result_of::push_front diff --git a/3party/boost/boost/fusion/algorithm/transformation/remove.hpp b/3party/boost/boost/fusion/algorithm/transformation/remove.hpp index 18dfd1d699..f8bebf7096 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/remove.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/remove.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::remove::type remove(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/remove_if.hpp b/3party/boost/boost/fusion/algorithm/transformation/remove_if.hpp index 4024883971..5497e3a371 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/remove_if.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/remove_if.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::remove_if::type remove_if(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/replace.hpp b/3party/boost/boost/fusion/algorithm/transformation/replace.hpp index a0a9885bd8..4d754cc0f3 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/replace.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/replace.hpp @@ -25,9 +25,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename enable_if< traits::is_sequence , typename result_of::replace::type diff --git a/3party/boost/boost/fusion/algorithm/transformation/replace_if.hpp b/3party/boost/boost/fusion/algorithm/transformation/replace_if.hpp index da3557aa18..8a2bddc6e8 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/replace_if.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/replace_if.hpp @@ -26,9 +26,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename enable_if< traits::is_sequence , typename result_of::replace_if::type diff --git a/3party/boost/boost/fusion/algorithm/transformation/reverse.hpp b/3party/boost/boost/fusion/algorithm/transformation/reverse.hpp index 384224d960..53de417a13 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/reverse.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/reverse.hpp @@ -24,9 +24,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline - typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename enable_if< traits::is_sequence , reverse_view diff --git a/3party/boost/boost/fusion/algorithm/transformation/transform.hpp b/3party/boost/boost/fusion/algorithm/transformation/transform.hpp index 94e45460eb..6a487ccc8a 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/transform.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/transform.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::transform::type transform(Sequence const& seq, F f) { @@ -42,7 +42,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::transform::type transform(Sequence1 const& seq1, Sequence2 const& seq2, F f) { diff --git a/3party/boost/boost/fusion/algorithm/transformation/zip.hpp b/3party/boost/boost/fusion/algorithm/transformation/zip.hpp index 796ec9e361..e94efc8183 100644 --- a/3party/boost/boost/fusion/algorithm/transformation/zip.hpp +++ b/3party/boost/boost/fusion/algorithm/transformation/zip.hpp @@ -101,7 +101,7 @@ namespace boost { namespace fusion #define FUSION_REF_PARAM(z, n, data) const T ## n& template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::zip::type zip(BOOST_PP_ENUM_BINARY_PARAMS(ZIP_ITERATION, T, const& t)) { diff --git a/3party/boost/boost/fusion/container/deque/back_extended_deque.hpp b/3party/boost/boost/fusion/container/deque/back_extended_deque.hpp index a99acc7ab7..04b1d41f26 100644 --- a/3party/boost/boost/fusion/container/deque/back_extended_deque.hpp +++ b/3party/boost/boost/fusion/container/deque/back_extended_deque.hpp @@ -8,6 +8,7 @@ #if !defined(BOOST_FUSION_BACK_EXTENDED_DEQUE_26112006_2209) #define BOOST_FUSION_BACK_EXTENDED_DEQUE_26112006_2209 +#include #include #include @@ -28,22 +29,22 @@ namespace boost { namespace fusion typedef mpl::int_<(result_of::size::value + 1)> size; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED back_extended_deque(Deque const& deque, Arg const& val) : base(val, deque) {} #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED back_extended_deque(Deque const& deque, Arg& val) : base(val, deque) {} #else template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED back_extended_deque(Deque const& deque, Arg&& val) - : base(std::forward(val), deque) + : base(BOOST_FUSION_FWD_ELEM(Arg, val), deque) {} #endif }; diff --git a/3party/boost/boost/fusion/container/deque/convert.hpp b/3party/boost/boost/fusion/container/deque/convert.hpp index f791519d08..9a4bf01af4 100644 --- a/3party/boost/boost/fusion/container/deque/convert.hpp +++ b/3party/boost/boost/fusion/container/deque/convert.hpp @@ -39,7 +39,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_deque::type as_deque(Sequence& seq) { @@ -48,7 +48,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_deque::type as_deque(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/container/deque/deque.hpp b/3party/boost/boost/fusion/container/deque/deque.hpp index 6fd3e1b0ce..96919052e7 100644 --- a/3party/boost/boost/fusion/container/deque/deque.hpp +++ b/3party/boost/boost/fusion/container/deque/deque.hpp @@ -50,20 +50,20 @@ namespace boost { namespace fusion typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence - , result_of::empty>>::type* /*dummy*/ = 0) + , result_of::empty>>::type* /*dummy*/ = 0) BOOST_NOEXCEPT {} - BOOST_FUSION_GPU_ENABLED - deque() {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} }; template @@ -76,74 +76,85 @@ namespace boost { namespace fusion typedef typename detail::deque_keyed_values::type base; typedef mpl::int_<(sizeof ...(Tail) + 1)> size; typedef mpl::int_ next_up; - typedef mpl::int_<((size::value == 0) ? 0 : -1)> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque const& seq) + template >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(deque const& seq) : base(seq) {} - template - BOOST_FUSION_GPU_ENABLED - deque(deque& seq) + template >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(deque& seq) : base(seq) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) - : base(std::forward>(seq)) + template >::type + > + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque(deque&& seq) + : base(std::forward>(seq)) {} #endif - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque const& seq) : base(seq) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(deque&& seq) : base(std::forward(seq)) {} #endif - BOOST_FUSION_GPU_ENABLED - explicit deque(Head const& head, Tail const&... tail) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type head + , typename detail::call_param::type... tail) : base(detail::deque_keyed_values::construct(head, tail...)) {} - template - BOOST_FUSION_GPU_ENABLED - explicit deque(Head_ const& head, Tail_ const&... tail) - : base(detail::deque_keyed_values::construct(head, tail...)) - {} - #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED + template >::type + > + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(Head_&& head, Tail_&&... tail) : base(detail::deque_keyed_values - ::forward_(std::forward(head), std::forward(tail)...)) + ::forward_(BOOST_FUSION_FWD_ELEM(Head_, head), BOOST_FUSION_FWD_ELEM(Tail_, tail)...)) + {} +#else + template >::type + > + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(Head_ const& head, Tail_ const&... tail) + : base(detail::deque_keyed_values::construct(head, tail...)) {} #endif template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(Sequence const& seq , typename disable_if >::type* /*dummy*/ = 0) : base(base::from_iterator(fusion::begin(seq))) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { base::operator=(rhs); @@ -151,7 +162,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { base::operator=(rhs); @@ -160,10 +171,10 @@ namespace boost { namespace fusion #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { - base::operator=(std::forward(rhs)); + base::operator=(BOOST_FUSION_FWD_ELEM(T, rhs)); return *this; } #endif diff --git a/3party/boost/boost/fusion/container/deque/deque_fwd.hpp b/3party/boost/boost/fusion/container/deque/deque_fwd.hpp index 639c00e52d..ebbeb4c1d7 100644 --- a/3party/boost/boost/fusion/container/deque/deque_fwd.hpp +++ b/3party/boost/boost/fusion/container/deque/deque_fwd.hpp @@ -11,9 +11,8 @@ #include #include -#if (defined(BOOST_NO_CXX11_DECLTYPE) \ - || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ - || defined(BOOST_NO_CXX11_RVALUE_REFERENCES)) \ +#if (defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ + || defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)) \ || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) # if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) # undef BOOST_FUSION_HAS_VARIADIC_DEQUE @@ -24,8 +23,15 @@ # endif #endif +// MSVC variadics at this point in time is not ready yet (ICE!) +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) +# if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) +# undef BOOST_FUSION_HAS_VARIADIC_DEQUE +# endif +#endif + /////////////////////////////////////////////////////////////////////////////// -// With no decltype and variadics, we will use the C++03 version +// With no variadics, we will use the C++03 version /////////////////////////////////////////////////////////////////////////////// #if !defined(BOOST_FUSION_HAS_VARIADIC_DEQUE) # include diff --git a/3party/boost/boost/fusion/container/deque/deque_iterator.hpp b/3party/boost/boost/fusion/container/deque/deque_iterator.hpp index c61d6f97f0..c2203796f8 100644 --- a/3party/boost/boost/fusion/container/deque/deque_iterator.hpp +++ b/3party/boost/boost/fusion/container/deque/deque_iterator.hpp @@ -11,9 +11,14 @@ #include #include #include +#include #include #include +#include +#include #include +#include +#include namespace boost { namespace fusion { @@ -26,7 +31,7 @@ namespace boost { namespace fusion { typedef Seq sequence; typedef mpl::int_ index; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque_iterator(Seq& seq) : seq_(seq) {} @@ -49,7 +54,7 @@ namespace boost { namespace fusion { add_const, mpl::identity >::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { @@ -64,7 +69,7 @@ namespace boost { namespace fusion { typedef typename Iterator::sequence sequence; typedef deque_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -91,7 +96,7 @@ namespace boost { namespace fusion { >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) { @@ -113,4 +118,13 @@ namespace boost { namespace fusion { }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::deque_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/container/deque/detail/at_impl.hpp b/3party/boost/boost/fusion/container/deque/detail/at_impl.hpp index 4c5ffa9462..3edf48293c 100644 --- a/3party/boost/boost/fusion/container/deque/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/at_impl.hpp @@ -54,7 +54,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return seq.get(adjusted_index()); diff --git a/3party/boost/boost/fusion/container/deque/detail/begin_impl.hpp b/3party/boost/boost/fusion/container/deque/detail/begin_impl.hpp index 8e7f263350..27b4f41b99 100644 --- a/3party/boost/boost/fusion/container/deque/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/begin_impl.hpp @@ -11,9 +11,6 @@ #include #include -#include -#include - namespace boost { namespace fusion { struct deque_tag; @@ -29,15 +26,11 @@ namespace boost { namespace fusion template struct apply { - typedef typename - mpl::if_c< - (Sequence::next_down::value == Sequence::next_up::value) - , deque_iterator - , deque_iterator - >::type + typedef + deque_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); diff --git a/3party/boost/boost/fusion/container/deque/detail/build_deque.hpp b/3party/boost/boost/fusion/container/deque/detail/build_deque.hpp index d555c6c61c..4dd990aea6 100644 --- a/3party/boost/boost/fusion/container/deque/detail/build_deque.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/build_deque.hpp @@ -26,7 +26,7 @@ namespace boost { namespace fusion { namespace detail struct build_deque { typedef deque<> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { @@ -42,7 +42,7 @@ namespace boost { namespace fusion { namespace detail { typedef deque type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(T const& first, deque const& rest) { @@ -64,7 +64,7 @@ namespace boost { namespace fusion { namespace detail typedef typename push_front::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& f, Last const& l) { diff --git a/3party/boost/boost/fusion/container/deque/detail/convert_impl.hpp b/3party/boost/boost/fusion/container/deque/detail/convert_impl.hpp index f8ff54294e..ba9b847773 100644 --- a/3party/boost/boost/fusion/container/deque/detail/convert_impl.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/convert_impl.hpp @@ -37,7 +37,8 @@ namespace boost { namespace fusion { typedef result_of::as_deque gen; typedef typename gen::type type; - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return gen::call(seq); diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/as_deque.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/as_deque.hpp index 650cd7042d..e95daf3a19 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/as_deque.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/as_deque.hpp @@ -23,6 +23,8 @@ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN + template struct as_deque; @@ -36,13 +38,15 @@ namespace boost { namespace fusion { namespace detail }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator) { return deque<>(); } }; + +BOOST_FUSION_BARRIER_END }}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) @@ -67,6 +71,8 @@ namespace boost { namespace fusion { namespace detail namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN + #define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ typedef typename fusion::result_of::next::type \ BOOST_PP_CAT(I, BOOST_PP_INC(n)); @@ -87,6 +93,7 @@ namespace boost { namespace fusion { namespace detail #undef BOOST_FUSION_NEXT_CALL_ITERATOR #undef BOOST_FUSION_VALUE_OF_ITERATOR +BOOST_FUSION_BARRIER_END }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) @@ -117,7 +124,7 @@ namespace boost { namespace fusion { namespace detail }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/build_deque.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/build_deque.hpp index 74d37faaf8..99cbe58493 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/build_deque.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/build_deque.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_deque::type as_deque(Sequence& seq) { @@ -42,7 +42,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_deque::type as_deque(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/deque.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/deque.hpp index 2dd7f6382b..db8a967ab0 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/deque.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/deque.hpp @@ -18,12 +18,11 @@ #include #include #include +#include #include #include #include #include -#include -#include #include #include @@ -35,7 +34,6 @@ #include #include -#include #include #include @@ -76,22 +74,21 @@ namespace boost { namespace fusion { typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; #include - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} @@ -109,7 +106,7 @@ namespace boost { namespace fusion { {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { @@ -118,7 +115,7 @@ namespace boost { namespace fusion { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { @@ -136,23 +133,26 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) explicit deque(T0_&& t0 , typename enable_if >::type* /*dummy*/ = 0 ) - : base(std::forward(t0), detail::nil_keyed_element()) + : base(BOOST_FUSION_FWD_ELEM(T0_, t0), detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + >::type* /*dummy*/ = 0) : base(std::forward>(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { - base::operator=(std::forward(rhs)); + base::operator=(BOOST_FUSION_FWD_ELEM(T, rhs)); return *this; } #endif @@ -169,20 +169,20 @@ FUSION_HASH endif typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence - , result_of::empty > >::type* /*dummy*/ = 0) + , result_of::empty > >::type* /*dummy*/ = 0) BOOST_NOEXCEPT {} - BOOST_FUSION_GPU_ENABLED - deque() {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} }; }} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp index 7b12d58ca8..eeaa29ffb2 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_forward_ctor.hpp @@ -13,7 +13,7 @@ #error "C++03 only! This file should not have been included" #endif -#define FUSION_DEQUE_FORWARD_CTOR_FORWARD(z, n, _) std::forward(t##n) +#define FUSION_DEQUE_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(T_##n, t##n) #include #include @@ -35,8 +35,8 @@ FUSION_HASH if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -BOOST_FUSION_GPU_ENABLED -deque(BOOST_PP_ENUM_BINARY_PARAMS(N, typename add_reference::type>::type t)) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type t)) : base(detail::deque_keyed_values::construct(BOOST_PP_ENUM_PARAMS(N, t))) {} #endif @@ -49,13 +49,13 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& t)) : base(detail::deque_keyed_values::construct(BOOST_PP_ENUM_PARAMS(N, t))) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t)) : base(detail::deque_keyed_values:: forward_(BOOST_PP_ENUM(N, FUSION_DEQUE_FORWARD_CTOR_FORWARD, _))) diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp index 1ee91ba253..fcbd74a7e9 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values.hpp @@ -24,7 +24,6 @@ #include #include -#include #define FUSION_VOID(z, n, _) void_ @@ -68,13 +67,13 @@ namespace boost { namespace fusion { namespace detail { typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp index dcd9257dc5..87f3714b50 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/deque_keyed_values_call.hpp @@ -20,7 +20,7 @@ #define FUSION_HASH # #define FUSION_DEQUE_KEYED_VALUES_FORWARD(z, n, _) \ - std::forward(BOOST_PP_CAT(t, n)) + BOOST_FUSION_FWD_ELEM(BOOST_PP_CAT(T_, n), BOOST_PP_CAT(t, n)) #define BOOST_PP_FILENAME_1 \ @@ -34,8 +34,8 @@ #define N BOOST_PP_ITERATION() - BOOST_FUSION_GPU_ENABLED - static type construct(BOOST_PP_ENUM_BINARY_PARAMS(N, typename add_reference::type>::type t)) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type t)) { return type(t0, deque_keyed_values_impl< @@ -52,10 +52,10 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(BOOST_PP_ENUM_BINARY_PARAMS(N, T_, && t)) { - return type(std::forward(t0), + return type(BOOST_FUSION_FWD_ELEM(T_0, t0), deque_keyed_values_impl< next_index #if N > 1 diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/limits.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/limits.hpp index 7892ba1a82..16e25fa081 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/limits.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/limits.hpp @@ -12,7 +12,7 @@ #error "C++03 only! This file should not have been included" #endif -#include +#include #if !defined(FUSION_MAX_DEQUE_SIZE) # define FUSION_MAX_DEQUE_SIZE FUSION_MAX_VECTOR_SIZE diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp index e573efb75c..3faf4be223 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque10.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -218,4 +219,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp index b3b7f15857..81faaa0f36 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque20.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -428,4 +429,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp index 18b4662cb1..ce2b7b0ae1 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque30.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -638,4 +639,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp index ec44a2b079..41a5cd0796 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque40.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -649,7 +650,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -670,7 +671,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -691,7 +692,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -712,7 +713,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -733,7 +734,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -754,7 +755,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -775,7 +776,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -796,7 +797,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -817,7 +818,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -838,7 +839,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -848,4 +849,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp index 6c83aed401..d93ba945d3 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/as_deque50.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_deque<1> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -649,7 +650,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -670,7 +671,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -691,7 +692,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -712,7 +713,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -733,7 +734,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -754,7 +755,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -775,7 +776,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -796,7 +797,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -817,7 +818,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -838,7 +839,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -859,7 +860,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -880,7 +881,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -901,7 +902,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -922,7 +923,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -943,7 +944,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -964,7 +965,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -985,7 +986,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1006,7 +1007,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1027,7 +1028,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1048,7 +1049,7 @@ namespace boost { namespace fusion { namespace detail typedef deque type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1058,4 +1059,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp index 59a4ca6a0e..ae1828a5f7 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque10.hpp @@ -19,179 +19,178 @@ namespace boost { namespace fusion { typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) + forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} @@ -206,7 +205,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ : base(base::from_iterator(fusion::begin(seq))) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { @@ -214,7 +213,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { @@ -227,23 +226,26 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) - : base(std::forward(t0), detail::nil_keyed_element()) + : base(std::forward( t0), detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + >::type* = 0) : base(std::forward>(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { - base::operator=(std::forward(rhs)); + base::operator=(std::forward( rhs)); return *this; } # endif @@ -255,17 +257,17 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence - , result_of::empty > >::type* = 0) + , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} - BOOST_FUSION_GPU_ENABLED - deque() {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} }; }} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp index ca008a7b6e..78224634bb 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque20.hpp @@ -19,359 +19,358 @@ namespace boost { namespace fusion { typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) + forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) {} # endif - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} @@ -386,7 +385,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ : base(base::from_iterator(fusion::begin(seq))) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { @@ -394,7 +393,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { @@ -407,23 +406,26 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) - : base(std::forward(t0), detail::nil_keyed_element()) + : base(std::forward( t0), detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + >::type* = 0) : base(std::forward>(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { - base::operator=(std::forward(rhs)); + base::operator=(std::forward( rhs)); return *this; } # endif @@ -435,17 +437,17 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence - , result_of::empty > >::type* = 0) + , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} - BOOST_FUSION_GPU_ENABLED - deque() {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} }; }} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp index cc2c5b4014..8653217bc0 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque30.hpp @@ -19,539 +19,538 @@ namespace boost { namespace fusion { typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) + forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) {} # endif - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} @@ -566,7 +565,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ : base(base::from_iterator(fusion::begin(seq))) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { @@ -574,7 +573,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { @@ -587,23 +586,26 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) - : base(std::forward(t0), detail::nil_keyed_element()) + : base(std::forward( t0), detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + >::type* = 0) : base(std::forward>(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { - base::operator=(std::forward(rhs)); + base::operator=(std::forward( rhs)); return *this; } # endif @@ -615,17 +617,17 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence - , result_of::empty > >::type* = 0) + , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} - BOOST_FUSION_GPU_ENABLED - deque() {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} }; }} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp index 00d110b265..3bfd488af2 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque40.hpp @@ -19,719 +19,718 @@ namespace boost { namespace fusion { typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) + forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))) {} # endif - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} @@ -746,7 +745,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ : base(base::from_iterator(fusion::begin(seq))) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { @@ -754,7 +753,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { @@ -767,23 +766,26 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) - : base(std::forward(t0), detail::nil_keyed_element()) + : base(std::forward( t0), detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + >::type* = 0) : base(std::forward>(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { - base::operator=(std::forward(rhs)); + base::operator=(std::forward( rhs)); return *this; } # endif @@ -795,17 +797,17 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence - , result_of::empty > >::type* = 0) + , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} - BOOST_FUSION_GPU_ENABLED - deque() {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} }; }} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp index ec292ebf42..04441da66c 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque50.hpp @@ -19,899 +19,898 @@ namespace boost { namespace fusion { typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; - typedef mpl::int_< - mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1) : base(detail::deque_keyed_values::construct(t0 , t1)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1))) + forward_(std::forward( t0) , std::forward( t1))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2) : base(detail::deque_keyed_values::construct(t0 , t1 , t2)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47 , typename add_reference::type>::type t48) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47) , std::forward(t48))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48))) {} # endif # if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED -deque(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47 , typename add_reference::type>::type t48 , typename add_reference::type>::type t49) +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +deque(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48 , typename detail::call_param::type t49) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)) {} # endif # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -BOOST_FUSION_GPU_ENABLED +BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T0 const& t0 , T1 const& t1 , T2 const& t2 , T3 const& t3 , T4 const& t4 , T5 const& t5 , T6 const& t6 , T7 const& t7 , T8 const& t8 , T9 const& t9 , T10 const& t10 , T11 const& t11 , T12 const& t12 , T13 const& t13 , T14 const& t14 , T15 const& t15 , T16 const& t16 , T17 const& t17 , T18 const& t18 , T19 const& t19 , T20 const& t20 , T21 const& t21 , T22 const& t22 , T23 const& t23 , T24 const& t24 , T25 const& t25 , T26 const& t26 , T27 const& t27 , T28 const& t28 , T29 const& t29 , T30 const& t30 , T31 const& t31 , T32 const& t32 , T33 const& t33 , T34 const& t34 , T35 const& t35 , T36 const& t36 , T37 const& t37 , T38 const& t38 , T39 const& t39 , T40 const& t40 , T41 const& t41 , T42 const& t42 , T43 const& t43 , T44 const& t44 , T45 const& t45 , T46 const& t46 , T47 const& t47 , T48 const& t48 , T49 const& t49) : base(detail::deque_keyed_values::construct(t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 , t10 , t11 , t12 , t13 , t14 , t15 , t16 , t17 , t18 , t19 , t20 , t21 , t22 , t23 , t24 , t25 , t26 , t27 , t28 , t29 , t30 , t31 , t32 , t33 , t34 , t35 , t36 , t37 , t38 , t39 , t40 , t41 , t42 , t43 , t44 , t45 , t46 , t47 , t48 , t49)) {} template -BOOST_FUSION_GPU_ENABLED +BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) : base(detail::deque_keyed_values:: - forward_(std::forward(t0) , std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47) , std::forward(t48) , std::forward(t49))) + forward_(std::forward( t0) , std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48) , std::forward( t49))) {} # endif - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque() {} - BOOST_FUSION_GPU_ENABLED - explicit deque(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit deque(typename detail::call_param::type t0) : base(t0, detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque const& rhs) : base(rhs) {} @@ -926,7 +925,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ : base(base::from_iterator(fusion::begin(seq))) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(deque const& rhs) { @@ -934,7 +933,7 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T const& rhs) { @@ -947,23 +946,26 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ explicit deque(T0_&& t0 , typename enable_if >::type* = 0 ) - : base(std::forward(t0), detail::nil_keyed_element()) + : base(std::forward( t0), detail::nil_keyed_element()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit deque(deque&& rhs) : base(std::forward(rhs)) {} template BOOST_FUSION_GPU_ENABLED - deque(deque&& seq) + deque(deque&& seq + , typename disable_if< + is_convertible, T0> + >::type* = 0) : base(std::forward>(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque& operator=(T&& rhs) { - base::operator=(std::forward(rhs)); + base::operator=(std::forward( rhs)); return *this; } # endif @@ -975,17 +977,17 @@ deque(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_ typedef bidirectional_traversal_tag category; typedef mpl::int_<0> size; typedef mpl::int_<0> next_up; - typedef mpl::int_<0> next_down; + typedef mpl::int_<-1> next_down; typedef mpl::false_ is_view; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED deque(Sequence const&, typename enable_if< mpl::and_< traits::is_sequence - , result_of::empty > >::type* = 0) + , result_of::empty > >::type* = 0) BOOST_NOEXCEPT {} - BOOST_FUSION_GPU_ENABLED - deque() {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + deque() BOOST_NOEXCEPT {} }; }} diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp index a193acd122..69bdca0382 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values10.hpp @@ -17,12 +17,12 @@ namespace boost { namespace fusion { namespace detail struct deque_keyed_values_impl { typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); @@ -36,8 +36,8 @@ namespace boost { namespace fusion { namespace detail next_index, T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type tail; typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< @@ -46,17 +46,17 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< @@ -66,18 +66,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 - >::forward_(std::forward(t1))); + >::forward_(std::forward( t1))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< @@ -87,18 +87,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); + >::forward_(std::forward( t1) , std::forward( t2))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< @@ -108,18 +108,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< @@ -129,18 +129,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< @@ -150,18 +150,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< @@ -171,18 +171,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< @@ -192,18 +192,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< @@ -213,18 +213,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< @@ -234,14 +234,14 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif }; diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp index 66c56883cb..912811e1be 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values20.hpp @@ -17,12 +17,12 @@ namespace boost { namespace fusion { namespace detail struct deque_keyed_values_impl { typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); @@ -36,8 +36,8 @@ namespace boost { namespace fusion { namespace detail next_index, T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type tail; typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< @@ -46,17 +46,17 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< @@ -66,18 +66,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 - >::forward_(std::forward(t1))); + >::forward_(std::forward( t1))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< @@ -87,18 +87,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); + >::forward_(std::forward( t1) , std::forward( t2))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< @@ -108,18 +108,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< @@ -129,18 +129,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< @@ -150,18 +150,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< @@ -171,18 +171,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< @@ -192,18 +192,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< @@ -213,18 +213,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< @@ -234,18 +234,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) { return type(t0, deque_keyed_values_impl< @@ -255,18 +255,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) { return type(t0, deque_keyed_values_impl< @@ -276,18 +276,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) { return type(t0, deque_keyed_values_impl< @@ -297,18 +297,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) { return type(t0, deque_keyed_values_impl< @@ -318,18 +318,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) { return type(t0, deque_keyed_values_impl< @@ -339,18 +339,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) { return type(t0, deque_keyed_values_impl< @@ -360,18 +360,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) { return type(t0, deque_keyed_values_impl< @@ -381,18 +381,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) { return type(t0, deque_keyed_values_impl< @@ -402,18 +402,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) { return type(t0, deque_keyed_values_impl< @@ -423,18 +423,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) { return type(t0, deque_keyed_values_impl< @@ -444,14 +444,14 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); } # endif }; diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp index 8680c66196..f000f3917a 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values30.hpp @@ -17,12 +17,12 @@ namespace boost { namespace fusion { namespace detail struct deque_keyed_values_impl { typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); @@ -36,8 +36,8 @@ namespace boost { namespace fusion { namespace detail next_index, T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>::type tail; typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< @@ -46,17 +46,17 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< @@ -66,18 +66,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 - >::forward_(std::forward(t1))); + >::forward_(std::forward( t1))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< @@ -87,18 +87,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); + >::forward_(std::forward( t1) , std::forward( t2))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< @@ -108,18 +108,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< @@ -129,18 +129,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< @@ -150,18 +150,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< @@ -171,18 +171,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< @@ -192,18 +192,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< @@ -213,18 +213,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< @@ -234,18 +234,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) { return type(t0, deque_keyed_values_impl< @@ -255,18 +255,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) { return type(t0, deque_keyed_values_impl< @@ -276,18 +276,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) { return type(t0, deque_keyed_values_impl< @@ -297,18 +297,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) { return type(t0, deque_keyed_values_impl< @@ -318,18 +318,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) { return type(t0, deque_keyed_values_impl< @@ -339,18 +339,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) { return type(t0, deque_keyed_values_impl< @@ -360,18 +360,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) { return type(t0, deque_keyed_values_impl< @@ -381,18 +381,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) { return type(t0, deque_keyed_values_impl< @@ -402,18 +402,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) { return type(t0, deque_keyed_values_impl< @@ -423,18 +423,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) { return type(t0, deque_keyed_values_impl< @@ -444,18 +444,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) { return type(t0, deque_keyed_values_impl< @@ -465,18 +465,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) { return type(t0, deque_keyed_values_impl< @@ -486,18 +486,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) { return type(t0, deque_keyed_values_impl< @@ -507,18 +507,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) { return type(t0, deque_keyed_values_impl< @@ -528,18 +528,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) { return type(t0, deque_keyed_values_impl< @@ -549,18 +549,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) { return type(t0, deque_keyed_values_impl< @@ -570,18 +570,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) { return type(t0, deque_keyed_values_impl< @@ -591,18 +591,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) { return type(t0, deque_keyed_values_impl< @@ -612,18 +612,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) { return type(t0, deque_keyed_values_impl< @@ -633,18 +633,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) { return type(t0, deque_keyed_values_impl< @@ -654,14 +654,14 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); } # endif }; diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp index 4e9ed3e9f0..a2da8fb58b 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values40.hpp @@ -17,12 +17,12 @@ namespace boost { namespace fusion { namespace detail struct deque_keyed_values_impl { typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); @@ -36,8 +36,8 @@ namespace boost { namespace fusion { namespace detail next_index, T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39>::type tail; typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< @@ -46,17 +46,17 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< @@ -66,18 +66,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 - >::forward_(std::forward(t1))); + >::forward_(std::forward( t1))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< @@ -87,18 +87,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); + >::forward_(std::forward( t1) , std::forward( t2))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< @@ -108,18 +108,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< @@ -129,18 +129,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< @@ -150,18 +150,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< @@ -171,18 +171,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< @@ -192,18 +192,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< @@ -213,18 +213,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< @@ -234,18 +234,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) { return type(t0, deque_keyed_values_impl< @@ -255,18 +255,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) { return type(t0, deque_keyed_values_impl< @@ -276,18 +276,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) { return type(t0, deque_keyed_values_impl< @@ -297,18 +297,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) { return type(t0, deque_keyed_values_impl< @@ -318,18 +318,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) { return type(t0, deque_keyed_values_impl< @@ -339,18 +339,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) { return type(t0, deque_keyed_values_impl< @@ -360,18 +360,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) { return type(t0, deque_keyed_values_impl< @@ -381,18 +381,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) { return type(t0, deque_keyed_values_impl< @@ -402,18 +402,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) { return type(t0, deque_keyed_values_impl< @@ -423,18 +423,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) { return type(t0, deque_keyed_values_impl< @@ -444,18 +444,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) { return type(t0, deque_keyed_values_impl< @@ -465,18 +465,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) { return type(t0, deque_keyed_values_impl< @@ -486,18 +486,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) { return type(t0, deque_keyed_values_impl< @@ -507,18 +507,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) { return type(t0, deque_keyed_values_impl< @@ -528,18 +528,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) { return type(t0, deque_keyed_values_impl< @@ -549,18 +549,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) { return type(t0, deque_keyed_values_impl< @@ -570,18 +570,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) { return type(t0, deque_keyed_values_impl< @@ -591,18 +591,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) { return type(t0, deque_keyed_values_impl< @@ -612,18 +612,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) { return type(t0, deque_keyed_values_impl< @@ -633,18 +633,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) { return type(t0, deque_keyed_values_impl< @@ -654,18 +654,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) { return type(t0, deque_keyed_values_impl< @@ -675,18 +675,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) { return type(t0, deque_keyed_values_impl< @@ -696,18 +696,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) { return type(t0, deque_keyed_values_impl< @@ -717,18 +717,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) { return type(t0, deque_keyed_values_impl< @@ -738,18 +738,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) { return type(t0, deque_keyed_values_impl< @@ -759,18 +759,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) { return type(t0, deque_keyed_values_impl< @@ -780,18 +780,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) { return type(t0, deque_keyed_values_impl< @@ -801,18 +801,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) { return type(t0, deque_keyed_values_impl< @@ -822,18 +822,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) { return type(t0, deque_keyed_values_impl< @@ -843,18 +843,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) { return type(t0, deque_keyed_values_impl< @@ -864,14 +864,14 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))); } # endif }; diff --git a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp index 0fab39e32b..e4ff69bf94 100644 --- a/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/cpp03/preprocessed/deque_keyed_values50.hpp @@ -17,12 +17,12 @@ namespace boost { namespace fusion { namespace detail struct deque_keyed_values_impl { typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); @@ -36,8 +36,8 @@ namespace boost { namespace fusion { namespace detail next_index, T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49>::type tail; typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0) { return type(t0, deque_keyed_values_impl< @@ -46,17 +46,17 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index >::forward_()); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1) { return type(t0, deque_keyed_values_impl< @@ -66,18 +66,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 - >::forward_(std::forward(t1))); + >::forward_(std::forward( t1))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2) { return type(t0, deque_keyed_values_impl< @@ -87,18 +87,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 - >::forward_(std::forward(t1) , std::forward(t2))); + >::forward_(std::forward( t1) , std::forward( t2))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3) { return type(t0, deque_keyed_values_impl< @@ -108,18 +108,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4) { return type(t0, deque_keyed_values_impl< @@ -129,18 +129,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5) { return type(t0, deque_keyed_values_impl< @@ -150,18 +150,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6) { return type(t0, deque_keyed_values_impl< @@ -171,18 +171,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7) { return type(t0, deque_keyed_values_impl< @@ -192,18 +192,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8) { return type(t0, deque_keyed_values_impl< @@ -213,18 +213,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9) { return type(t0, deque_keyed_values_impl< @@ -234,18 +234,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10) { return type(t0, deque_keyed_values_impl< @@ -255,18 +255,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11) { return type(t0, deque_keyed_values_impl< @@ -276,18 +276,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12) { return type(t0, deque_keyed_values_impl< @@ -297,18 +297,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13) { return type(t0, deque_keyed_values_impl< @@ -318,18 +318,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14) { return type(t0, deque_keyed_values_impl< @@ -339,18 +339,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15) { return type(t0, deque_keyed_values_impl< @@ -360,18 +360,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16) { return type(t0, deque_keyed_values_impl< @@ -381,18 +381,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17) { return type(t0, deque_keyed_values_impl< @@ -402,18 +402,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18) { return type(t0, deque_keyed_values_impl< @@ -423,18 +423,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19) { return type(t0, deque_keyed_values_impl< @@ -444,18 +444,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20) { return type(t0, deque_keyed_values_impl< @@ -465,18 +465,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21) { return type(t0, deque_keyed_values_impl< @@ -486,18 +486,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22) { return type(t0, deque_keyed_values_impl< @@ -507,18 +507,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23) { return type(t0, deque_keyed_values_impl< @@ -528,18 +528,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24) { return type(t0, deque_keyed_values_impl< @@ -549,18 +549,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25) { return type(t0, deque_keyed_values_impl< @@ -570,18 +570,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26) { return type(t0, deque_keyed_values_impl< @@ -591,18 +591,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27) { return type(t0, deque_keyed_values_impl< @@ -612,18 +612,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28) { return type(t0, deque_keyed_values_impl< @@ -633,18 +633,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29) { return type(t0, deque_keyed_values_impl< @@ -654,18 +654,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30) { return type(t0, deque_keyed_values_impl< @@ -675,18 +675,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31) { return type(t0, deque_keyed_values_impl< @@ -696,18 +696,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32) { return type(t0, deque_keyed_values_impl< @@ -717,18 +717,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33) { return type(t0, deque_keyed_values_impl< @@ -738,18 +738,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34) { return type(t0, deque_keyed_values_impl< @@ -759,18 +759,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35) { return type(t0, deque_keyed_values_impl< @@ -780,18 +780,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36) { return type(t0, deque_keyed_values_impl< @@ -801,18 +801,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37) { return type(t0, deque_keyed_values_impl< @@ -822,18 +822,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38) { return type(t0, deque_keyed_values_impl< @@ -843,18 +843,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39) { return type(t0, deque_keyed_values_impl< @@ -864,18 +864,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40) { return type(t0, deque_keyed_values_impl< @@ -885,18 +885,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41) { return type(t0, deque_keyed_values_impl< @@ -906,18 +906,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42) { return type(t0, deque_keyed_values_impl< @@ -927,18 +927,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43) { return type(t0, deque_keyed_values_impl< @@ -948,18 +948,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44) { return type(t0, deque_keyed_values_impl< @@ -969,18 +969,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45) { return type(t0, deque_keyed_values_impl< @@ -990,18 +990,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46) { return type(t0, deque_keyed_values_impl< @@ -1011,18 +1011,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47) { return type(t0, deque_keyed_values_impl< @@ -1032,18 +1032,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47 , typename add_reference::type>::type t48) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48) { return type(t0, deque_keyed_values_impl< @@ -1053,18 +1053,18 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47) , std::forward(t48))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48))); } # endif - BOOST_FUSION_GPU_ENABLED - static type construct(typename add_reference::type>::type t0 , typename add_reference::type>::type t1 , typename add_reference::type>::type t2 , typename add_reference::type>::type t3 , typename add_reference::type>::type t4 , typename add_reference::type>::type t5 , typename add_reference::type>::type t6 , typename add_reference::type>::type t7 , typename add_reference::type>::type t8 , typename add_reference::type>::type t9 , typename add_reference::type>::type t10 , typename add_reference::type>::type t11 , typename add_reference::type>::type t12 , typename add_reference::type>::type t13 , typename add_reference::type>::type t14 , typename add_reference::type>::type t15 , typename add_reference::type>::type t16 , typename add_reference::type>::type t17 , typename add_reference::type>::type t18 , typename add_reference::type>::type t19 , typename add_reference::type>::type t20 , typename add_reference::type>::type t21 , typename add_reference::type>::type t22 , typename add_reference::type>::type t23 , typename add_reference::type>::type t24 , typename add_reference::type>::type t25 , typename add_reference::type>::type t26 , typename add_reference::type>::type t27 , typename add_reference::type>::type t28 , typename add_reference::type>::type t29 , typename add_reference::type>::type t30 , typename add_reference::type>::type t31 , typename add_reference::type>::type t32 , typename add_reference::type>::type t33 , typename add_reference::type>::type t34 , typename add_reference::type>::type t35 , typename add_reference::type>::type t36 , typename add_reference::type>::type t37 , typename add_reference::type>::type t38 , typename add_reference::type>::type t39 , typename add_reference::type>::type t40 , typename add_reference::type>::type t41 , typename add_reference::type>::type t42 , typename add_reference::type>::type t43 , typename add_reference::type>::type t44 , typename add_reference::type>::type t45 , typename add_reference::type>::type t46 , typename add_reference::type>::type t47 , typename add_reference::type>::type t48 , typename add_reference::type>::type t49) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type construct(typename detail::call_param::type t0 , typename detail::call_param::type t1 , typename detail::call_param::type t2 , typename detail::call_param::type t3 , typename detail::call_param::type t4 , typename detail::call_param::type t5 , typename detail::call_param::type t6 , typename detail::call_param::type t7 , typename detail::call_param::type t8 , typename detail::call_param::type t9 , typename detail::call_param::type t10 , typename detail::call_param::type t11 , typename detail::call_param::type t12 , typename detail::call_param::type t13 , typename detail::call_param::type t14 , typename detail::call_param::type t15 , typename detail::call_param::type t16 , typename detail::call_param::type t17 , typename detail::call_param::type t18 , typename detail::call_param::type t19 , typename detail::call_param::type t20 , typename detail::call_param::type t21 , typename detail::call_param::type t22 , typename detail::call_param::type t23 , typename detail::call_param::type t24 , typename detail::call_param::type t25 , typename detail::call_param::type t26 , typename detail::call_param::type t27 , typename detail::call_param::type t28 , typename detail::call_param::type t29 , typename detail::call_param::type t30 , typename detail::call_param::type t31 , typename detail::call_param::type t32 , typename detail::call_param::type t33 , typename detail::call_param::type t34 , typename detail::call_param::type t35 , typename detail::call_param::type t36 , typename detail::call_param::type t37 , typename detail::call_param::type t38 , typename detail::call_param::type t39 , typename detail::call_param::type t40 , typename detail::call_param::type t41 , typename detail::call_param::type t42 , typename detail::call_param::type t43 , typename detail::call_param::type t44 , typename detail::call_param::type t45 , typename detail::call_param::type t46 , typename detail::call_param::type t47 , typename detail::call_param::type t48 , typename detail::call_param::type t49) { return type(t0, deque_keyed_values_impl< @@ -1074,14 +1074,14 @@ namespace boost { namespace fusion { namespace detail } # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(T_0 && t0 , T_1 && t1 , T_2 && t2 , T_3 && t3 , T_4 && t4 , T_5 && t5 , T_6 && t6 , T_7 && t7 , T_8 && t8 , T_9 && t9 , T_10 && t10 , T_11 && t11 , T_12 && t12 , T_13 && t13 , T_14 && t14 , T_15 && t15 , T_16 && t16 , T_17 && t17 , T_18 && t18 , T_19 && t19 , T_20 && t20 , T_21 && t21 , T_22 && t22 , T_23 && t23 , T_24 && t24 , T_25 && t25 , T_26 && t26 , T_27 && t27 , T_28 && t28 , T_29 && t29 , T_30 && t30 , T_31 && t31 , T_32 && t32 , T_33 && t33 , T_34 && t34 , T_35 && t35 , T_36 && t36 , T_37 && t37 , T_38 && t38 , T_39 && t39 , T_40 && t40 , T_41 && t41 , T_42 && t42 , T_43 && t43 , T_44 && t44 , T_45 && t45 , T_46 && t46 , T_47 && t47 , T_48 && t48 , T_49 && t49) { - return type(std::forward(t0), + return type(std::forward( t0), deque_keyed_values_impl< next_index , T_1 , T_2 , T_3 , T_4 , T_5 , T_6 , T_7 , T_8 , T_9 , T_10 , T_11 , T_12 , T_13 , T_14 , T_15 , T_16 , T_17 , T_18 , T_19 , T_20 , T_21 , T_22 , T_23 , T_24 , T_25 , T_26 , T_27 , T_28 , T_29 , T_30 , T_31 , T_32 , T_33 , T_34 , T_35 , T_36 , T_37 , T_38 , T_39 , T_40 , T_41 , T_42 , T_43 , T_44 , T_45 , T_46 , T_47 , T_48 , T_49 - >::forward_(std::forward(t1) , std::forward(t2) , std::forward(t3) , std::forward(t4) , std::forward(t5) , std::forward(t6) , std::forward(t7) , std::forward(t8) , std::forward(t9) , std::forward(t10) , std::forward(t11) , std::forward(t12) , std::forward(t13) , std::forward(t14) , std::forward(t15) , std::forward(t16) , std::forward(t17) , std::forward(t18) , std::forward(t19) , std::forward(t20) , std::forward(t21) , std::forward(t22) , std::forward(t23) , std::forward(t24) , std::forward(t25) , std::forward(t26) , std::forward(t27) , std::forward(t28) , std::forward(t29) , std::forward(t30) , std::forward(t31) , std::forward(t32) , std::forward(t33) , std::forward(t34) , std::forward(t35) , std::forward(t36) , std::forward(t37) , std::forward(t38) , std::forward(t39) , std::forward(t40) , std::forward(t41) , std::forward(t42) , std::forward(t43) , std::forward(t44) , std::forward(t45) , std::forward(t46) , std::forward(t47) , std::forward(t48) , std::forward(t49))); + >::forward_(std::forward( t1) , std::forward( t2) , std::forward( t3) , std::forward( t4) , std::forward( t5) , std::forward( t6) , std::forward( t7) , std::forward( t8) , std::forward( t9) , std::forward( t10) , std::forward( t11) , std::forward( t12) , std::forward( t13) , std::forward( t14) , std::forward( t15) , std::forward( t16) , std::forward( t17) , std::forward( t18) , std::forward( t19) , std::forward( t20) , std::forward( t21) , std::forward( t22) , std::forward( t23) , std::forward( t24) , std::forward( t25) , std::forward( t26) , std::forward( t27) , std::forward( t28) , std::forward( t29) , std::forward( t30) , std::forward( t31) , std::forward( t32) , std::forward( t33) , std::forward( t34) , std::forward( t35) , std::forward( t36) , std::forward( t37) , std::forward( t38) , std::forward( t39) , std::forward( t40) , std::forward( t41) , std::forward( t42) , std::forward( t43) , std::forward( t44) , std::forward( t45) , std::forward( t46) , std::forward( t47) , std::forward( t48) , std::forward( t49))); } # endif }; diff --git a/3party/boost/boost/fusion/container/deque/detail/deque_keyed_values.hpp b/3party/boost/boost/fusion/container/deque/detail/deque_keyed_values.hpp index 9bcffeb234..7c6df7b679 100644 --- a/3party/boost/boost/fusion/container/deque/detail/deque_keyed_values.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/deque_keyed_values.hpp @@ -9,9 +9,8 @@ #define BOOST_FUSION_DEQUE_DETAIL_CPP11_DEQUE_KEYED_VALUES_07042012_1901 #include +#include #include -#include -#include #include namespace boost { namespace fusion { namespace detail @@ -29,7 +28,7 @@ namespace boost { namespace fusion { namespace detail typedef typename deque_keyed_values_impl::type tail; typedef keyed_element type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct( typename detail::call_param::type head , typename detail::call_param::type... tail) @@ -39,17 +38,18 @@ namespace boost { namespace fusion { namespace detail , deque_keyed_values_impl::construct(tail...) ); } - +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_(Head_&& head, Tail_&&... tail) { return type( - std::forward(head) + BOOST_FUSION_FWD_ELEM(Head_, head) , deque_keyed_values_impl:: - forward_(std::forward(tail)...) + forward_(BOOST_FUSION_FWD_ELEM(Tail_, tail)...) ); } +#endif }; struct nil_keyed_element; @@ -58,10 +58,14 @@ namespace boost { namespace fusion { namespace detail struct deque_keyed_values_impl { typedef nil_keyed_element type; - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type construct() { return type(); } - BOOST_FUSION_GPU_ENABLED + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type forward_() { return type(); } +#endif }; template diff --git a/3party/boost/boost/fusion/container/deque/detail/end_impl.hpp b/3party/boost/boost/fusion/container/deque/detail/end_impl.hpp index 73ef85ffb5..8f67ff4af8 100644 --- a/3party/boost/boost/fusion/container/deque/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/end_impl.hpp @@ -11,9 +11,6 @@ #include #include -#include -#include - namespace boost { namespace fusion { struct deque_tag; @@ -29,15 +26,11 @@ namespace boost { namespace fusion template struct apply { - typedef typename - mpl::if_c< - (Sequence::next_down::value == Sequence::next_up::value) - , deque_iterator - , deque_iterator - >::type + typedef + deque_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); diff --git a/3party/boost/boost/fusion/container/deque/detail/keyed_element.hpp b/3party/boost/boost/fusion/container/deque/detail/keyed_element.hpp index 05258820dc..24b5979d2d 100644 --- a/3party/boost/boost/fusion/container/deque/detail/keyed_element.hpp +++ b/3party/boost/boost/fusion/container/deque/detail/keyed_element.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { namespace detail void get(); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static nil_keyed_element from_iterator(It const&) { @@ -43,7 +43,7 @@ namespace boost { namespace fusion { namespace detail using Rest::get; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static keyed_element from_iterator(It const& it) { @@ -51,61 +51,62 @@ namespace boost { namespace fusion { namespace detail *it, base::from_iterator(fusion::next(it))); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element(keyed_element const& rhs) : Rest(rhs.get_base()), value_(rhs.value_) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element(keyed_element&& rhs) - : Rest(std::forward(rhs.forward_base())) - , value_(std::forward(rhs.value_)) + : Rest(BOOST_FUSION_FWD_ELEM(Rest, rhs.forward_base())) + , value_(BOOST_FUSION_FWD_ELEM(Value, rhs.value_)) {} #endif template - BOOST_FUSION_GPU_ENABLED - keyed_element(keyed_element const& rhs) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + keyed_element(keyed_element const& rhs + , typename enable_if >::type* = 0) : Rest(rhs.get_base()), value_(rhs.value_) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #endif - BOOST_FUSION_GPU_ENABLED - Rest& get_base() + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Rest& get_base() BOOST_NOEXCEPT { return *this; } - BOOST_FUSION_GPU_ENABLED - Rest const& get_base() const + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Rest const& get_base() const BOOST_NOEXCEPT { return *this; } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - Rest&& forward_base() + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + Rest&& forward_base() BOOST_NOEXCEPT { - return std::forward(*static_cast(this)); + return BOOST_FUSION_FWD_ELEM(Rest, *static_cast(this)); } #endif - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename cref_result::type get(Key) const { return value_; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename ref_result::type get(Key) { return value_; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element( typename detail::call_param::type value , Rest const& rest) @@ -113,20 +114,20 @@ namespace boost { namespace fusion { namespace detail {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element(Value&& value, Rest&& rest) - : Rest(std::forward(rest)) - , value_(std::forward(value)) + : Rest(BOOST_FUSION_FWD_ELEM(Rest, rest)) + , value_(BOOST_FUSION_FWD_ELEM(Value, value)) {} #endif - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element() : Rest(), value_() {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element& operator=(keyed_element const& rhs) { base::operator=(static_cast(rhs)); // cast for msvc-7.1 @@ -134,7 +135,7 @@ namespace boost { namespace fusion { namespace detail return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element& operator=(keyed_element const& rhs) { base::operator=(rhs); @@ -143,11 +144,11 @@ namespace boost { namespace fusion { namespace detail } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED keyed_element& operator=(keyed_element&& rhs) { base::operator=(std::forward(rhs)); - value_ = std::forward(rhs.value_); + value_ = BOOST_FUSION_FWD_ELEM(Value, rhs.value_); return *this; } #endif diff --git a/3party/boost/boost/fusion/container/deque/front_extended_deque.hpp b/3party/boost/boost/fusion/container/deque/front_extended_deque.hpp index 31336f31d6..ab4cdf7ca4 100644 --- a/3party/boost/boost/fusion/container/deque/front_extended_deque.hpp +++ b/3party/boost/boost/fusion/container/deque/front_extended_deque.hpp @@ -27,22 +27,22 @@ namespace boost { namespace fusion typedef mpl::int_<(result_of::size::value + 1)> size; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED front_extended_deque(Deque const& deque, Arg const& val) : base(val, deque) {} #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED front_extended_deque(Deque const& deque, Arg& val) : base(val, deque) {} #else template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED front_extended_deque(Deque const& deque, Arg&& val) - : base(std::forward(val), deque) + : base(BOOST_FUSION_FWD_ELEM(Arg, val), deque) {} #endif }; diff --git a/3party/boost/boost/fusion/container/generation/cons_tie.hpp b/3party/boost/boost/fusion/container/generation/cons_tie.hpp index 5987fd5f26..2058ebf548 100644 --- a/3party/boost/boost/fusion/container/generation/cons_tie.hpp +++ b/3party/boost/boost/fusion/container/generation/cons_tie.hpp @@ -25,7 +25,7 @@ namespace boost { namespace fusion // $$$ do we really want a cons_tie? $$$ template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline cons cons_tie(Car& car) { @@ -34,7 +34,7 @@ namespace boost { namespace fusion // $$$ do we really want a cons_tie? $$$ template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline cons cons_tie(Car& car, Cdr const& cdr) { diff --git a/3party/boost/boost/fusion/container/generation/deque_tie.hpp b/3party/boost/boost/fusion/container/generation/deque_tie.hpp index 727d984fe4..8b6b9e7b38 100644 --- a/3party/boost/boost/fusion/container/generation/deque_tie.hpp +++ b/3party/boost/boost/fusion/container/generation/deque_tie.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque deque_tie(T&... arg) { diff --git a/3party/boost/boost/fusion/container/generation/detail/pp_deque_tie.hpp b/3party/boost/boost/fusion/container/generation/detail/pp_deque_tie.hpp index c3d7fc680e..9146118ec7 100644 --- a/3party/boost/boost/fusion/container/generation/detail/pp_deque_tie.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/pp_deque_tie.hpp @@ -89,12 +89,12 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _)) + deque_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) { return deque( - BOOST_PP_ENUM_PARAMS(N, _)); + BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N diff --git a/3party/boost/boost/fusion/container/generation/detail/pp_list_tie.hpp b/3party/boost/boost/fusion/container/generation/detail/pp_list_tie.hpp new file mode 100644 index 0000000000..fdfb552e8b --- /dev/null +++ b/3party/boost/boost/fusion/container/generation/detail/pp_list_tie.hpp @@ -0,0 +1,101 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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_PP_IS_ITERATING +#if !defined(FUSION_PP_LIST_TIE_07192005_0109) +#define FUSION_PP_LIST_TIE_07192005_0109 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_tie" FUSION_MAX_LIST_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_LIST_SIZE, typename T, void_) + , typename Extra = void_ + > + struct list_tie; + } + +// $$$ shouldn't we remove_reference first to allow references? $$$ +#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_REF + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct list_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > + #undef TEXT + { + typedef list type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) + { + return list( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/generation/detail/pp_make_deque.hpp b/3party/boost/boost/fusion/container/generation/detail/pp_make_deque.hpp index 843ae7597a..5635c73c0d 100644 --- a/3party/boost/boost/fusion/container/generation/detail/pp_make_deque.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/pp_make_deque.hpp @@ -57,7 +57,8 @@ namespace boost { namespace fusion }; } - BOOST_FUSION_GPU_ENABLED inline deque<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> make_deque() { return deque<>(); @@ -66,9 +67,6 @@ namespace boost { namespace fusion #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ typename detail::as_fusion_element::type -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() @@ -105,12 +103,12 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - make_deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) + make_deque(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) { return deque( - BOOST_PP_ENUM_PARAMS(N, _)); + BOOST_PP_ENUM_PARAMS(N, arg)); } #undef N diff --git a/3party/boost/boost/fusion/container/generation/detail/pp_make_list.hpp b/3party/boost/boost/fusion/container/generation/detail/pp_make_list.hpp new file mode 100644 index 0000000000..9834d67e58 --- /dev/null +++ b/3party/boost/boost/fusion/container/generation/detail/pp_make_list.hpp @@ -0,0 +1,114 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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_PP_IS_ITERATING +#if !defined(FUSION_PP_MAKE_LIST_07192005_1239) +#define FUSION_PP_MAKE_LIST_07192005_1239 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_list" FUSION_MAX_LIST_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_LIST_SIZE, typename T, void_) + , typename Extra = void_ + > + struct make_list; + + template <> + struct make_list<> + { + typedef list<> type; + }; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> + make_list() + { + return list<>(); + } + +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ + typename detail::as_fusion_element::type + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_AS_FUSION_ELEMENT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct make_list< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > + #undef TEXT + { + typedef list type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + make_list(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) + { + return list( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/generation/detail/pp_make_map.hpp b/3party/boost/boost/fusion/container/generation/detail/pp_make_map.hpp index 062d3ac7e7..ad20cd4dd1 100644 --- a/3party/boost/boost/fusion/container/generation/detail/pp_make_map.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/pp_make_map.hpp @@ -59,7 +59,8 @@ namespace boost { namespace fusion }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> make_map() { return map<>(); @@ -70,7 +71,7 @@ namespace boost { namespace fusion BOOST_PP_CAT(K, n) \ , typename detail::as_fusion_element::type> -#define BOOST_FUSION_MAKE_PAIR(z, n, data) \ +#define BOOST_FUSION_MAKE_PAIR(z, n, _) \ fusion::make_pair(BOOST_PP_CAT(_, n)) \ #define BOOST_PP_FILENAME_1 @@ -116,12 +117,12 @@ namespace boost { namespace fusion BOOST_PP_ENUM_PARAMS(N, typename K) , BOOST_PP_ENUM_PARAMS(N, typename D) > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map - make_map(BOOST_PP_ENUM_BINARY_PARAMS(N, D, const& _)) + make_map(BOOST_PP_ENUM_BINARY_PARAMS(N, D, const& arg)) { return map( - BOOST_PP_ENUM(N, BOOST_FUSION_MAKE_PAIR, _)); + BOOST_PP_ENUM(N, BOOST_FUSION_MAKE_PAIR, arg)); } #undef N diff --git a/3party/boost/boost/fusion/container/generation/detail/pp_make_set.hpp b/3party/boost/boost/fusion/container/generation/detail/pp_make_set.hpp new file mode 100644 index 0000000000..4bfc0c7a91 --- /dev/null +++ b/3party/boost/boost/fusion/container/generation/detail/pp_make_set.hpp @@ -0,0 +1,133 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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_PP_IS_ITERATING +#if !defined(FUSION_MAKE_SET_09162005_1125) +#define FUSION_MAKE_SET_09162005_1125 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_set" FUSION_MAX_SET_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#define FUSION_HASH # +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + , typename Extra = void_ + > + struct make_set; + + template <> + struct make_set<> + { + typedef set<> type; + }; + } + + // XXX: +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH else + BOOST_CONSTEXPR +FUSION_HASH endif +#else +#if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#else + BOOST_CONSTEXPR +#endif +#endif + BOOST_FUSION_GPU_ENABLED + inline set<> + make_set() + { + return set<>(); + } + +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ + typename detail::as_fusion_element::type + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_ELEMENT +#undef BOOST_FUSION_AS_ELEMENT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#undef FUSION_HASH +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct make_set< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_SET_SIZE, TEXT, void_) > + #undef TEXT + { + typedef set type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline set + make_set(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) + { + return set( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/generation/detail/pp_make_vector.hpp b/3party/boost/boost/fusion/container/generation/detail/pp_make_vector.hpp new file mode 100644 index 0000000000..3d8b3eb721 --- /dev/null +++ b/3party/boost/boost/fusion/container/generation/detail/pp_make_vector.hpp @@ -0,0 +1,114 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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_PP_IS_ITERATING +#if !defined(FUSION_MAKE_VECTOR_07162005_0243) +#define FUSION_MAKE_VECTOR_07162005_0243 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_vector" FUSION_MAX_VECTOR_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + , typename Extra = void_ + > + struct make_vector; + + template <> + struct make_vector<> + { + typedef vector0<> type; + }; + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> + make_vector() + { + return vector0<>(); + } + +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ + typename detail::as_fusion_element::type + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_AS_FUSION_ELEMENT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct make_vector< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > + #undef TEXT + { + typedef BOOST_PP_CAT(vector, N) type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline BOOST_PP_CAT(vector, N) + make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) + { + return BOOST_PP_CAT(vector, N)( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/generation/detail/pp_map_tie.hpp b/3party/boost/boost/fusion/container/generation/detail/pp_map_tie.hpp index fc8d8ce60c..1a53c9193c 100644 --- a/3party/boost/boost/fusion/container/generation/detail/pp_map_tie.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/pp_map_tie.hpp @@ -62,7 +62,8 @@ namespace boost { namespace fusion }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> map_tie() { return map<>(); @@ -73,7 +74,7 @@ namespace boost { namespace fusion BOOST_PP_CAT(K, n) \ , typename add_reference::type> -#define BOOST_FUSION_PAIR_TIE(z, n, data) \ +#define BOOST_FUSION_PAIR_TIE(z, n, _) \ fusion::pair_tie(BOOST_PP_CAT(_, n)) \ #define BOOST_PP_FILENAME_1 @@ -119,12 +120,12 @@ namespace boost { namespace fusion BOOST_PP_ENUM_PARAMS(N, typename K) , BOOST_PP_ENUM_PARAMS(N, typename D) > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map - map_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, D, & _)) + map_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, D, & arg)) { return map( - BOOST_PP_ENUM(N, BOOST_FUSION_PAIR_TIE, _)); + BOOST_PP_ENUM(N, BOOST_FUSION_PAIR_TIE, arg)); } #undef N diff --git a/3party/boost/boost/fusion/container/generation/detail/pp_vector_tie.hpp b/3party/boost/boost/fusion/container/generation/detail/pp_vector_tie.hpp new file mode 100644 index 0000000000..5a1b3cce7f --- /dev/null +++ b/3party/boost/boost/fusion/container/generation/detail/pp_vector_tie.hpp @@ -0,0 +1,99 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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_PP_IS_ITERATING +#if !defined(FUSION_VECTOR_TIE_07192005_1242) +#define FUSION_VECTOR_TIE_07192005_1242 + +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_tie" FUSION_MAX_VECTOR_SIZE_STR".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + namespace result_of + { + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + , typename Extra = void_ + > + struct vector_tie; + } + +#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_REF +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + namespace result_of + { + template + #define TEXT(z, n, text) , text + struct vector_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > + #undef TEXT + { + typedef vector type; + }; + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector + vector_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) + { + return vector( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp index 4d73f24218..7b50f3373c 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie10.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0) + deque_tie(T0 & arg0) { return deque( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1) + deque_tie(T0 & arg0 , T1 & arg1) { return deque( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,11 +170,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp index 81e30cc2e2..fec7cec9a3 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie20.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0) + deque_tie(T0 & arg0) { return deque( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1) + deque_tie(T0 & arg0 , T1 & arg1) { return deque( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,11 +330,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp index 08015e7d20..701bba533b 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie30.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0) + deque_tie(T0 & arg0) { return deque( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1) + deque_tie(T0 & arg0 , T1 & arg1) { return deque( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,12 +330,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -346,12 +346,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -362,12 +362,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -378,12 +378,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -394,12 +394,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -410,12 +410,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -426,12 +426,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -442,12 +442,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -458,12 +458,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -474,12 +474,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -490,11 +490,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp index 39a1a7e514..37c7297b14 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie40.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0) + deque_tie(T0 & arg0) { return deque( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1) + deque_tie(T0 & arg0 , T1 & arg1) { return deque( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,12 +330,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -346,12 +346,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -362,12 +362,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -378,12 +378,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -394,12 +394,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -410,12 +410,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -426,12 +426,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -442,12 +442,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -458,12 +458,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -474,12 +474,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -490,12 +490,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -506,12 +506,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -522,12 +522,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -538,12 +538,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -554,12 +554,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -570,12 +570,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -586,12 +586,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -602,12 +602,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -618,12 +618,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -634,12 +634,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -650,11 +650,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp index 4a84f5ce6c..c8ecd9f31d 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/deque_tie50.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0) + deque_tie(T0 & arg0) { return deque( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1) + deque_tie(T0 & arg0 , T1 & arg1) { return deque( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return deque( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return deque( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return deque( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return deque( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,12 +330,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -346,12 +346,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -362,12 +362,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -378,12 +378,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -394,12 +394,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -410,12 +410,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -426,12 +426,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -442,12 +442,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -458,12 +458,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -474,12 +474,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -490,12 +490,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -506,12 +506,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -522,12 +522,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -538,12 +538,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -554,12 +554,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -570,12 +570,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -586,12 +586,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -602,12 +602,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -618,12 +618,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -634,12 +634,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -650,12 +650,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { @@ -666,12 +666,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { @@ -682,12 +682,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { @@ -698,12 +698,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { @@ -714,12 +714,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { @@ -730,12 +730,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { @@ -746,12 +746,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { @@ -762,12 +762,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { @@ -778,12 +778,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { @@ -794,12 +794,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { @@ -810,11 +810,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque - deque_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48 , T49 & _49) + deque_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) { return deque( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp index 50233aa3aa..31d424f775 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie10.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0) + list_tie(T0 & arg0) { return list( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1) + list_tie(T0 & arg0 , T1 & arg1) { return list( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,11 +170,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp index b969fa1457..533579e11e 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie20.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0) + list_tie(T0 & arg0) { return list( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1) + list_tie(T0 & arg0 , T1 & arg1) { return list( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,11 +330,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp index 0ccfd9c226..3ba4c743d9 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie30.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0) + list_tie(T0 & arg0) { return list( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1) + list_tie(T0 & arg0 , T1 & arg1) { return list( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,12 +330,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -346,12 +346,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -362,12 +362,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -378,12 +378,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -394,12 +394,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -410,12 +410,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -426,12 +426,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -442,12 +442,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -458,12 +458,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -474,12 +474,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -490,11 +490,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp index 9721eb95b6..d73997decf 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie40.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0) + list_tie(T0 & arg0) { return list( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1) + list_tie(T0 & arg0 , T1 & arg1) { return list( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,12 +330,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -346,12 +346,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -362,12 +362,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -378,12 +378,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -394,12 +394,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -410,12 +410,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -426,12 +426,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -442,12 +442,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -458,12 +458,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -474,12 +474,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -490,12 +490,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -506,12 +506,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -522,12 +522,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -538,12 +538,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -554,12 +554,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -570,12 +570,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -586,12 +586,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -602,12 +602,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -618,12 +618,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -634,12 +634,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -650,11 +650,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp index 91217e1e99..96a36b3af1 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/list_tie50.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0) + list_tie(T0 & arg0) { return list( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1) + list_tie(T0 & arg0 , T1 & arg1) { return list( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return list( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return list( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return list( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return list( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,12 +330,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -346,12 +346,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -362,12 +362,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -378,12 +378,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -394,12 +394,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -410,12 +410,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -426,12 +426,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -442,12 +442,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -458,12 +458,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -474,12 +474,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -490,12 +490,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -506,12 +506,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -522,12 +522,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -538,12 +538,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -554,12 +554,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -570,12 +570,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -586,12 +586,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -602,12 +602,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -618,12 +618,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -634,12 +634,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -650,12 +650,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { @@ -666,12 +666,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { @@ -682,12 +682,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { @@ -698,12 +698,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { @@ -714,12 +714,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { @@ -730,12 +730,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { @@ -746,12 +746,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { @@ -762,12 +762,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { @@ -778,12 +778,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { @@ -794,12 +794,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { @@ -810,11 +810,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list - list_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48 , T49 & _49) + list_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) { return list( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp index 44f8963249..c355cd6338 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque10.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef deque<> type; }; } - BOOST_FUSION_GPU_ENABLED inline deque<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> make_deque() { return deque<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> - make_deque(T0 const& _0) + make_deque(T0 const& arg0) { return deque::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1) + make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,11 +181,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp index 693e1a59b0..2f09da5d58 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque20.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef deque<> type; }; } - BOOST_FUSION_GPU_ENABLED inline deque<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> make_deque() { return deque<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> - make_deque(T0 const& _0) + make_deque(T0 const& arg0) { return deque::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1) + make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,11 +341,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp index c2e7871519..1880f318a8 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque30.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef deque<> type; }; } - BOOST_FUSION_GPU_ENABLED inline deque<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> make_deque() { return deque<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> - make_deque(T0 const& _0) + make_deque(T0 const& arg0) { return deque::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1) + make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +341,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +357,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +373,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +389,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +405,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +421,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +437,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +453,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +469,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +485,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,11 +501,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp index a85aa36814..d957025ca0 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque40.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef deque<> type; }; } - BOOST_FUSION_GPU_ENABLED inline deque<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> make_deque() { return deque<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> - make_deque(T0 const& _0) + make_deque(T0 const& arg0) { return deque::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1) + make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +341,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +357,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +373,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +389,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +405,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +421,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +437,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +453,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +469,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +485,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,12 +501,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -516,12 +517,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -532,12 +533,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -548,12 +549,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -564,12 +565,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -580,12 +581,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -596,12 +597,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -612,12 +613,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -628,12 +629,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -644,12 +645,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -660,11 +661,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp index 2a83a1452b..45e40c8be7 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_deque50.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef deque<> type; }; } - BOOST_FUSION_GPU_ENABLED inline deque<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline deque<> make_deque() { return deque<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type> - make_deque(T0 const& _0) + make_deque(T0 const& arg0) { return deque::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1) + make_deque(T0 const& arg0 , T1 const& arg1) { return deque::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +341,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +357,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +373,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +389,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +405,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +421,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +437,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +453,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +469,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +485,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,12 +501,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -516,12 +517,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -532,12 +533,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -548,12 +549,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -564,12 +565,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -580,12 +581,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -596,12 +597,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -612,12 +613,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -628,12 +629,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -644,12 +645,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -660,12 +661,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { @@ -676,12 +677,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { @@ -692,12 +693,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { @@ -708,12 +709,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { @@ -724,12 +725,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { @@ -740,12 +741,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { @@ -756,12 +757,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { @@ -772,12 +773,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { @@ -788,12 +789,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { @@ -804,12 +805,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { @@ -820,11 +821,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_deque(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) + make_deque(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return deque::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp index 50cbce6932..afbc68cd32 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list10.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef list<> type; }; } - BOOST_FUSION_GPU_ENABLED inline list<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> make_list() { return list<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> - make_list(T0 const& _0) + make_list(T0 const& arg0) { return list::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1) + make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,11 +181,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp index 6a0da3a505..8e7363fe0e 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list20.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef list<> type; }; } - BOOST_FUSION_GPU_ENABLED inline list<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> make_list() { return list<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> - make_list(T0 const& _0) + make_list(T0 const& arg0) { return list::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1) + make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,11 +341,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp index b1bc97d23a..dfbb35f17c 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list30.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef list<> type; }; } - BOOST_FUSION_GPU_ENABLED inline list<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> make_list() { return list<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> - make_list(T0 const& _0) + make_list(T0 const& arg0) { return list::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1) + make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +341,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +357,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +373,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +389,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +405,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +421,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +437,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +453,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +469,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +485,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,11 +501,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp index 4db1de8466..159bab2155 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list40.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef list<> type; }; } - BOOST_FUSION_GPU_ENABLED inline list<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> make_list() { return list<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> - make_list(T0 const& _0) + make_list(T0 const& arg0) { return list::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1) + make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +341,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +357,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +373,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +389,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +405,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +421,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +437,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +453,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +469,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +485,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,12 +501,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -516,12 +517,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -532,12 +533,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -548,12 +549,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -564,12 +565,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -580,12 +581,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -596,12 +597,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -612,12 +613,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -628,12 +629,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -644,12 +645,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -660,11 +661,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp index c568dfe2e0..cf77330b47 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_list50.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef list<> type; }; } - BOOST_FUSION_GPU_ENABLED inline list<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list<> make_list() { return list<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type> - make_list(T0 const& _0) + make_list(T0 const& arg0) { return list::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1) + make_list(T0 const& arg0 , T1 const& arg1) { return list::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +341,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +357,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +373,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +389,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +405,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +421,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +437,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +453,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +469,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +485,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,12 +501,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -516,12 +517,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -532,12 +533,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -548,12 +549,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -564,12 +565,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -580,12 +581,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -596,12 +597,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -612,12 +613,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -628,12 +629,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -644,12 +645,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -660,12 +661,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { @@ -676,12 +677,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { @@ -692,12 +693,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { @@ -708,12 +709,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { @@ -724,12 +725,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { @@ -740,12 +741,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { @@ -756,12 +757,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { @@ -772,12 +773,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { @@ -788,12 +789,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { @@ -804,12 +805,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { @@ -820,11 +821,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_list(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) + make_list(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return list::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp index 61d05bf05a..f1da686e1a 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map10.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> make_map() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - make_map(D0 const& _0) + make_map(D0 const& arg0) { return map::type> >( - fusion::make_pair(_0)); + fusion::make_pair(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1) + make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1)); + fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { @@ -241,11 +242,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp index d706b65fc8..f7d765f108 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map20.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> make_map() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - make_map(D0 const& _0) + make_map(D0 const& arg0) { return map::type> >( - fusion::make_pair(_0)); + fusion::make_pair(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1) + make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1)); + fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { @@ -241,12 +242,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } namespace result_of { @@ -263,12 +264,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); } namespace result_of { @@ -285,12 +286,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); } namespace result_of { @@ -307,12 +308,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); } namespace result_of { @@ -329,12 +330,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); } namespace result_of { @@ -351,12 +352,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); } namespace result_of { @@ -373,12 +374,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); } namespace result_of { @@ -395,12 +396,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); } namespace result_of { @@ -417,12 +418,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); } namespace result_of { @@ -439,12 +440,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); } namespace result_of { @@ -461,11 +462,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp index 91f4f482f8..64dfe29b82 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map30.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> make_map() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - make_map(D0 const& _0) + make_map(D0 const& arg0) { return map::type> >( - fusion::make_pair(_0)); + fusion::make_pair(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1) + make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1)); + fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { @@ -241,12 +242,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } namespace result_of { @@ -263,12 +264,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); } namespace result_of { @@ -285,12 +286,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); } namespace result_of { @@ -307,12 +308,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); } namespace result_of { @@ -329,12 +330,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); } namespace result_of { @@ -351,12 +352,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); } namespace result_of { @@ -373,12 +374,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); } namespace result_of { @@ -395,12 +396,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); } namespace result_of { @@ -417,12 +418,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); } namespace result_of { @@ -439,12 +440,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); } namespace result_of { @@ -461,12 +462,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); } namespace result_of { @@ -483,12 +484,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); } namespace result_of { @@ -505,12 +506,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); } namespace result_of { @@ -527,12 +528,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); } namespace result_of { @@ -549,12 +550,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); } namespace result_of { @@ -571,12 +572,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); } namespace result_of { @@ -593,12 +594,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); } namespace result_of { @@ -615,12 +616,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); } namespace result_of { @@ -637,12 +638,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); } namespace result_of { @@ -659,12 +660,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); } namespace result_of { @@ -681,11 +682,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp index 1947140009..f424561f4b 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map40.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> make_map() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - make_map(D0 const& _0) + make_map(D0 const& arg0) { return map::type> >( - fusion::make_pair(_0)); + fusion::make_pair(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1) + make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1)); + fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { @@ -241,12 +242,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } namespace result_of { @@ -263,12 +264,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); } namespace result_of { @@ -285,12 +286,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); } namespace result_of { @@ -307,12 +308,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); } namespace result_of { @@ -329,12 +330,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); } namespace result_of { @@ -351,12 +352,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); } namespace result_of { @@ -373,12 +374,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); } namespace result_of { @@ -395,12 +396,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); } namespace result_of { @@ -417,12 +418,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); } namespace result_of { @@ -439,12 +440,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); } namespace result_of { @@ -461,12 +462,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); } namespace result_of { @@ -483,12 +484,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); } namespace result_of { @@ -505,12 +506,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); } namespace result_of { @@ -527,12 +528,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); } namespace result_of { @@ -549,12 +550,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); } namespace result_of { @@ -571,12 +572,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); } namespace result_of { @@ -593,12 +594,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); } namespace result_of { @@ -615,12 +616,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); } namespace result_of { @@ -637,12 +638,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); } namespace result_of { @@ -659,12 +660,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); } namespace result_of { @@ -681,12 +682,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); } namespace result_of { @@ -703,12 +704,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30)); } namespace result_of { @@ -725,12 +726,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31)); } namespace result_of { @@ -747,12 +748,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32)); } namespace result_of { @@ -769,12 +770,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33)); } namespace result_of { @@ -791,12 +792,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34)); } namespace result_of { @@ -813,12 +814,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35)); } namespace result_of { @@ -835,12 +836,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36)); } namespace result_of { @@ -857,12 +858,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37)); } namespace result_of { @@ -879,12 +880,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38)); } namespace result_of { @@ -901,11 +902,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp index f0fd8482a3..0f30e21112 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_map50.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> make_map() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - make_map(D0 const& _0) + make_map(D0 const& arg0) { return map::type> >( - fusion::make_pair(_0)); + fusion::make_pair(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1) + make_map(D0 const& arg0 , D1 const& arg1) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1)); + fusion::make_pair(arg0) , fusion::make_pair(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8)); } namespace result_of { @@ -241,12 +242,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9)); } namespace result_of { @@ -263,12 +264,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10)); } namespace result_of { @@ -285,12 +286,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11)); } namespace result_of { @@ -307,12 +308,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12)); } namespace result_of { @@ -329,12 +330,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13)); } namespace result_of { @@ -351,12 +352,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14)); } namespace result_of { @@ -373,12 +374,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15)); } namespace result_of { @@ -395,12 +396,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16)); } namespace result_of { @@ -417,12 +418,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17)); } namespace result_of { @@ -439,12 +440,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18)); } namespace result_of { @@ -461,12 +462,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19)); } namespace result_of { @@ -483,12 +484,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20)); } namespace result_of { @@ -505,12 +506,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21)); } namespace result_of { @@ -527,12 +528,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22)); } namespace result_of { @@ -549,12 +550,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23)); } namespace result_of { @@ -571,12 +572,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24)); } namespace result_of { @@ -593,12 +594,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25)); } namespace result_of { @@ -615,12 +616,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26)); } namespace result_of { @@ -637,12 +638,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27)); } namespace result_of { @@ -659,12 +660,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28)); } namespace result_of { @@ -681,12 +682,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29)); } namespace result_of { @@ -703,12 +704,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30)); } namespace result_of { @@ -725,12 +726,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31)); } namespace result_of { @@ -747,12 +748,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32)); } namespace result_of { @@ -769,12 +770,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33)); } namespace result_of { @@ -791,12 +792,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34)); } namespace result_of { @@ -813,12 +814,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35)); } namespace result_of { @@ -835,12 +836,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36)); } namespace result_of { @@ -857,12 +858,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37)); } namespace result_of { @@ -879,12 +880,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38)); } namespace result_of { @@ -901,12 +902,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39)); } namespace result_of { @@ -923,12 +924,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40)); } namespace result_of { @@ -945,12 +946,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41)); } namespace result_of { @@ -967,12 +968,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42)); } namespace result_of { @@ -989,12 +990,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43)); } namespace result_of { @@ -1011,12 +1012,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44)); } namespace result_of { @@ -1033,12 +1034,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45)); } namespace result_of { @@ -1055,12 +1056,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45 , D46 const& _46) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45) , fusion::make_pair(_46)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46)); } namespace result_of { @@ -1077,12 +1078,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45 , D46 const& _46 , D47 const& _47) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45) , fusion::make_pair(_46) , fusion::make_pair(_47)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47)); } namespace result_of { @@ -1099,12 +1100,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45 , D46 const& _46 , D47 const& _47 , D48 const& _48) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47 , D48 const& arg48) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45) , fusion::make_pair(_46) , fusion::make_pair(_47) , fusion::make_pair(_48)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47) , fusion::make_pair(arg48)); } namespace result_of { @@ -1121,11 +1122,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> > - make_map(D0 const& _0 , D1 const& _1 , D2 const& _2 , D3 const& _3 , D4 const& _4 , D5 const& _5 , D6 const& _6 , D7 const& _7 , D8 const& _8 , D9 const& _9 , D10 const& _10 , D11 const& _11 , D12 const& _12 , D13 const& _13 , D14 const& _14 , D15 const& _15 , D16 const& _16 , D17 const& _17 , D18 const& _18 , D19 const& _19 , D20 const& _20 , D21 const& _21 , D22 const& _22 , D23 const& _23 , D24 const& _24 , D25 const& _25 , D26 const& _26 , D27 const& _27 , D28 const& _28 , D29 const& _29 , D30 const& _30 , D31 const& _31 , D32 const& _32 , D33 const& _33 , D34 const& _34 , D35 const& _35 , D36 const& _36 , D37 const& _37 , D38 const& _38 , D39 const& _39 , D40 const& _40 , D41 const& _41 , D42 const& _42 , D43 const& _43 , D44 const& _44 , D45 const& _45 , D46 const& _46 , D47 const& _47 , D48 const& _48 , D49 const& _49) + make_map(D0 const& arg0 , D1 const& arg1 , D2 const& arg2 , D3 const& arg3 , D4 const& arg4 , D5 const& arg5 , D6 const& arg6 , D7 const& arg7 , D8 const& arg8 , D9 const& arg9 , D10 const& arg10 , D11 const& arg11 , D12 const& arg12 , D13 const& arg13 , D14 const& arg14 , D15 const& arg15 , D16 const& arg16 , D17 const& arg17 , D18 const& arg18 , D19 const& arg19 , D20 const& arg20 , D21 const& arg21 , D22 const& arg22 , D23 const& arg23 , D24 const& arg24 , D25 const& arg25 , D26 const& arg26 , D27 const& arg27 , D28 const& arg28 , D29 const& arg29 , D30 const& arg30 , D31 const& arg31 , D32 const& arg32 , D33 const& arg33 , D34 const& arg34 , D35 const& arg35 , D36 const& arg36 , D37 const& arg37 , D38 const& arg38 , D39 const& arg39 , D40 const& arg40 , D41 const& arg41 , D42 const& arg42 , D43 const& arg43 , D44 const& arg44 , D45 const& arg45 , D46 const& arg46 , D47 const& arg47 , D48 const& arg48 , D49 const& arg49) { return map::type> , fusion::pair< K1 , typename detail::as_fusion_element::type> , fusion::pair< K2 , typename detail::as_fusion_element::type> , fusion::pair< K3 , typename detail::as_fusion_element::type> , fusion::pair< K4 , typename detail::as_fusion_element::type> , fusion::pair< K5 , typename detail::as_fusion_element::type> , fusion::pair< K6 , typename detail::as_fusion_element::type> , fusion::pair< K7 , typename detail::as_fusion_element::type> , fusion::pair< K8 , typename detail::as_fusion_element::type> , fusion::pair< K9 , typename detail::as_fusion_element::type> , fusion::pair< K10 , typename detail::as_fusion_element::type> , fusion::pair< K11 , typename detail::as_fusion_element::type> , fusion::pair< K12 , typename detail::as_fusion_element::type> , fusion::pair< K13 , typename detail::as_fusion_element::type> , fusion::pair< K14 , typename detail::as_fusion_element::type> , fusion::pair< K15 , typename detail::as_fusion_element::type> , fusion::pair< K16 , typename detail::as_fusion_element::type> , fusion::pair< K17 , typename detail::as_fusion_element::type> , fusion::pair< K18 , typename detail::as_fusion_element::type> , fusion::pair< K19 , typename detail::as_fusion_element::type> , fusion::pair< K20 , typename detail::as_fusion_element::type> , fusion::pair< K21 , typename detail::as_fusion_element::type> , fusion::pair< K22 , typename detail::as_fusion_element::type> , fusion::pair< K23 , typename detail::as_fusion_element::type> , fusion::pair< K24 , typename detail::as_fusion_element::type> , fusion::pair< K25 , typename detail::as_fusion_element::type> , fusion::pair< K26 , typename detail::as_fusion_element::type> , fusion::pair< K27 , typename detail::as_fusion_element::type> , fusion::pair< K28 , typename detail::as_fusion_element::type> , fusion::pair< K29 , typename detail::as_fusion_element::type> , fusion::pair< K30 , typename detail::as_fusion_element::type> , fusion::pair< K31 , typename detail::as_fusion_element::type> , fusion::pair< K32 , typename detail::as_fusion_element::type> , fusion::pair< K33 , typename detail::as_fusion_element::type> , fusion::pair< K34 , typename detail::as_fusion_element::type> , fusion::pair< K35 , typename detail::as_fusion_element::type> , fusion::pair< K36 , typename detail::as_fusion_element::type> , fusion::pair< K37 , typename detail::as_fusion_element::type> , fusion::pair< K38 , typename detail::as_fusion_element::type> , fusion::pair< K39 , typename detail::as_fusion_element::type> , fusion::pair< K40 , typename detail::as_fusion_element::type> , fusion::pair< K41 , typename detail::as_fusion_element::type> , fusion::pair< K42 , typename detail::as_fusion_element::type> , fusion::pair< K43 , typename detail::as_fusion_element::type> , fusion::pair< K44 , typename detail::as_fusion_element::type> , fusion::pair< K45 , typename detail::as_fusion_element::type> , fusion::pair< K46 , typename detail::as_fusion_element::type> , fusion::pair< K47 , typename detail::as_fusion_element::type> , fusion::pair< K48 , typename detail::as_fusion_element::type> , fusion::pair< K49 , typename detail::as_fusion_element::type> >( - fusion::make_pair(_0) , fusion::make_pair(_1) , fusion::make_pair(_2) , fusion::make_pair(_3) , fusion::make_pair(_4) , fusion::make_pair(_5) , fusion::make_pair(_6) , fusion::make_pair(_7) , fusion::make_pair(_8) , fusion::make_pair(_9) , fusion::make_pair(_10) , fusion::make_pair(_11) , fusion::make_pair(_12) , fusion::make_pair(_13) , fusion::make_pair(_14) , fusion::make_pair(_15) , fusion::make_pair(_16) , fusion::make_pair(_17) , fusion::make_pair(_18) , fusion::make_pair(_19) , fusion::make_pair(_20) , fusion::make_pair(_21) , fusion::make_pair(_22) , fusion::make_pair(_23) , fusion::make_pair(_24) , fusion::make_pair(_25) , fusion::make_pair(_26) , fusion::make_pair(_27) , fusion::make_pair(_28) , fusion::make_pair(_29) , fusion::make_pair(_30) , fusion::make_pair(_31) , fusion::make_pair(_32) , fusion::make_pair(_33) , fusion::make_pair(_34) , fusion::make_pair(_35) , fusion::make_pair(_36) , fusion::make_pair(_37) , fusion::make_pair(_38) , fusion::make_pair(_39) , fusion::make_pair(_40) , fusion::make_pair(_41) , fusion::make_pair(_42) , fusion::make_pair(_43) , fusion::make_pair(_44) , fusion::make_pair(_45) , fusion::make_pair(_46) , fusion::make_pair(_47) , fusion::make_pair(_48) , fusion::make_pair(_49)); + fusion::make_pair(arg0) , fusion::make_pair(arg1) , fusion::make_pair(arg2) , fusion::make_pair(arg3) , fusion::make_pair(arg4) , fusion::make_pair(arg5) , fusion::make_pair(arg6) , fusion::make_pair(arg7) , fusion::make_pair(arg8) , fusion::make_pair(arg9) , fusion::make_pair(arg10) , fusion::make_pair(arg11) , fusion::make_pair(arg12) , fusion::make_pair(arg13) , fusion::make_pair(arg14) , fusion::make_pair(arg15) , fusion::make_pair(arg16) , fusion::make_pair(arg17) , fusion::make_pair(arg18) , fusion::make_pair(arg19) , fusion::make_pair(arg20) , fusion::make_pair(arg21) , fusion::make_pair(arg22) , fusion::make_pair(arg23) , fusion::make_pair(arg24) , fusion::make_pair(arg25) , fusion::make_pair(arg26) , fusion::make_pair(arg27) , fusion::make_pair(arg28) , fusion::make_pair(arg29) , fusion::make_pair(arg30) , fusion::make_pair(arg31) , fusion::make_pair(arg32) , fusion::make_pair(arg33) , fusion::make_pair(arg34) , fusion::make_pair(arg35) , fusion::make_pair(arg36) , fusion::make_pair(arg37) , fusion::make_pair(arg38) , fusion::make_pair(arg39) , fusion::make_pair(arg40) , fusion::make_pair(arg41) , fusion::make_pair(arg42) , fusion::make_pair(arg43) , fusion::make_pair(arg44) , fusion::make_pair(arg45) , fusion::make_pair(arg46) , fusion::make_pair(arg47) , fusion::make_pair(arg48) , fusion::make_pair(arg49)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp index aed7574c12..7632a940dc 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set10.hpp @@ -22,7 +22,14 @@ namespace boost { namespace fusion typedef set<> type; }; } - BOOST_FUSION_GPU_ENABLED inline set<> + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> make_set() { return set<>(); @@ -36,12 +43,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> - make_set(T0 const& _0) + make_set(T0 const& arg0) { return set::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +59,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1) + make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +75,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +91,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +107,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +123,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +139,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +155,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +171,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,11 +187,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp index 6e1db0d0d1..80bf6c4c9d 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set20.hpp @@ -22,7 +22,14 @@ namespace boost { namespace fusion typedef set<> type; }; } - BOOST_FUSION_GPU_ENABLED inline set<> + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> make_set() { return set<>(); @@ -36,12 +43,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> - make_set(T0 const& _0) + make_set(T0 const& arg0) { return set::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +59,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1) + make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +75,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +91,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +107,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +123,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +139,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +155,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +171,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +187,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +203,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +219,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +235,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +251,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +267,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +283,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +299,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +315,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +331,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,11 +347,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp index 951c9abfaa..e4cfc058ec 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set30.hpp @@ -22,7 +22,14 @@ namespace boost { namespace fusion typedef set<> type; }; } - BOOST_FUSION_GPU_ENABLED inline set<> + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> make_set() { return set<>(); @@ -36,12 +43,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> - make_set(T0 const& _0) + make_set(T0 const& arg0) { return set::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +59,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1) + make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +75,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +91,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +107,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +123,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +139,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +155,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +171,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +187,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +203,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +219,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +235,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +251,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +267,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +283,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +299,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +315,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +331,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +347,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +363,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +379,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +395,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +411,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +427,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +443,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +459,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +475,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +491,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,11 +507,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp index c2246e225c..6b9498f7a9 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set40.hpp @@ -22,7 +22,14 @@ namespace boost { namespace fusion typedef set<> type; }; } - BOOST_FUSION_GPU_ENABLED inline set<> + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> make_set() { return set<>(); @@ -36,12 +43,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> - make_set(T0 const& _0) + make_set(T0 const& arg0) { return set::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +59,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1) + make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +75,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +91,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +107,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +123,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +139,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +155,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +171,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +187,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +203,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +219,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +235,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +251,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +267,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +283,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +299,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +315,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +331,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +347,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +363,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +379,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +395,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +411,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +427,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +443,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +459,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +475,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +491,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,12 +507,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -516,12 +523,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -532,12 +539,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -548,12 +555,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -564,12 +571,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -580,12 +587,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -596,12 +603,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -612,12 +619,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -628,12 +635,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -644,12 +651,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -660,11 +667,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp index c23dfcf9f2..d32b11743c 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_set50.hpp @@ -22,7 +22,14 @@ namespace boost { namespace fusion typedef set<> type; }; } - BOOST_FUSION_GPU_ENABLED inline set<> + +# if defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# else + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + inline set<> make_set() { return set<>(); @@ -36,12 +43,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type> - make_set(T0 const& _0) + make_set(T0 const& arg0) { return set::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +59,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1) + make_set(T0 const& arg0 , T1 const& arg1) { return set::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +75,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +91,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +107,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +123,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +139,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +155,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +171,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +187,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +203,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +219,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +235,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +251,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +267,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +283,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +299,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +315,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +331,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +347,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +363,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +379,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +395,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +411,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +427,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +443,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +459,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +475,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +491,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,12 +507,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -516,12 +523,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -532,12 +539,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -548,12 +555,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -564,12 +571,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -580,12 +587,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -596,12 +603,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -612,12 +619,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -628,12 +635,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -644,12 +651,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -660,12 +667,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { @@ -676,12 +683,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { @@ -692,12 +699,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { @@ -708,12 +715,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { @@ -724,12 +731,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { @@ -740,12 +747,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { @@ -756,12 +763,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { @@ -772,12 +779,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { @@ -788,12 +795,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { @@ -804,12 +811,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { @@ -820,11 +827,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_set(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) + make_set(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return set::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp index dbd7019c3f..c38c78f03c 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector10.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef vector0<> type; }; } - BOOST_FUSION_GPU_ENABLED inline vector0<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> make_vector() { return vector0<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> - make_vector(T0 const& _0) + make_vector(T0 const& arg0) { return vector1::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1) + make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,11 +181,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp index c889232d00..37e304877d 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector20.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef vector0<> type; }; } - BOOST_FUSION_GPU_ENABLED inline vector0<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> make_vector() { return vector0<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> - make_vector(T0 const& _0) + make_vector(T0 const& arg0) { return vector1::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1) + make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,11 +341,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp index 8784e7e572..d63fd0908e 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector30.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef vector0<> type; }; } - BOOST_FUSION_GPU_ENABLED inline vector0<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> make_vector() { return vector0<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> - make_vector(T0 const& _0) + make_vector(T0 const& arg0) { return vector1::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1) + make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +341,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +357,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +373,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +389,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +405,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +421,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +437,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +453,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +469,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +485,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,11 +501,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp index 59e991e8ea..491de951f1 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector40.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef vector0<> type; }; } - BOOST_FUSION_GPU_ENABLED inline vector0<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> make_vector() { return vector0<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> - make_vector(T0 const& _0) + make_vector(T0 const& arg0) { return vector1::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1) + make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +341,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +357,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +373,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +389,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +405,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +421,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +437,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +453,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +469,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +485,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,12 +501,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -516,12 +517,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -532,12 +533,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -548,12 +549,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -564,12 +565,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -580,12 +581,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -596,12 +597,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -612,12 +613,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -628,12 +629,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -644,12 +645,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -660,11 +661,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp index cab2c79805..d9074df316 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/make_vector50.hpp @@ -22,7 +22,8 @@ namespace boost { namespace fusion typedef vector0<> type; }; } - BOOST_FUSION_GPU_ENABLED inline vector0<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline vector0<> make_vector() { return vector0<>(); @@ -36,12 +37,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector1::type> - make_vector(T0 const& _0) + make_vector(T0 const& arg0) { return vector1::type>( - _0); + arg0); } namespace result_of { @@ -52,12 +53,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector2::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1) + make_vector(T0 const& arg0 , T1 const& arg1) { return vector2::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -68,12 +69,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return vector3::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -84,12 +85,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return vector4::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -100,12 +101,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return vector5::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -116,12 +117,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return vector6::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -132,12 +133,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return vector7::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -148,12 +149,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return vector8::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -164,12 +165,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return vector9::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -180,12 +181,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return vector10::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -196,12 +197,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return vector11::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -212,12 +213,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return vector12::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -228,12 +229,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return vector13::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -244,12 +245,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return vector14::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -260,12 +261,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return vector15::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -276,12 +277,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return vector16::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -292,12 +293,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return vector17::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -308,12 +309,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return vector18::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -324,12 +325,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return vector19::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -340,12 +341,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return vector20::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -356,12 +357,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return vector21::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -372,12 +373,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return vector22::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -388,12 +389,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return vector23::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -404,12 +405,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return vector24::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -420,12 +421,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return vector25::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -436,12 +437,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return vector26::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -452,12 +453,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return vector27::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -468,12 +469,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return vector28::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -484,12 +485,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return vector29::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -500,12 +501,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return vector30::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -516,12 +517,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return vector31::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -532,12 +533,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return vector32::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -548,12 +549,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return vector33::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -564,12 +565,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return vector34::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -580,12 +581,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return vector35::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -596,12 +597,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return vector36::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -612,12 +613,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return vector37::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -628,12 +629,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return vector38::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -644,12 +645,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return vector39::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -660,12 +661,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return vector40::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { @@ -676,12 +677,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return vector41::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { @@ -692,12 +693,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return vector42::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { @@ -708,12 +709,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return vector43::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { @@ -724,12 +725,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return vector44::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { @@ -740,12 +741,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return vector45::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { @@ -756,12 +757,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return vector46::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { @@ -772,12 +773,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return vector47::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { @@ -788,12 +789,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return vector48::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { @@ -804,12 +805,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return vector49::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { @@ -820,11 +821,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_vector(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) + make_vector(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return vector50::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp index 195b4146f0..2bd38de9fa 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie10.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> map_tie() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - map_tie(D0 & _0) + map_tie(D0 & arg0) { return map::type> >( - fusion::pair_tie(_0)); + fusion::pair_tie(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1) + map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { @@ -241,11 +242,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp index a607a2dabc..db8f7af6fa 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie20.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> map_tie() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - map_tie(D0 & _0) + map_tie(D0 & arg0) { return map::type> >( - fusion::pair_tie(_0)); + fusion::pair_tie(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1) + map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { @@ -241,12 +242,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } namespace result_of { @@ -263,12 +264,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); } namespace result_of { @@ -285,12 +286,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); } namespace result_of { @@ -307,12 +308,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); } namespace result_of { @@ -329,12 +330,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); } namespace result_of { @@ -351,12 +352,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); } namespace result_of { @@ -373,12 +374,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); } namespace result_of { @@ -395,12 +396,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); } namespace result_of { @@ -417,12 +418,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); } namespace result_of { @@ -439,12 +440,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); } namespace result_of { @@ -461,11 +462,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp index 911ab8ed64..b9b0e8de87 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie30.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> map_tie() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - map_tie(D0 & _0) + map_tie(D0 & arg0) { return map::type> >( - fusion::pair_tie(_0)); + fusion::pair_tie(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1) + map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { @@ -241,12 +242,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } namespace result_of { @@ -263,12 +264,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); } namespace result_of { @@ -285,12 +286,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); } namespace result_of { @@ -307,12 +308,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); } namespace result_of { @@ -329,12 +330,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); } namespace result_of { @@ -351,12 +352,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); } namespace result_of { @@ -373,12 +374,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); } namespace result_of { @@ -395,12 +396,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); } namespace result_of { @@ -417,12 +418,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); } namespace result_of { @@ -439,12 +440,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); } namespace result_of { @@ -461,12 +462,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); } namespace result_of { @@ -483,12 +484,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); } namespace result_of { @@ -505,12 +506,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); } namespace result_of { @@ -527,12 +528,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); } namespace result_of { @@ -549,12 +550,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); } namespace result_of { @@ -571,12 +572,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); } namespace result_of { @@ -593,12 +594,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); } namespace result_of { @@ -615,12 +616,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); } namespace result_of { @@ -637,12 +638,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); } namespace result_of { @@ -659,12 +660,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); } namespace result_of { @@ -681,11 +682,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp index 05aba22b4f..2ab7916e68 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie40.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> map_tie() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - map_tie(D0 & _0) + map_tie(D0 & arg0) { return map::type> >( - fusion::pair_tie(_0)); + fusion::pair_tie(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1) + map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { @@ -241,12 +242,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } namespace result_of { @@ -263,12 +264,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); } namespace result_of { @@ -285,12 +286,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); } namespace result_of { @@ -307,12 +308,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); } namespace result_of { @@ -329,12 +330,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); } namespace result_of { @@ -351,12 +352,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); } namespace result_of { @@ -373,12 +374,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); } namespace result_of { @@ -395,12 +396,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); } namespace result_of { @@ -417,12 +418,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); } namespace result_of { @@ -439,12 +440,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); } namespace result_of { @@ -461,12 +462,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); } namespace result_of { @@ -483,12 +484,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); } namespace result_of { @@ -505,12 +506,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); } namespace result_of { @@ -527,12 +528,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); } namespace result_of { @@ -549,12 +550,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); } namespace result_of { @@ -571,12 +572,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); } namespace result_of { @@ -593,12 +594,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); } namespace result_of { @@ -615,12 +616,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); } namespace result_of { @@ -637,12 +638,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); } namespace result_of { @@ -659,12 +660,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); } namespace result_of { @@ -681,12 +682,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); } namespace result_of { @@ -703,12 +704,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30)); } namespace result_of { @@ -725,12 +726,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31)); } namespace result_of { @@ -747,12 +748,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32)); } namespace result_of { @@ -769,12 +770,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33)); } namespace result_of { @@ -791,12 +792,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34)); } namespace result_of { @@ -813,12 +814,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35)); } namespace result_of { @@ -835,12 +836,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36)); } namespace result_of { @@ -857,12 +858,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37)); } namespace result_of { @@ -879,12 +880,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38)); } namespace result_of { @@ -901,11 +902,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp index cb42fa7736..6ce5389104 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/map_tie50.hpp @@ -23,7 +23,8 @@ namespace boost { namespace fusion typedef map<> type; }; } - BOOST_FUSION_GPU_ENABLED inline map<> + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline map<> map_tie() { return map<>(); @@ -43,12 +44,12 @@ namespace boost { namespace fusion typename K0 , typename D0 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> > - map_tie(D0 & _0) + map_tie(D0 & arg0) { return map::type> >( - fusion::pair_tie(_0)); + fusion::pair_tie(arg0)); } namespace result_of { @@ -65,12 +66,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename D0 , typename D1 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1) + map_tie(D0 & arg0 , D1 & arg1) { return map::type> , fusion::pair< K1 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1)); } namespace result_of { @@ -87,12 +88,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename D0 , typename D1 , typename D2 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2)); } namespace result_of { @@ -109,12 +110,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename D0 , typename D1 , typename D2 , typename D3 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3)); } namespace result_of { @@ -131,12 +132,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4)); } namespace result_of { @@ -153,12 +154,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5)); } namespace result_of { @@ -175,12 +176,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6)); } namespace result_of { @@ -197,12 +198,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7)); } namespace result_of { @@ -219,12 +220,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8)); } namespace result_of { @@ -241,12 +242,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9)); } namespace result_of { @@ -263,12 +264,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10)); } namespace result_of { @@ -285,12 +286,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11)); } namespace result_of { @@ -307,12 +308,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12)); } namespace result_of { @@ -329,12 +330,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13)); } namespace result_of { @@ -351,12 +352,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14)); } namespace result_of { @@ -373,12 +374,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15)); } namespace result_of { @@ -395,12 +396,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16)); } namespace result_of { @@ -417,12 +418,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17)); } namespace result_of { @@ -439,12 +440,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18)); } namespace result_of { @@ -461,12 +462,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19)); } namespace result_of { @@ -483,12 +484,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20)); } namespace result_of { @@ -505,12 +506,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21)); } namespace result_of { @@ -527,12 +528,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22)); } namespace result_of { @@ -549,12 +550,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23)); } namespace result_of { @@ -571,12 +572,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24)); } namespace result_of { @@ -593,12 +594,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25)); } namespace result_of { @@ -615,12 +616,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26)); } namespace result_of { @@ -637,12 +638,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27)); } namespace result_of { @@ -659,12 +660,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28)); } namespace result_of { @@ -681,12 +682,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29)); } namespace result_of { @@ -703,12 +704,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30)); } namespace result_of { @@ -725,12 +726,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31)); } namespace result_of { @@ -747,12 +748,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32)); } namespace result_of { @@ -769,12 +770,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33)); } namespace result_of { @@ -791,12 +792,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34)); } namespace result_of { @@ -813,12 +814,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35)); } namespace result_of { @@ -835,12 +836,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36)); } namespace result_of { @@ -857,12 +858,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37)); } namespace result_of { @@ -879,12 +880,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38)); } namespace result_of { @@ -901,12 +902,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39)); } namespace result_of { @@ -923,12 +924,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40)); } namespace result_of { @@ -945,12 +946,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41)); } namespace result_of { @@ -967,12 +968,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42)); } namespace result_of { @@ -989,12 +990,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43)); } namespace result_of { @@ -1011,12 +1012,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44)); } namespace result_of { @@ -1033,12 +1034,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45)); } namespace result_of { @@ -1055,12 +1056,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45 , D46 & _46) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45) , fusion::pair_tie(_46)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46)); } namespace result_of { @@ -1077,12 +1078,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45 , D46 & _46 , D47 & _47) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45) , fusion::pair_tie(_46) , fusion::pair_tie(_47)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47)); } namespace result_of { @@ -1099,12 +1100,12 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45 , D46 & _46 , D47 & _47 , D48 & _48) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47 , D48 & arg48) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45) , fusion::pair_tie(_46) , fusion::pair_tie(_47) , fusion::pair_tie(_48)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47) , fusion::pair_tie(arg48)); } namespace result_of { @@ -1121,11 +1122,11 @@ namespace boost { namespace fusion typename K0 , typename K1 , typename K2 , typename K3 , typename K4 , typename K5 , typename K6 , typename K7 , typename K8 , typename K9 , typename K10 , typename K11 , typename K12 , typename K13 , typename K14 , typename K15 , typename K16 , typename K17 , typename K18 , typename K19 , typename K20 , typename K21 , typename K22 , typename K23 , typename K24 , typename K25 , typename K26 , typename K27 , typename K28 , typename K29 , typename K30 , typename K31 , typename K32 , typename K33 , typename K34 , typename K35 , typename K36 , typename K37 , typename K38 , typename K39 , typename K40 , typename K41 , typename K42 , typename K43 , typename K44 , typename K45 , typename K46 , typename K47 , typename K48 , typename K49 , typename D0 , typename D1 , typename D2 , typename D3 , typename D4 , typename D5 , typename D6 , typename D7 , typename D8 , typename D9 , typename D10 , typename D11 , typename D12 , typename D13 , typename D14 , typename D15 , typename D16 , typename D17 , typename D18 , typename D19 , typename D20 , typename D21 , typename D22 , typename D23 , typename D24 , typename D25 , typename D26 , typename D27 , typename D28 , typename D29 , typename D30 , typename D31 , typename D32 , typename D33 , typename D34 , typename D35 , typename D36 , typename D37 , typename D38 , typename D39 , typename D40 , typename D41 , typename D42 , typename D43 , typename D44 , typename D45 , typename D46 , typename D47 , typename D48 , typename D49 > - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> > - map_tie(D0 & _0 , D1 & _1 , D2 & _2 , D3 & _3 , D4 & _4 , D5 & _5 , D6 & _6 , D7 & _7 , D8 & _8 , D9 & _9 , D10 & _10 , D11 & _11 , D12 & _12 , D13 & _13 , D14 & _14 , D15 & _15 , D16 & _16 , D17 & _17 , D18 & _18 , D19 & _19 , D20 & _20 , D21 & _21 , D22 & _22 , D23 & _23 , D24 & _24 , D25 & _25 , D26 & _26 , D27 & _27 , D28 & _28 , D29 & _29 , D30 & _30 , D31 & _31 , D32 & _32 , D33 & _33 , D34 & _34 , D35 & _35 , D36 & _36 , D37 & _37 , D38 & _38 , D39 & _39 , D40 & _40 , D41 & _41 , D42 & _42 , D43 & _43 , D44 & _44 , D45 & _45 , D46 & _46 , D47 & _47 , D48 & _48 , D49 & _49) + map_tie(D0 & arg0 , D1 & arg1 , D2 & arg2 , D3 & arg3 , D4 & arg4 , D5 & arg5 , D6 & arg6 , D7 & arg7 , D8 & arg8 , D9 & arg9 , D10 & arg10 , D11 & arg11 , D12 & arg12 , D13 & arg13 , D14 & arg14 , D15 & arg15 , D16 & arg16 , D17 & arg17 , D18 & arg18 , D19 & arg19 , D20 & arg20 , D21 & arg21 , D22 & arg22 , D23 & arg23 , D24 & arg24 , D25 & arg25 , D26 & arg26 , D27 & arg27 , D28 & arg28 , D29 & arg29 , D30 & arg30 , D31 & arg31 , D32 & arg32 , D33 & arg33 , D34 & arg34 , D35 & arg35 , D36 & arg36 , D37 & arg37 , D38 & arg38 , D39 & arg39 , D40 & arg40 , D41 & arg41 , D42 & arg42 , D43 & arg43 , D44 & arg44 , D45 & arg45 , D46 & arg46 , D47 & arg47 , D48 & arg48 , D49 & arg49) { return map::type> , fusion::pair< K1 , typename add_reference::type> , fusion::pair< K2 , typename add_reference::type> , fusion::pair< K3 , typename add_reference::type> , fusion::pair< K4 , typename add_reference::type> , fusion::pair< K5 , typename add_reference::type> , fusion::pair< K6 , typename add_reference::type> , fusion::pair< K7 , typename add_reference::type> , fusion::pair< K8 , typename add_reference::type> , fusion::pair< K9 , typename add_reference::type> , fusion::pair< K10 , typename add_reference::type> , fusion::pair< K11 , typename add_reference::type> , fusion::pair< K12 , typename add_reference::type> , fusion::pair< K13 , typename add_reference::type> , fusion::pair< K14 , typename add_reference::type> , fusion::pair< K15 , typename add_reference::type> , fusion::pair< K16 , typename add_reference::type> , fusion::pair< K17 , typename add_reference::type> , fusion::pair< K18 , typename add_reference::type> , fusion::pair< K19 , typename add_reference::type> , fusion::pair< K20 , typename add_reference::type> , fusion::pair< K21 , typename add_reference::type> , fusion::pair< K22 , typename add_reference::type> , fusion::pair< K23 , typename add_reference::type> , fusion::pair< K24 , typename add_reference::type> , fusion::pair< K25 , typename add_reference::type> , fusion::pair< K26 , typename add_reference::type> , fusion::pair< K27 , typename add_reference::type> , fusion::pair< K28 , typename add_reference::type> , fusion::pair< K29 , typename add_reference::type> , fusion::pair< K30 , typename add_reference::type> , fusion::pair< K31 , typename add_reference::type> , fusion::pair< K32 , typename add_reference::type> , fusion::pair< K33 , typename add_reference::type> , fusion::pair< K34 , typename add_reference::type> , fusion::pair< K35 , typename add_reference::type> , fusion::pair< K36 , typename add_reference::type> , fusion::pair< K37 , typename add_reference::type> , fusion::pair< K38 , typename add_reference::type> , fusion::pair< K39 , typename add_reference::type> , fusion::pair< K40 , typename add_reference::type> , fusion::pair< K41 , typename add_reference::type> , fusion::pair< K42 , typename add_reference::type> , fusion::pair< K43 , typename add_reference::type> , fusion::pair< K44 , typename add_reference::type> , fusion::pair< K45 , typename add_reference::type> , fusion::pair< K46 , typename add_reference::type> , fusion::pair< K47 , typename add_reference::type> , fusion::pair< K48 , typename add_reference::type> , fusion::pair< K49 , typename add_reference::type> >( - fusion::pair_tie(_0) , fusion::pair_tie(_1) , fusion::pair_tie(_2) , fusion::pair_tie(_3) , fusion::pair_tie(_4) , fusion::pair_tie(_5) , fusion::pair_tie(_6) , fusion::pair_tie(_7) , fusion::pair_tie(_8) , fusion::pair_tie(_9) , fusion::pair_tie(_10) , fusion::pair_tie(_11) , fusion::pair_tie(_12) , fusion::pair_tie(_13) , fusion::pair_tie(_14) , fusion::pair_tie(_15) , fusion::pair_tie(_16) , fusion::pair_tie(_17) , fusion::pair_tie(_18) , fusion::pair_tie(_19) , fusion::pair_tie(_20) , fusion::pair_tie(_21) , fusion::pair_tie(_22) , fusion::pair_tie(_23) , fusion::pair_tie(_24) , fusion::pair_tie(_25) , fusion::pair_tie(_26) , fusion::pair_tie(_27) , fusion::pair_tie(_28) , fusion::pair_tie(_29) , fusion::pair_tie(_30) , fusion::pair_tie(_31) , fusion::pair_tie(_32) , fusion::pair_tie(_33) , fusion::pair_tie(_34) , fusion::pair_tie(_35) , fusion::pair_tie(_36) , fusion::pair_tie(_37) , fusion::pair_tie(_38) , fusion::pair_tie(_39) , fusion::pair_tie(_40) , fusion::pair_tie(_41) , fusion::pair_tie(_42) , fusion::pair_tie(_43) , fusion::pair_tie(_44) , fusion::pair_tie(_45) , fusion::pair_tie(_46) , fusion::pair_tie(_47) , fusion::pair_tie(_48) , fusion::pair_tie(_49)); + fusion::pair_tie(arg0) , fusion::pair_tie(arg1) , fusion::pair_tie(arg2) , fusion::pair_tie(arg3) , fusion::pair_tie(arg4) , fusion::pair_tie(arg5) , fusion::pair_tie(arg6) , fusion::pair_tie(arg7) , fusion::pair_tie(arg8) , fusion::pair_tie(arg9) , fusion::pair_tie(arg10) , fusion::pair_tie(arg11) , fusion::pair_tie(arg12) , fusion::pair_tie(arg13) , fusion::pair_tie(arg14) , fusion::pair_tie(arg15) , fusion::pair_tie(arg16) , fusion::pair_tie(arg17) , fusion::pair_tie(arg18) , fusion::pair_tie(arg19) , fusion::pair_tie(arg20) , fusion::pair_tie(arg21) , fusion::pair_tie(arg22) , fusion::pair_tie(arg23) , fusion::pair_tie(arg24) , fusion::pair_tie(arg25) , fusion::pair_tie(arg26) , fusion::pair_tie(arg27) , fusion::pair_tie(arg28) , fusion::pair_tie(arg29) , fusion::pair_tie(arg30) , fusion::pair_tie(arg31) , fusion::pair_tie(arg32) , fusion::pair_tie(arg33) , fusion::pair_tie(arg34) , fusion::pair_tie(arg35) , fusion::pair_tie(arg36) , fusion::pair_tie(arg37) , fusion::pair_tie(arg38) , fusion::pair_tie(arg39) , fusion::pair_tie(arg40) , fusion::pair_tie(arg41) , fusion::pair_tie(arg42) , fusion::pair_tie(arg43) , fusion::pair_tie(arg44) , fusion::pair_tie(arg45) , fusion::pair_tie(arg46) , fusion::pair_tie(arg47) , fusion::pair_tie(arg48) , fusion::pair_tie(arg49)); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp index b68108b37a..dc9d8261c3 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie10.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0) + vector_tie(T0 & arg0) { return vector( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1) + vector_tie(T0 & arg0 , T1 & arg1) { return vector( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,11 +170,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp index 6dd8741623..1a88383112 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie20.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0) + vector_tie(T0 & arg0) { return vector( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1) + vector_tie(T0 & arg0 , T1 & arg1) { return vector( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,11 +330,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp index e81978e8e9..f964e97b98 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie30.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0) + vector_tie(T0 & arg0) { return vector( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1) + vector_tie(T0 & arg0 , T1 & arg1) { return vector( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,12 +330,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -346,12 +346,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -362,12 +362,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -378,12 +378,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -394,12 +394,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -410,12 +410,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -426,12 +426,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -442,12 +442,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -458,12 +458,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -474,12 +474,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -490,11 +490,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp index d3725eb94e..193018d361 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie40.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0) + vector_tie(T0 & arg0) { return vector( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1) + vector_tie(T0 & arg0 , T1 & arg1) { return vector( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,12 +330,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -346,12 +346,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -362,12 +362,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -378,12 +378,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -394,12 +394,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -410,12 +410,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -426,12 +426,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -442,12 +442,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -458,12 +458,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -474,12 +474,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -490,12 +490,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -506,12 +506,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -522,12 +522,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -538,12 +538,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -554,12 +554,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -570,12 +570,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -586,12 +586,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -602,12 +602,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -618,12 +618,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -634,12 +634,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -650,11 +650,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} diff --git a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp index ad4f119aac..91c9b115ae 100644 --- a/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp +++ b/3party/boost/boost/fusion/container/generation/detail/preprocessed/vector_tie50.hpp @@ -26,12 +26,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0) + vector_tie(T0 & arg0) { return vector( - _0); + arg0); } namespace result_of { @@ -42,12 +42,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1) + vector_tie(T0 & arg0 , T1 & arg1) { return vector( - _0 , _1); + arg0 , arg1); } namespace result_of { @@ -58,12 +58,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return vector( - _0 , _1 , _2); + arg0 , arg1 , arg2); } namespace result_of { @@ -74,12 +74,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return vector( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } namespace result_of { @@ -90,12 +90,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return vector( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } namespace result_of { @@ -106,12 +106,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return vector( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } namespace result_of { @@ -122,12 +122,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } namespace result_of { @@ -138,12 +138,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } namespace result_of { @@ -154,12 +154,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } namespace result_of { @@ -170,12 +170,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } namespace result_of { @@ -186,12 +186,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } namespace result_of { @@ -202,12 +202,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } namespace result_of { @@ -218,12 +218,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } namespace result_of { @@ -234,12 +234,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } namespace result_of { @@ -250,12 +250,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } namespace result_of { @@ -266,12 +266,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } namespace result_of { @@ -282,12 +282,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } namespace result_of { @@ -298,12 +298,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } namespace result_of { @@ -314,12 +314,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } namespace result_of { @@ -330,12 +330,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } namespace result_of { @@ -346,12 +346,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } namespace result_of { @@ -362,12 +362,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } namespace result_of { @@ -378,12 +378,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } namespace result_of { @@ -394,12 +394,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } namespace result_of { @@ -410,12 +410,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } namespace result_of { @@ -426,12 +426,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } namespace result_of { @@ -442,12 +442,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } namespace result_of { @@ -458,12 +458,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } namespace result_of { @@ -474,12 +474,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } namespace result_of { @@ -490,12 +490,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } namespace result_of { @@ -506,12 +506,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } namespace result_of { @@ -522,12 +522,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } namespace result_of { @@ -538,12 +538,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } namespace result_of { @@ -554,12 +554,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } namespace result_of { @@ -570,12 +570,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } namespace result_of { @@ -586,12 +586,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } namespace result_of { @@ -602,12 +602,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } namespace result_of { @@ -618,12 +618,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } namespace result_of { @@ -634,12 +634,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } namespace result_of { @@ -650,12 +650,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } namespace result_of { @@ -666,12 +666,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } namespace result_of { @@ -682,12 +682,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } namespace result_of { @@ -698,12 +698,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } namespace result_of { @@ -714,12 +714,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } namespace result_of { @@ -730,12 +730,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } namespace result_of { @@ -746,12 +746,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } namespace result_of { @@ -762,12 +762,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } namespace result_of { @@ -778,12 +778,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } namespace result_of { @@ -794,12 +794,12 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } namespace result_of { @@ -810,11 +810,11 @@ namespace boost { namespace fusion }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline vector - vector_tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48 , T49 & _49) + vector_tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) { return vector( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} diff --git a/3party/boost/boost/fusion/container/generation/ignore.hpp b/3party/boost/boost/fusion/container/generation/ignore.hpp index 0bebade465..781966322f 100644 --- a/3party/boost/boost/fusion/container/generation/ignore.hpp +++ b/3party/boost/boost/fusion/container/generation/ignore.hpp @@ -9,6 +9,8 @@ #if !defined(FUSION_IGNORE_07192005_0329) #define FUSION_IGNORE_07192005_0329 +#include + namespace boost { namespace fusion { // Swallows any assignment (by Doug Gregor) @@ -17,7 +19,7 @@ namespace boost { namespace fusion struct swallow_assign { template - BOOST_FUSION_GPU_ENABLED + BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED swallow_assign const& operator=(const T&) const { @@ -27,7 +29,7 @@ namespace boost { namespace fusion } // "ignore" allows tuple positions to be ignored when using "tie". - detail::swallow_assign const ignore = detail::swallow_assign(); + BOOST_CONSTEXPR_OR_CONST detail::swallow_assign ignore = detail::swallow_assign(); }} #endif diff --git a/3party/boost/boost/fusion/container/generation/list_tie.hpp b/3party/boost/boost/fusion/container/generation/list_tie.hpp index 1631d0d365..9190716740 100644 --- a/3party/boost/boost/fusion/container/generation/list_tie.hpp +++ b/3party/boost/boost/fusion/container/generation/list_tie.hpp @@ -1,102 +1,44 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2015 Kohei Takahashi 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_PP_IS_ITERATING -#if !defined(FUSION_LIST_TIE_07192005_0109) -#define FUSION_LIST_TIE_07192005_0109 +#ifndef FUSION_LIST_TIE_06182015_0825 +#define FUSION_LIST_TIE_06182015_0825 -#include -#include -#include -#include -#include -#include +#include #include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include #else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list_tie" FUSION_MAX_LIST_SIZE_STR".hpp") -#endif -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// namespace boost { namespace fusion { - struct void_; - namespace result_of { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_LIST_SIZE, typename T, void_) - , typename Extra = void_ - > - struct list_tie; - } - -// $$$ shouldn't we remove_reference first to allow references? $$$ -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct list_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > - #undef TEXT + template + struct list_tie { - typedef list type; + typedef list type; }; } - template - BOOST_FUSION_GPU_ENABLED - inline list - list_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _)) + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline list + list_tie(T&... arg) { - return list( - BOOST_PP_ENUM_PARAMS(N, _)); + return list(arg...); } +}} -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) +#endif + +#endif diff --git a/3party/boost/boost/fusion/container/generation/make_cons.hpp b/3party/boost/boost/fusion/container/generation/make_cons.hpp index bb844ea38c..616f11054a 100644 --- a/3party/boost/boost/fusion/container/generation/make_cons.hpp +++ b/3party/boost/boost/fusion/container/generation/make_cons.hpp @@ -26,7 +26,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline cons::type> make_cons(Car const& car) { @@ -34,7 +34,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline cons::type, Cdr> make_cons(Car const& car, Cdr const& cdr) { diff --git a/3party/boost/boost/fusion/container/generation/make_deque.hpp b/3party/boost/boost/fusion/container/generation/make_deque.hpp index 20246f785c..cb802f9ae4 100644 --- a/3party/boost/boost/fusion/container/generation/make_deque.hpp +++ b/3party/boost/boost/fusion/container/generation/make_deque.hpp @@ -27,12 +27,12 @@ namespace boost { namespace fusion template struct make_deque { - typedef deque type; + typedef deque::type...> type; }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline deque::type...> make_deque(T const&... arg) { diff --git a/3party/boost/boost/fusion/container/generation/make_list.hpp b/3party/boost/boost/fusion/container/generation/make_list.hpp index d1f9ea5721..e88f553a26 100644 --- a/3party/boost/boost/fusion/container/generation/make_list.hpp +++ b/3party/boost/boost/fusion/container/generation/make_list.hpp @@ -1,114 +1,46 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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_PP_IS_ITERATING -#if !defined(FUSION_MAKE_LIST_07192005_1239) -#define FUSION_MAKE_LIST_07192005_1239 +#ifndef FUSION_MAKE_LIST_10262014_0647 +#define FUSION_MAKE_LIST_10262014_0647 -#include -#include -#include -#include -#include +#include #include -#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include #else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_list" FUSION_MAX_LIST_SIZE_STR".hpp") -#endif -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman +/////////////////////////////////////////////////////////////////////////////// +// C++11 variadic interface +/////////////////////////////////////////////////////////////////////////////// - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif +#include namespace boost { namespace fusion { - struct void_; - namespace result_of { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_LIST_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_list; - - template <> - struct make_list<> + template + struct make_list { - typedef list<> type; + typedef list::type...> type; }; } - BOOST_FUSION_GPU_ENABLED inline list<> - make_list() + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::make_list::type + make_list(T const&... arg) { - return list<>(); + return typename result_of::make_list::type(arg...); } + }} -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES #endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_list< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > - #undef TEXT - { - typedef list type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline list - make_list(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - { - return list( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) +#endif diff --git a/3party/boost/boost/fusion/container/generation/make_map.hpp b/3party/boost/boost/fusion/container/generation/make_map.hpp index d2eb16e22c..a6538f8148 100644 --- a/3party/boost/boost/fusion/container/generation/make_map.hpp +++ b/3party/boost/boost/fusion/container/generation/make_map.hpp @@ -41,7 +41,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map< fusion::pair< Key diff --git a/3party/boost/boost/fusion/container/generation/make_set.hpp b/3party/boost/boost/fusion/container/generation/make_set.hpp index 4cd20ab77a..705ec582a8 100644 --- a/3party/boost/boost/fusion/container/generation/make_set.hpp +++ b/3party/boost/boost/fusion/container/generation/make_set.hpp @@ -1,116 +1,16 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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_PP_IS_ITERATING -#if !defined(FUSION_MAKE_SET_09162005_1125) -#define FUSION_MAKE_SET_09162005_1125 +#ifndef FUSION_MAKE_SET_11112014_2255 +#define FUSION_MAKE_SET_11112014_2255 -#include -#include -#include -#include -#include +#include #include -#include -#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_set" FUSION_MAX_SET_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_set; - - template <> - struct make_set<> - { - typedef set<> type; - }; - } - - BOOST_FUSION_GPU_ENABLED inline set<> - make_set() - { - return set<>(); - } - -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_ELEMENT -#undef BOOST_FUSION_AS_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +# include #endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_set< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_SET_SIZE, TEXT, void_) > - #undef TEXT - { - typedef set type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline set - make_set(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - { - return set( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/generation/make_vector.hpp b/3party/boost/boost/fusion/container/generation/make_vector.hpp index 4911f4bfd5..8f0674815e 100644 --- a/3party/boost/boost/fusion/container/generation/make_vector.hpp +++ b/3party/boost/boost/fusion/container/generation/make_vector.hpp @@ -1,114 +1,16 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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_PP_IS_ITERATING -#if !defined(FUSION_MAKE_VECTOR_07162005_0243) -#define FUSION_MAKE_VECTOR_07162005_0243 +#ifndef FUSION_MAKE_VECTOR_11112014_2252 +#define FUSION_MAKE_VECTOR_11112014_2252 -#include -#include -#include -#include -#include +#include #include -#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_vector" FUSION_MAX_VECTOR_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - , typename Extra = void_ - > - struct make_vector; - - template <> - struct make_vector<> - { - typedef vector0<> type; - }; - } - - BOOST_FUSION_GPU_ENABLED inline vector0<> - make_vector() - { - return vector0<>(); - } - -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +# include #endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct make_vector< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > - #undef TEXT - { - typedef BOOST_PP_CAT(vector, N) type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline BOOST_PP_CAT(vector, N) - make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - { - return BOOST_PP_CAT(vector, N)( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/generation/map_tie.hpp b/3party/boost/boost/fusion/container/generation/map_tie.hpp index 4a988d4283..259eee5fdc 100644 --- a/3party/boost/boost/fusion/container/generation/map_tie.hpp +++ b/3party/boost/boost/fusion/container/generation/map_tie.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline map...> map_tie(T&... arg) { diff --git a/3party/boost/boost/fusion/container/generation/pair_tie.hpp b/3party/boost/boost/fusion/container/generation/pair_tie.hpp index b4fbc780bf..2ba128f558 100644 --- a/3party/boost/boost/fusion/container/generation/pair_tie.hpp +++ b/3party/boost/boost/fusion/container/generation/pair_tie.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename disable_if, typename result_of::pair_tie::type>::type pair_tie(T& t) { @@ -35,7 +35,7 @@ namespace boost { namespace fusion { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::pair_tie::type pair_tie(T const& t) { diff --git a/3party/boost/boost/fusion/container/generation/vector_tie.hpp b/3party/boost/boost/fusion/container/generation/vector_tie.hpp index f71b7677be..5bb4face4d 100644 --- a/3party/boost/boost/fusion/container/generation/vector_tie.hpp +++ b/3party/boost/boost/fusion/container/generation/vector_tie.hpp @@ -1,100 +1,15 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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_PP_IS_ITERATING -#if !defined(FUSION_VECTOR_TIE_07192005_1242) -#define FUSION_VECTOR_TIE_07192005_1242 +#ifndef FUSION_VECTOR_TIE_11112014_2302 +#define FUSION_VECTOR_TIE_11112014_2302 -#include -#include -#include -#include -#include -#include -#include +#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector_tie" FUSION_MAX_VECTOR_SIZE_STR".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - namespace result_of - { - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - , typename Extra = void_ - > - struct vector_tie; - } - -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +# include #endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - namespace result_of - { - template - #define TEXT(z, n, text) , text - struct vector_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > - #undef TEXT - { - typedef vector type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline vector - vector_tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _)) - { - return vector( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/list.hpp b/3party/boost/boost/fusion/container/list.hpp index bdb5dc9a02..e3a1d8eff0 100644 --- a/3party/boost/boost/fusion/container/list.hpp +++ b/3party/boost/boost/fusion/container/list.hpp @@ -10,7 +10,6 @@ #include #include #include -#include #include #include #include diff --git a/3party/boost/boost/fusion/container/list/cons.hpp b/3party/boost/boost/fusion/container/list/cons.hpp index 1de7048b63..e05b62eb48 100644 --- a/3party/boost/boost/fusion/container/list/cons.hpp +++ b/3party/boost/boost/fusion/container/list/cons.hpp @@ -23,11 +23,14 @@ #include #include #include +#include #include #include +#include #include #include -#include +#include +#include namespace boost { namespace fusion { @@ -47,26 +50,26 @@ namespace boost { namespace fusion typedef Car car_type; typedef Cdr cdr_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons() : car(), cdr() {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit cons(typename detail::call_param::type in_car) : car(in_car), cdr() {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons( typename detail::call_param::type in_car , typename detail::call_param::type in_cdr) : car(in_car), cdr(in_cdr) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons(cons const& rhs) : car(rhs.car), cdr(rhs.cdr) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons(cons const& rhs) : car(rhs.car), cdr(rhs.cdr) {} @@ -74,24 +77,24 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED cons( Sequence const& seq - , typename boost::disable_if< - mpl::or_< - is_convertible // use copy ctor instead - , is_convertible // use copy to car instead - > + , typename boost::enable_if< + mpl::and_< + traits::is_sequence + , mpl::not_ > + , mpl::not_ > > // use copy to car instead >::type* /*dummy*/ = 0 ) : car(*fusion::begin(seq)) , cdr(fusion::next(fusion::begin(seq)), mpl::true_()) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons(Iterator const& iter, mpl::true_ /*this_is_an_iterator*/) : car(*iter) , cdr(fusion::next(iter), mpl::true_()) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons& operator=(cons const& rhs) { car = rhs.car; @@ -99,7 +102,7 @@ namespace boost { namespace fusion return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED cons& operator=(cons const& rhs) { car = rhs.car; @@ -108,8 +111,12 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename boost::disable_if, cons&>::type + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if< + mpl::and_< + traits::is_sequence + , mpl::not_ > > + , cons&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type Iterator; @@ -119,7 +126,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void assign_from_iter(Iterator const& iter) { car = *iter; diff --git a/3party/boost/boost/fusion/container/list/cons_iterator.hpp b/3party/boost/boost/fusion/container/list/cons_iterator.hpp index 42c023c16f..58b7fd9e36 100644 --- a/3party/boost/boost/fusion/container/list/cons_iterator.hpp +++ b/3party/boost/boost/fusion/container/list/cons_iterator.hpp @@ -36,8 +36,8 @@ namespace boost { namespace fusion typename add_const::type> identity; - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(cons_type& in_cons) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(cons_type& in_cons) BOOST_NOEXCEPT : cons(in_cons) {} cons_type& cons; @@ -55,47 +55,57 @@ namespace boost { namespace fusion typedef cons_iterator_identity< add_const::type> identity; - BOOST_FUSION_GPU_ENABLED - nil_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit nil_iterator(nil_ const&) {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + nil_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit nil_iterator(nil_ const&) BOOST_NOEXCEPT {} }; template <> struct cons_iterator : nil_iterator { - BOOST_FUSION_GPU_ENABLED - cons_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} }; template <> struct cons_iterator : nil_iterator { - BOOST_FUSION_GPU_ENABLED - cons_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} }; template <> struct cons_iterator > : nil_iterator { - BOOST_FUSION_GPU_ENABLED - cons_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} }; template <> struct cons_iterator const> : nil_iterator { - BOOST_FUSION_GPU_ENABLED - cons_iterator() {} - BOOST_FUSION_GPU_ENABLED - explicit cons_iterator(nil_ const&) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + cons_iterator() BOOST_NOEXCEPT {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit cons_iterator(nil_ const&) BOOST_NOEXCEPT {} }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::cons_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/container/list/convert.hpp b/3party/boost/boost/fusion/container/list/convert.hpp index f34ad396d4..d85fafebd4 100644 --- a/3party/boost/boost/fusion/container/list/convert.hpp +++ b/3party/boost/boost/fusion/container/list/convert.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion typedef typename build_cons::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { @@ -41,7 +41,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_list::type as_list(Sequence& seq) { @@ -49,7 +49,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_list::type as_list(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/container/list/detail/at_impl.hpp b/3party/boost/boost/fusion/container/list/detail/at_impl.hpp index b7688522a3..ab36665c11 100644 --- a/3party/boost/boost/fusion/container/list/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/container/list/detail/at_impl.hpp @@ -107,7 +107,7 @@ namespace boost { namespace fusion type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Cons& s, mpl::int_) { @@ -115,14 +115,14 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Cons& s, mpl::int_<0>) { return s.car; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/3party/boost/boost/fusion/container/list/detail/begin_impl.hpp b/3party/boost/boost/fusion/container/list/detail/begin_impl.hpp index a30223456c..088b382d1c 100644 --- a/3party/boost/boost/fusion/container/list/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/container/list/detail/begin_impl.hpp @@ -36,8 +36,8 @@ namespace boost { namespace fusion struct apply { typedef cons_iterator type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& t) { diff --git a/3party/boost/boost/fusion/container/list/detail/build_cons.hpp b/3party/boost/boost/fusion/container/list/detail/build_cons.hpp index 0f40700896..206af1f132 100644 --- a/3party/boost/boost/fusion/container/list/detail/build_cons.hpp +++ b/3party/boost/boost/fusion/container/list/detail/build_cons.hpp @@ -26,8 +26,8 @@ namespace boost { namespace fusion { namespace detail struct build_cons { typedef nil_ type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static nil_ call(First const&, Last const&) { @@ -38,7 +38,7 @@ namespace boost { namespace fusion { namespace detail template struct build_cons { - typedef + typedef build_cons::type, Last> next_build_cons; @@ -47,7 +47,7 @@ namespace boost { namespace fusion { namespace detail , typename next_build_cons::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& f, Last const& l) { diff --git a/3party/boost/boost/fusion/container/list/detail/convert_impl.hpp b/3party/boost/boost/fusion/container/list/detail/convert_impl.hpp index 000280e7c3..ff010186ac 100644 --- a/3party/boost/boost/fusion/container/list/detail/convert_impl.hpp +++ b/3party/boost/boost/fusion/container/list/detail/convert_impl.hpp @@ -39,7 +39,7 @@ namespace boost { namespace fusion typedef typename build_cons::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { diff --git a/3party/boost/boost/fusion/container/list/limits.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/limits.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/list/limits.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/limits.hpp diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/list.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/list.hpp new file mode 100644 index 0000000000..b39489b0b7 --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/list.hpp @@ -0,0 +1,102 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_LIST_07172005_1153) +#define FUSION_LIST_07172005_1153 + +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list" FUSION_MAX_LIST_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : inherited_type(rhs) {} + + // Expand a couple of forwarding constructors for arguments + // of type (T0), (T0, T1), (T0, T1, T2) etc. Exanple: + // + // list( + // typename detail::call_param::type arg0 + // , typename detail::call_param::type arg1) + // : inherited_type(list_to_cons::call(arg0, arg1)) {} + #include + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/list/detail/list_forward_ctor.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp similarity index 88% rename from 3party/boost/boost/fusion/container/list/detail/list_forward_ctor.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp index 941e2008d5..7703050640 100644 --- a/3party/boost/boost/fusion/container/list/detail/list_forward_ctor.hpp +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/list_forward_ctor.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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_PP_IS_ITERATING @@ -18,7 +18,7 @@ #define FUSION_LIST_CL_PAREN(z, n, type) ) #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) #include BOOST_PP_ITERATE() @@ -34,15 +34,14 @@ /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED #if N == 1 explicit #endif list(BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type _)) - : inherited_type(list_to_cons::call(BOOST_PP_ENUM_PARAMS(N, _))) + N, typename detail::call_param::type arg)) + : inherited_type(list_to_cons::call(BOOST_PP_ENUM_PARAMS(N, arg))) {} #undef N #endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/list_fwd.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/list_fwd.hpp new file mode 100644 index 0000000000..cedc700343 --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/list_fwd.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_LIST_FORWARD_07172005_0224) +#define FUSION_LIST_FORWARD_07172005_0224 + +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list" FUSION_MAX_LIST_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_LIST_SIZE, typename T, void_) + > + struct list; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp new file mode 100644 index 0000000000..989e91abe3 --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/list_to_cons.hpp @@ -0,0 +1,76 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_LIST_TO_CONS_07172005_1041) +#define FUSION_LIST_TO_CONS_07172005_1041 + +#include +#include +#include +#include +#include +#include +#include + +#define FUSION_VOID(z, n, _) void_ + +namespace boost { namespace fusion +{ + struct nil_; + struct void_; +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_to_cons" FUSION_MAX_LIST_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_LIST_SIZE, T), void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + + typedef cons type; + + #include + }; + + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#undef FUSION_VOID +#endif diff --git a/3party/boost/boost/fusion/container/list/detail/list_to_cons_call.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp similarity index 84% rename from 3party/boost/boost/fusion/container/list/detail/list_to_cons_call.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp index 430e462c9d..5387c35fe2 100644 --- a/3party/boost/boost/fusion/container/list/detail/list_to_cons_call.hpp +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/list_to_cons_call.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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_PP_IS_ITERATING @@ -13,7 +13,7 @@ #include #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) #include BOOST_PP_ITERATE() @@ -26,14 +26,14 @@ /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type _)) + N, typename detail::call_param::type arg)) { - return type(_0 + return type(arg0 #if N > 1 - , tail_list_to_cons::call(BOOST_PP_ENUM_SHIFTED_PARAMS(N, _))); + , tail_list_to_cons::call(BOOST_PP_ENUM_SHIFTED_PARAMS(N, arg))); #else ); #endif @@ -41,4 +41,3 @@ #undef N #endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp similarity index 63% rename from 3party/boost/boost/fusion/container/list/detail/preprocessed/list.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp index 315ffcf7ee..7af66f4964 100644 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list.hpp +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_LIST_SIZE <= 10 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 20 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 30 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 40 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp new file mode 100644 index 0000000000..35a0af9656 --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list10.hpp @@ -0,0 +1,100 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/list/detail/preprocessed/list10_fwd.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list10_fwd.hpp diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp new file mode 100644 index 0000000000..1f8d9f7349 --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list20.hpp @@ -0,0 +1,140 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/list/detail/preprocessed/list20_fwd.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list20_fwd.hpp diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp new file mode 100644 index 0000000000..8c9cf836ee --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list30.hpp @@ -0,0 +1,180 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/list/detail/preprocessed/list30_fwd.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list30_fwd.hpp diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp new file mode 100644 index 0000000000..2992bf28b6 --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list40.hpp @@ -0,0 +1,220 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/list/detail/preprocessed/list40_fwd.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list40_fwd.hpp diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp new file mode 100644 index 0000000000..464436c917 --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list50.hpp @@ -0,0 +1,260 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct nil_; + struct void_; + template + struct list + : detail::list_to_cons::type + { + private: + typedef + detail::list_to_cons + list_to_cons; + typedef typename list_to_cons::type inherited_type; + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(list const& rhs) + : inherited_type(rhs) {} + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : inherited_type(rhs) {} + + + + + + + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type arg0) + : inherited_type(list_to_cons::call(arg0)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : inherited_type(list_to_cons::call(arg0 , arg1)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48)) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : inherited_type(list_to_cons::call(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49)) + {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(list const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename boost::enable_if, list&>::type + operator=(Sequence const& rhs) + { + inherited_type::operator=(rhs); + return *this; + } + }; +}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/list/detail/preprocessed/list50_fwd.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list50_fwd.hpp diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp similarity index 62% rename from 3party/boost/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp index b9be34752f..8a4037da48 100644 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_fwd.hpp +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_fwd.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_LIST_SIZE <= 10 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 20 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 30 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 40 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp similarity index 60% rename from 3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons.hpp rename to 3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp index 0326bef1e5..d9ee9bb245 100644 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons.hpp +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_LIST_SIZE <= 10 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 20 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 30 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 40 -#include +#include #elif FUSION_MAX_LIST_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_LIST_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp new file mode 100644 index 0000000000..a98a8cc55f --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons10.hpp @@ -0,0 +1,96 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp new file mode 100644 index 0000000000..3adce01d8d --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons20.hpp @@ -0,0 +1,166 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp new file mode 100644 index 0000000000..7a834a7064 --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons30.hpp @@ -0,0 +1,236 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp new file mode 100644 index 0000000000..731782dbfa --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons40.hpp @@ -0,0 +1,306 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp new file mode 100644 index 0000000000..e25371b5ae --- /dev/null +++ b/3party/boost/boost/fusion/container/list/detail/cpp03/preprocessed/list_to_cons50.hpp @@ -0,0 +1,376 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion { namespace detail +{ + template + struct list_to_cons + { + typedef T0 head_type; + typedef list_to_cons< + T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49, void_> + tail_list_to_cons; + typedef typename tail_list_to_cons::type tail_type; + typedef cons type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0) + { + return type(arg0 + ); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + { + return type(arg0 + , tail_list_to_cons::call(arg1)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48)); + } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + { + return type(arg0 + , tail_list_to_cons::call(arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49)); + } + }; + template <> + struct list_to_cons + { + typedef nil_ type; + }; +}}} diff --git a/3party/boost/boost/fusion/container/list/detail/deref_impl.hpp b/3party/boost/boost/fusion/container/list/detail/deref_impl.hpp index aefffd757f..3358a2a2f9 100644 --- a/3party/boost/boost/fusion/container/list/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/container/list/detail/deref_impl.hpp @@ -27,18 +27,18 @@ namespace boost { namespace fusion struct deref_impl { template - struct apply + struct apply { typedef typename Iterator::cons_type cons_type; typedef typename cons_type::car_type value_type; - + typedef typename mpl::eval_if< is_const , add_reference::type> , add_reference >::type type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/container/list/detail/end_impl.hpp b/3party/boost/boost/fusion/container/list/detail/end_impl.hpp index 9220d24a78..6ed05a5f31 100644 --- a/3party/boost/boost/fusion/container/list/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/container/list/detail/end_impl.hpp @@ -33,13 +33,13 @@ namespace boost { namespace fusion struct end_impl { template - struct apply + struct apply { typedef cons_iterator< typename mpl::if_, nil_ const, nil_>::type> type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence&) { diff --git a/3party/boost/boost/fusion/container/list/detail/equal_to_impl.hpp b/3party/boost/boost/fusion/container/list/detail/equal_to_impl.hpp index 0cbb6bef4f..a0fc297fc6 100644 --- a/3party/boost/boost/fusion/container/list/detail/equal_to_impl.hpp +++ b/3party/boost/boost/fusion/container/list/detail/equal_to_impl.hpp @@ -25,7 +25,7 @@ namespace boost { namespace fusion struct equal_to_impl { template - struct apply + struct apply : is_same< typename I1::identity , typename I2::identity diff --git a/3party/boost/boost/fusion/container/list/detail/list_to_cons.hpp b/3party/boost/boost/fusion/container/list/detail/list_to_cons.hpp index bc8718631c..1ce1cfbafb 100644 --- a/3party/boost/boost/fusion/container/list/detail/list_to_cons.hpp +++ b/3party/boost/boost/fusion/container/list/detail/list_to_cons.hpp @@ -1,76 +1,61 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014-2015 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_LIST_TO_CONS_07172005_1041) -#define FUSION_LIST_TO_CONS_07172005_1041 +#ifndef FUSION_LIST_MAIN_10262014_0447 +#define FUSION_LIST_MAIN_10262014_0447 +#include #include -#include -#include -#include -#include -#include -#include +#include -#define FUSION_VOID(z, n, _) void_ - -namespace boost { namespace fusion -{ - struct nil_; - struct void_; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include #else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/list_to_cons" FUSION_MAX_LIST_SIZE_STR ".hpp") -#endif -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include namespace boost { namespace fusion { namespace detail { - template - struct list_to_cons + template + struct list_to_cons; + + template <> + struct list_to_cons<> { - typedef T0 head_type; - typedef list_to_cons< - BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_LIST_SIZE, T), void_> - tail_list_to_cons; + typedef nil_ type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call() { return type(); } + }; + + template + struct list_to_cons + { + typedef Head head_type; + typedef list_to_cons tail_list_to_cons; typedef typename tail_list_to_cons::type tail_type; typedef cons type; - #include - }; - - template <> - struct list_to_cons - { - typedef nil_ type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(typename detail::call_param::type _h, + typename detail::call_param::type ..._t) + { + return type(_h, tail_list_to_cons::call(_t...)); + } }; }}} -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) #endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef FUSION_VOID #endif diff --git a/3party/boost/boost/fusion/container/list/detail/next_impl.hpp b/3party/boost/boost/fusion/container/list/detail/next_impl.hpp index 7383a9630b..f766458be0 100644 --- a/3party/boost/boost/fusion/container/list/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/container/list/detail/next_impl.hpp @@ -36,7 +36,7 @@ namespace boost { namespace fusion { typedef typename Iterator::cons_type cons_type; typedef typename cons_type::cdr_type cdr_type; - + typedef cons_iterator< typename mpl::eval_if< is_const @@ -44,8 +44,8 @@ namespace boost { namespace fusion , mpl::identity >::type> type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list10.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list10.hpp deleted file mode 100644 index c8aa725e0c..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list10.hpp +++ /dev/null @@ -1,99 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - public: - typedef typename list_to_cons::type inherited_type; - BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs) - : inherited_type(rhs) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type _0) - : inherited_type(list_to_cons::call(_0)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : inherited_type(list_to_cons::call(_0 , _1)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : inherited_type(list_to_cons::call(_0 , _1 , _2)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)) - {} - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(T const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list20.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list20.hpp deleted file mode 100644 index d18fc580cf..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list20.hpp +++ /dev/null @@ -1,139 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - public: - typedef typename list_to_cons::type inherited_type; - BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs) - : inherited_type(rhs) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type _0) - : inherited_type(list_to_cons::call(_0)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : inherited_type(list_to_cons::call(_0 , _1)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : inherited_type(list_to_cons::call(_0 , _1 , _2)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19)) - {} - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(T const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list30.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list30.hpp deleted file mode 100644 index 07ebfa6a97..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list30.hpp +++ /dev/null @@ -1,179 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - public: - typedef typename list_to_cons::type inherited_type; - BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs) - : inherited_type(rhs) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type _0) - : inherited_type(list_to_cons::call(_0)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : inherited_type(list_to_cons::call(_0 , _1)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : inherited_type(list_to_cons::call(_0 , _1 , _2)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29)) - {} - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(T const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list40.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list40.hpp deleted file mode 100644 index 7c10229474..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list40.hpp +++ /dev/null @@ -1,219 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - public: - typedef typename list_to_cons::type inherited_type; - BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs) - : inherited_type(rhs) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type _0) - : inherited_type(list_to_cons::call(_0)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : inherited_type(list_to_cons::call(_0 , _1)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : inherited_type(list_to_cons::call(_0 , _1 , _2)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39)) - {} - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(T const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list50.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list50.hpp deleted file mode 100644 index 9c4f96ea27..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list50.hpp +++ /dev/null @@ -1,259 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type - { - private: - typedef - detail::list_to_cons - list_to_cons; - public: - typedef typename list_to_cons::type inherited_type; - BOOST_FUSION_GPU_ENABLED - list() - : inherited_type() {} - template - BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - template - BOOST_FUSION_GPU_ENABLED - list(Sequence const& rhs) - : inherited_type(rhs) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - list(typename detail::call_param::type _0) - : inherited_type(list_to_cons::call(_0)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : inherited_type(list_to_cons::call(_0 , _1)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : inherited_type(list_to_cons::call(_0 , _1 , _2)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48)) - {} - BOOST_FUSION_GPU_ENABLED - list(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48 , typename detail::call_param::type _49) - : inherited_type(list_to_cons::call(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49)) - {} - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(list const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - list& - operator=(T const& rhs) - { - inherited_type::operator=(rhs); - return *this; - } - }; -}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons10.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons10.hpp deleted file mode 100644 index ed94114cc8..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons10.hpp +++ /dev/null @@ -1,96 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0) - { - return type(_0 - ); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1) - { - return type(_0 - , tail_list_to_cons::call(_1)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons20.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons20.hpp deleted file mode 100644 index 188999cfdf..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons20.hpp +++ /dev/null @@ -1,166 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0) - { - return type(_0 - ); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1) - { - return type(_0 - , tail_list_to_cons::call(_1)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons30.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons30.hpp deleted file mode 100644 index 1569312b39..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons30.hpp +++ /dev/null @@ -1,236 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0) - { - return type(_0 - ); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1) - { - return type(_0 - , tail_list_to_cons::call(_1)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons40.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons40.hpp deleted file mode 100644 index b2650b3856..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons40.hpp +++ /dev/null @@ -1,306 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0) - { - return type(_0 - ); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1) - { - return type(_0 - , tail_list_to_cons::call(_1)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons50.hpp b/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons50.hpp deleted file mode 100644 index b538b703ef..0000000000 --- a/3party/boost/boost/fusion/container/list/detail/preprocessed/list_to_cons50.hpp +++ /dev/null @@ -1,376 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion { namespace detail -{ - template - struct list_to_cons - { - typedef T0 head_type; - typedef list_to_cons< - T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49, void_> - tail_list_to_cons; - typedef typename tail_list_to_cons::type tail_type; - typedef cons type; - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0) - { - return type(_0 - ); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1) - { - return type(_0 - , tail_list_to_cons::call(_1)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48)); - } - BOOST_FUSION_GPU_ENABLED - static type - call(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48 , typename detail::call_param::type _49) - { - return type(_0 - , tail_list_to_cons::call(_1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49)); - } - }; - template <> - struct list_to_cons - { - typedef nil_ type; - }; -}}} diff --git a/3party/boost/boost/fusion/container/list/detail/reverse_cons.hpp b/3party/boost/boost/fusion/container/list/detail/reverse_cons.hpp index f80e2c2d30..14905180fb 100644 --- a/3party/boost/boost/fusion/container/list/detail/reverse_cons.hpp +++ b/3party/boost/boost/fusion/container/list/detail/reverse_cons.hpp @@ -22,7 +22,7 @@ namespace boost { namespace fusion { namespace detail typedef reverse_cons > impl; typedef typename impl::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(cons const &cons, State const &state = State()) { typedef fusion::cons cdr_type; @@ -35,7 +35,7 @@ namespace boost { namespace fusion { namespace detail { typedef State type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static State const &call(nil_ const &, State const &state = State()) { return state; diff --git a/3party/boost/boost/fusion/container/list/detail/value_at_impl.hpp b/3party/boost/boost/fusion/container/list/detail/value_at_impl.hpp index ea9a859361..8b288a12bd 100644 --- a/3party/boost/boost/fusion/container/list/detail/value_at_impl.hpp +++ b/3party/boost/boost/fusion/container/list/detail/value_at_impl.hpp @@ -26,9 +26,9 @@ namespace boost { namespace fusion struct value_at_impl { template - struct apply + struct apply { - typedef typename + typedef typename mpl::eval_if< mpl::bool_ , mpl::identity diff --git a/3party/boost/boost/fusion/container/list/detail/value_of_impl.hpp b/3party/boost/boost/fusion/container/list/detail/value_of_impl.hpp index daabe4110e..9e7aa2085c 100644 --- a/3party/boost/boost/fusion/container/list/detail/value_of_impl.hpp +++ b/3party/boost/boost/fusion/container/list/detail/value_of_impl.hpp @@ -21,7 +21,7 @@ namespace boost { namespace fusion struct value_of_impl { template - struct apply + struct apply { typedef typename Iterator::cons_type cons_type; typedef typename cons_type::car_type type; diff --git a/3party/boost/boost/fusion/container/list/list.hpp b/3party/boost/boost/fusion/container/list/list.hpp index 9e042bb481..865a6d7def 100644 --- a/3party/boost/boost/fusion/container/list/list.hpp +++ b/3party/boost/boost/fusion/container/list/list.hpp @@ -1,100 +1,127 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014-2015 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_LIST_07172005_1153) -#define FUSION_LIST_07172005_1153 +#ifndef FUSION_LIST_10262014_0537 +#define FUSION_LIST_10262014_0537 #include #include -#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include #else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list" FUSION_MAX_LIST_SIZE_STR ".hpp") -#endif -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// +#include +#include namespace boost { namespace fusion { struct nil_; - struct void_; - template - struct list - : detail::list_to_cons::type + template <> + struct list<> + : detail::list_to_cons<>::type { private: - typedef - detail::list_to_cons - list_to_cons; + typedef detail::list_to_cons<> list_to_cons; + typedef list_to_cons::type inherited_type; public: - typedef typename list_to_cons::type inherited_type; - - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED list() : inherited_type() {} - template - BOOST_FUSION_GPU_ENABLED - list(list const& rhs) - : inherited_type(rhs) {} - +#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template BOOST_FUSION_GPU_ENABLED list(Sequence const& rhs) : inherited_type(rhs) {} - // Expand a couple of forwarding constructors for arguments - // of type (T0), (T0, T1), (T0, T1, T2) etc. Exanple: - // - // list( - // typename detail::call_param::type _0 - // , typename detail::call_param::type _1) - // : inherited_type(list_to_cons::call(_0, _1)) {} - #include - - template - BOOST_FUSION_GPU_ENABLED + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED list& - operator=(list const& rhs) + operator=(Sequence const& rhs) { inherited_type::operator=(rhs); return *this; } - - template +#else + template BOOST_FUSION_GPU_ENABLED + list(Sequence&& rhs) + : inherited_type(std::forward(rhs)) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED list& - operator=(T const& rhs) + operator=(Sequence&& rhs) + { + inherited_type::operator=(std::forward(rhs)); + return *this; + } +#endif + }; + + template + struct list + : detail::list_to_cons::type + { + private: + typedef detail::list_to_cons list_to_cons; + typedef typename list_to_cons::type inherited_type; + + public: + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list() + : inherited_type() {} + +#if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_FUSION_GPU_ENABLED + list(Sequence const& rhs) + : inherited_type(rhs) {} +#else + template + BOOST_FUSION_GPU_ENABLED + list(Sequence&& rhs) + : inherited_type(std::forward(rhs)) {} +#endif + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + list(typename detail::call_param::type ...args) + : inherited_type(list_to_cons::call(args...)) {} + +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(Sequence const& rhs) { inherited_type::operator=(rhs); return *this; } +#else + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + list& + operator=(Sequence&& rhs) + { + inherited_type::operator=(std::forward(rhs)); + return *this; + } +#endif }; }} -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) #endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - #endif diff --git a/3party/boost/boost/fusion/container/list/list_fwd.hpp b/3party/boost/boost/fusion/container/list/list_fwd.hpp index d827d283e8..c5f2619267 100644 --- a/3party/boost/boost/fusion/container/list/list_fwd.hpp +++ b/3party/boost/boost/fusion/container/list/list_fwd.hpp @@ -1,51 +1,43 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_LIST_FORWARD_07172005_0224) -#define FUSION_LIST_FORWARD_07172005_0224 +#ifndef FUSION_LIST_FORWARD_10262014_0528 +#define FUSION_LIST_FORWARD_10262014_0528 #include -#include -#include +#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) \ + || (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) +# if defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# undef BOOST_FUSION_HAS_VARIADIC_LIST +# endif #else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/list" FUSION_MAX_LIST_SIZE_STR "_fwd.hpp") +# if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# define BOOST_FUSION_HAS_VARIADIC_LIST +# endif #endif -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +#if !defined(BOOST_FUSION_HAS_VARIADIC_LIST) +# include +#else +/////////////////////////////////////////////////////////////////////////////// +// C++11 interface +/////////////////////////////////////////////////////////////////////////////// namespace boost { namespace fusion { struct void_; - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_LIST_SIZE, typename T, void_) - > + template struct list; }} -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) #endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - #endif diff --git a/3party/boost/boost/fusion/container/list/nil.hpp b/3party/boost/boost/fusion/container/list/nil.hpp index c94186da93..1b2c234986 100644 --- a/3party/boost/boost/fusion/container/list/nil.hpp +++ b/3party/boost/boost/fusion/container/list/nil.hpp @@ -31,17 +31,17 @@ namespace boost { namespace fusion typedef void_ car_type; typedef void_ cdr_type; - BOOST_FUSION_GPU_ENABLED - nil_() {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + nil_() BOOST_NOEXCEPT {} template - BOOST_FUSION_GPU_ENABLED - nil_(Iterator const& /*iter*/, mpl::true_ /*this_is_an_iterator*/) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + nil_(Iterator const& /*iter*/, mpl::true_ /*this_is_an_iterator*/) BOOST_NOEXCEPT {} template - BOOST_FUSION_GPU_ENABLED - void assign_from_iter(Iterator const& /*iter*/) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void assign_from_iter(Iterator const& /*iter*/) BOOST_NOEXCEPT { } }; diff --git a/3party/boost/boost/fusion/container/map/convert.hpp b/3party/boost/boost/fusion/container/map/convert.hpp index d106610b7b..10431c849e 100644 --- a/3party/boost/boost/fusion/container/map/convert.hpp +++ b/3party/boost/boost/fusion/container/map/convert.hpp @@ -17,7 +17,7 @@ namespace boost { namespace fusion { namespace detail { typedef typename result_of::value_of::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(It const& it) { return *it; @@ -31,7 +31,7 @@ namespace boost { namespace fusion { namespace detail typedef typename result_of::value_of_data::type data_type; typedef typename fusion::pair type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(It const& it) { return type(deref_data(it)); @@ -69,7 +69,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_map::type as_map(Sequence& seq) { @@ -78,7 +78,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_map::type as_map(Sequence const& seq) { @@ -101,7 +101,7 @@ namespace boost { namespace fusion result_of::as_map::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { typedef result_of::as_map gen; diff --git a/3party/boost/boost/fusion/container/map/detail/at_impl.hpp b/3party/boost/boost/fusion/container/map/detail/at_impl.hpp index c2a565ebe0..ab35870ffd 100644 --- a/3party/boost/boost/fusion/container/map/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/at_impl.hpp @@ -9,6 +9,7 @@ #include #include +#include namespace boost { namespace fusion { @@ -27,10 +28,10 @@ namespace boost { namespace fusion { typedef mpl::int_ index; typedef - decltype(std::declval().get(index())) + decltype(boost::declval().get(index())) type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& m) { @@ -43,10 +44,10 @@ namespace boost { namespace fusion { typedef mpl::int_ index; typedef - decltype(std::declval().get(index())) + decltype(boost::declval().get(index())) type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& m) { diff --git a/3party/boost/boost/fusion/container/map/detail/at_key_impl.hpp b/3party/boost/boost/fusion/container/map/detail/at_key_impl.hpp index 5b57c4b835..a546bd00ce 100644 --- a/3party/boost/boost/fusion/container/map/detail/at_key_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/at_key_impl.hpp @@ -12,6 +12,7 @@ #include #include #include +#include namespace boost { namespace fusion { @@ -29,10 +30,10 @@ namespace boost { namespace fusion struct apply { typedef - decltype(std::declval().get(mpl::identity())) + decltype(boost::declval().get(mpl::identity())) type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& m) { @@ -44,10 +45,10 @@ namespace boost { namespace fusion struct apply { typedef - decltype(std::declval().get(mpl::identity())) + decltype(boost::declval().get(mpl::identity())) type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& m) { diff --git a/3party/boost/boost/fusion/container/map/detail/begin_impl.hpp b/3party/boost/boost/fusion/container/map/detail/begin_impl.hpp index 9c8f4acbeb..65b39d1f0b 100644 --- a/3party/boost/boost/fusion/container/map/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/begin_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { typedef map_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); diff --git a/3party/boost/boost/fusion/container/map/detail/build_map.hpp b/3party/boost/boost/fusion/container/map/detail/build_map.hpp index f5a6875f83..d8f3f33fd7 100644 --- a/3party/boost/boost/fusion/container/map/detail/build_map.hpp +++ b/3party/boost/boost/fusion/container/map/detail/build_map.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion { namespace detail struct build_map { typedef map<> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { @@ -44,7 +44,7 @@ namespace boost { namespace fusion { namespace detail { typedef map type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(T const& first, map const& rest) { @@ -66,7 +66,7 @@ namespace boost { namespace fusion { namespace detail typedef typename push_front::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& f, Last const& l) { diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/as_map.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/as_map.hpp index 62748be143..efa836ba08 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/as_map.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/as_map.hpp @@ -22,6 +22,8 @@ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN + template struct as_map; @@ -35,13 +37,15 @@ namespace boost { namespace fusion { namespace detail }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator) { return map<>(); } }; + +BOOST_FUSION_BARRIER_END }}} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) @@ -66,6 +70,8 @@ namespace boost { namespace fusion { namespace detail namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN + #define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ typedef typename fusion::result_of::next::type \ BOOST_PP_CAT(I, BOOST_PP_INC(n)); @@ -90,6 +96,7 @@ namespace boost { namespace fusion { namespace detail #undef BOOST_FUSION_PAIR_FROM_ITERATOR #undef BOOST_FUSION_DREF_CALL_ITERATOR +BOOST_FUSION_BARRIER_END }}} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) @@ -120,7 +127,7 @@ namespace boost { namespace fusion { namespace detail }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/at_impl.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/at_impl.hpp index 8a3209d75a..b1044d7d8d 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/at_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/at_impl.hpp @@ -27,14 +27,14 @@ namespace boost { namespace fusion struct at_impl { template - struct apply + struct apply { - typedef typename - mpl::at::type + typedef typename + mpl::at::type element; typedef typename detail::ref_result::type type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& m) { @@ -45,12 +45,12 @@ namespace boost { namespace fusion template struct apply { - typedef typename - mpl::at::type + typedef typename + mpl::at::type element; typedef typename detail::cref_result::type type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& m) { diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/begin_impl.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/begin_impl.hpp index 5fe1466e18..6255ed88b8 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/begin_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/begin_impl.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/convert.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/convert.hpp index a03840ce13..c5cc3bd6a7 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/convert.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/convert.hpp @@ -36,7 +36,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_map::type as_map(Sequence& seq) { @@ -45,7 +45,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_map::type as_map(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/convert_impl.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/convert_impl.hpp index 14a821e879..3a773d74de 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/convert_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/convert_impl.hpp @@ -41,7 +41,7 @@ namespace boost { namespace fusion template apply::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return gen::call(fusion::begin(seq)); diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp index 7be6fd962a..ccaa2910e8 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/deref_data_impl.hpp @@ -36,7 +36,7 @@ namespace boost { namespace fusion { namespace extension >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/deref_impl.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/deref_impl.hpp index 260c5dfddd..7fa01c3fff 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/deref_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/deref_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion { namespace extension >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/end_impl.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/end_impl.hpp index 33940c7a7e..2830b9557a 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/end_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/end_impl.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/limits.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/limits.hpp index 43b5abb261..1eaa528c44 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/limits.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/limits.hpp @@ -8,7 +8,7 @@ #define FUSION_MAP_LIMITS_07212005_1104 #include -#include +#include #if !defined(FUSION_MAX_MAP_SIZE) # define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/map.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/map.hpp index 8673895ea8..3ff1d05d82 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/map.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/map.hpp @@ -24,6 +24,15 @@ #include #include #include +#include +#include +#include +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) && \ + defined(BOOST_MSVC) && (BOOST_MSVC == 1700) +// see map_forward_ctor.hpp +#include +#include +#endif #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) #include @@ -45,6 +54,8 @@ #pragma wave option(preserve: 1) #endif +#define FUSION_HASH # + namespace boost { namespace fusion { struct void_; @@ -65,10 +76,14 @@ namespace boost { namespace fusion typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} + template BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) @@ -77,23 +92,51 @@ namespace boost { namespace fusion #include template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } - BOOST_FUSION_GPU_ENABLED +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = BOOST_FUSION_FWD_ELEM(T, rhs); + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: @@ -102,6 +145,8 @@ namespace boost { namespace fusion }; }} +#undef FUSION_HASH + #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(output: null) #endif diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp index ac303788e2..18864e87df 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/map_forward_ctor.hpp @@ -8,15 +8,14 @@ #if !defined(FUSION_MAP_FORWARD_CTOR_07222005_0106) #define FUSION_MAP_FORWARD_CTOR_07222005_0106 -#include -#include -#include +#define FUSION_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(U##n, _##n) #define BOOST_PP_FILENAME_1 \ #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) #include BOOST_PP_ITERATE() +#undef FUSION_FORWARD_CTOR_FORWARD #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// @@ -27,12 +26,37 @@ #define N BOOST_PP_ITERATION() + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED +#if N == 1 + explicit +#endif + map(BOOST_PP_ENUM_BINARY_PARAMS(N, typename detail::call_param::type arg)) + : data(BOOST_PP_ENUM_PARAMS(N, arg)) {} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + template BOOST_FUSION_GPU_ENABLED #if N == 1 explicit #endif - map(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - : data(BOOST_PP_ENUM_PARAMS(N, _)) {} + map(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg) +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) && \ + N == 1 + // workaround for MSVC 10 +FUSION_HASH if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +FUSION_HASH endif +#endif + ) + : data(BOOST_PP_ENUM(N, FUSION_FORWARD_CTOR_FORWARD, arg)) {} +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif #undef N #endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp index c5273214f6..eea163323f 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map10.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -218,4 +219,5 @@ namespace boost { namespace fusion { namespace detail return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9)); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp index b62cf67526..ec5003a168 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map20.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -428,4 +429,5 @@ namespace boost { namespace fusion { namespace detail return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19)); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp index bb2c6d539a..276c4026b8 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map30.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -638,4 +639,5 @@ namespace boost { namespace fusion { namespace detail return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29)); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp index 1c4d7c60a9..a03ac13d08 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map40.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -649,7 +650,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -670,7 +671,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -691,7 +692,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -712,7 +713,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -733,7 +734,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -754,7 +755,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -775,7 +776,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -796,7 +797,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -817,7 +818,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -838,7 +839,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -848,4 +849,5 @@ namespace boost { namespace fusion { namespace detail return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39)); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp index e9cec05b5c..ab48551aa8 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/as_map50.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template struct as_map<1, is_assoc> { @@ -19,7 +20,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -649,7 +650,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -670,7 +671,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -691,7 +692,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -712,7 +713,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -733,7 +734,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -754,7 +755,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -775,7 +776,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -796,7 +797,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -817,7 +818,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -838,7 +839,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -859,7 +860,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -880,7 +881,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -901,7 +902,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -922,7 +923,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -943,7 +944,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -964,7 +965,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -985,7 +986,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1006,7 +1007,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1027,7 +1028,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1048,7 +1049,7 @@ namespace boost { namespace fusion { namespace detail typedef map type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1058,4 +1059,5 @@ namespace boost { namespace fusion { namespace detail return result(gen::D0::call(i0) , gen::D1::call(i1) , gen::D2::call(i2) , gen::D3::call(i3) , gen::D4::call(i4) , gen::D5::call(i5) , gen::D6::call(i6) , gen::D7::call(i7) , gen::D8::call(i8) , gen::D9::call(i9) , gen::D10::call(i10) , gen::D11::call(i11) , gen::D12::call(i12) , gen::D13::call(i13) , gen::D14::call(i14) , gen::D15::call(i15) , gen::D16::call(i16) , gen::D17::call(i17) , gen::D18::call(i18) , gen::D19::call(i19) , gen::D20::call(i20) , gen::D21::call(i21) , gen::D22::call(i22) , gen::D23::call(i23) , gen::D24::call(i24) , gen::D25::call(i25) , gen::D26::call(i26) , gen::D27::call(i27) , gen::D28::call(i28) , gen::D29::call(i29) , gen::D30::call(i30) , gen::D31::call(i31) , gen::D32::call(i32) , gen::D33::call(i33) , gen::D34::call(i34) , gen::D35::call(i35) , gen::D36::call(i36) , gen::D37::call(i37) , gen::D38::call(i38) , gen::D39::call(i39) , gen::D40::call(i40) , gen::D41::call(i41) , gen::D42::call(i42) , gen::D43::call(i43) , gen::D44::call(i44) , gen::D45::call(i45) , gen::D46::call(i46) , gen::D47::call(i47) , gen::D48::call(i48) , gen::D49::call(i49)); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp index 3948e81068..857f8efe72 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map10.hpp @@ -21,60 +21,156 @@ namespace boost { namespace fusion T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> storage_type; typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} template BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED explicit - map(T0 const& _0) - : data(_0) {} + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } - BOOST_FUSION_GPU_ENABLED +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp index f562fad610..9bf285450d 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map20.hpp @@ -21,90 +21,256 @@ namespace boost { namespace fusion T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> storage_type; typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} template BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED explicit - map(T0 const& _0) - : data(_0) {} + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } - BOOST_FUSION_GPU_ENABLED +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp index 3cbf4018b8..a1b1888751 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map30.hpp @@ -21,120 +21,356 @@ namespace boost { namespace fusion T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> storage_type; typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} template BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED explicit - map(T0 const& _0) - : data(_0) {} + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } - BOOST_FUSION_GPU_ENABLED +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp index 2a38432805..e74d204c52 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map40.hpp @@ -21,150 +21,456 @@ namespace boost { namespace fusion T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> storage_type; typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} template BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED explicit - map(T0 const& _0) - : data(_0) {} + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} +# endif template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } - BOOST_FUSION_GPU_ENABLED +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp index e2cca91587..7f3c32d99a 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/preprocessed/map50.hpp @@ -21,180 +21,556 @@ namespace boost { namespace fusion T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> storage_type; typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() : data() {} + BOOST_FUSION_GPU_ENABLED + map(map const& rhs) + : data(rhs.data) {} template BOOST_FUSION_GPU_ENABLED map(Sequence const& rhs) : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + map(typename detail::call_param::type arg0) + : data(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED explicit - map(T0 const& _0) - : data(_0) {} + map(U0 && arg0 + +# if defined(BOOST_MSVC) && (BOOST_MSVC == 1700) + , typename enable_if >::type* = 0 +# endif + ) + : data(std::forward( arg0)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1) - : data(_0 , _1) {} + map(U0 && arg0 , U1 && arg1 + ) + : data(std::forward( arg0) , std::forward( arg1)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2) - : data(_0 , _1 , _2) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) - : data(_0 , _1 , _2 , _3) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) - : data(_0 , _1 , _2 , _3 , _4) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} +# endif + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template BOOST_FUSION_GPU_ENABLED - map(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49) {} + map(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 + ) + : data(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} +# endif template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(T const& rhs) { data = rhs; return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { data = rhs.data; return *this; } - BOOST_FUSION_GPU_ENABLED +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map(map&& rhs) + : data(std::move(rhs.data)) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(T&& rhs) + { + data = std::forward( rhs); + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map& operator=(map&& rhs) + { + data = std::move(rhs.data); + return *this; + } +# endif + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED storage_type const& get_data() const { return data; } private: storage_type data; diff --git a/3party/boost/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp b/3party/boost/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp index d61ab2038a..2af55396c8 100644 --- a/3party/boost/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/cpp03/value_at_impl.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion struct value_at_impl { template - struct apply + struct apply { typedef typename mpl::at::type type; }; diff --git a/3party/boost/boost/fusion/container/map/detail/end_impl.hpp b/3party/boost/boost/fusion/container/map/detail/end_impl.hpp index fea45db37b..50dec8efb8 100644 --- a/3party/boost/boost/fusion/container/map/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/end_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { typedef map_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type(seq); diff --git a/3party/boost/boost/fusion/container/map/detail/map_impl.hpp b/3party/boost/boost/fusion/container/map/detail/map_impl.hpp index f70d139231..c62145ba0c 100644 --- a/3party/boost/boost/fusion/container/map/detail/map_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/map_impl.hpp @@ -33,24 +33,24 @@ namespace boost { namespace fusion { namespace detail static int const index = index_; static int const size = 0; - BOOST_FUSION_GPU_ENABLED - map_impl() {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl() BOOST_NOEXCEPT {} template - BOOST_FUSION_GPU_ENABLED - map_impl(Iterator const& iter, map_impl_from_iterator) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + map_impl(Iterator const&, map_impl_from_iterator) BOOST_NOEXCEPT {} template - BOOST_FUSION_GPU_ENABLED - void assign(Iterator const& iter, map_impl_from_iterator) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + void assign(Iterator const&, map_impl_from_iterator) BOOST_NOEXCEPT {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void get(); - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void get_val(); - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void get_key(); }; @@ -71,54 +71,54 @@ namespace boost { namespace fusion { namespace detail typedef typename Pair::first_type key_type; typedef typename Pair::second_type value_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl() : rest_type(), element() {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(map_impl const& rhs) : rest_type(rhs.get_base()), element(rhs.element) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(map_impl&& rhs) - : rest_type(std::forward(*static_cast(&rhs))) - , element(std::forward(rhs.element)) + : rest_type(BOOST_FUSION_FWD_ELEM(rest_type, *static_cast(&rhs))) + , element(BOOST_FUSION_FWD_ELEM(Pair, rhs.element)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(map_impl const& rhs) : rest_type(rhs.get_base()), element(rhs.element) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(typename detail::call_param::type element_ , typename detail::call_param::type... rest) : rest_type(rest...), element(element_) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(Pair&& element_, T&&... rest) - : rest_type(std::forward(rest)...) - , element(std::forward(element_)) + : rest_type(BOOST_FUSION_FWD_ELEM(T, rest)...) + , element(BOOST_FUSION_FWD_ELEM(Pair, element_)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl(Iterator const& iter, map_impl_from_iterator fi) : rest_type(fusion::next(iter), fi) , element(*iter) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED rest_type& get_base() { return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED rest_type const& get_base() const { return *this; @@ -138,28 +138,28 @@ namespace boost { namespace fusion { namespace detail BOOST_FUSION_GPU_ENABLED mpl::identity get_key(mpl::int_) const; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename cref_result::type get(mpl::identity) const { return element.second; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename ref_result::type get(mpl::identity) { return element.second; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename cref_result::type get(mpl::int_) const { return element; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename ref_result::type get(mpl::int_) { @@ -167,7 +167,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl& operator=(map_impl const& rhs) { rest_type::operator=(rhs); @@ -175,7 +175,7 @@ namespace boost { namespace fusion { namespace detail return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl& operator=(map_impl const& rhs) { rest_type::operator=(rhs); @@ -183,16 +183,16 @@ namespace boost { namespace fusion { namespace detail return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_impl& operator=(map_impl&& rhs) { rest_type::operator=(std::forward(rhs)); - element = std::forward(rhs.element); + element = BOOST_FUSION_FWD_ELEM(Pair, rhs.element); return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void assign(Iterator const& iter, map_impl_from_iterator fi) { rest_type::assign(fusion::next(iter), fi); diff --git a/3party/boost/boost/fusion/container/map/detail/value_at_impl.hpp b/3party/boost/boost/fusion/container/map/detail/value_at_impl.hpp index f98c580068..c51cc12547 100644 --- a/3party/boost/boost/fusion/container/map/detail/value_at_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/value_at_impl.hpp @@ -9,6 +9,7 @@ #include #include +#include namespace boost { namespace fusion { @@ -27,7 +28,7 @@ namespace boost { namespace fusion { typedef mpl::int_ index; typedef - decltype(std::declval().get_val(index())) + decltype(boost::declval().get_val(index())) type; }; }; diff --git a/3party/boost/boost/fusion/container/map/detail/value_at_key_impl.hpp b/3party/boost/boost/fusion/container/map/detail/value_at_key_impl.hpp index 00a54c4e2d..94d2da47aa 100644 --- a/3party/boost/boost/fusion/container/map/detail/value_at_key_impl.hpp +++ b/3party/boost/boost/fusion/container/map/detail/value_at_key_impl.hpp @@ -12,6 +12,7 @@ #include #include #include +#include namespace boost { namespace fusion { @@ -29,7 +30,7 @@ namespace boost { namespace fusion struct apply { typedef - decltype(std::declval().get_val(mpl::identity())) + decltype(boost::declval().get_val(mpl::identity())) type; }; }; diff --git a/3party/boost/boost/fusion/container/map/map.hpp b/3party/boost/boost/fusion/container/map/map.hpp index 80e53ee777..e90d28a939 100644 --- a/3party/boost/boost/fusion/container/map/map.hpp +++ b/3party/boost/boost/fusion/container/map/map.hpp @@ -52,15 +52,15 @@ namespace boost { namespace fusion typedef mpl::int_ size; typedef mpl::false_ is_view; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map() {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map const& seq) : base_type(seq.base()) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(map&& seq) : base_type(std::forward(seq)) {} @@ -87,7 +87,7 @@ namespace boost { namespace fusion {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map(First const& first, T_ const&... rest) : base_type(first, rest...) {} @@ -95,17 +95,17 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED map(First&& first, T_&&... rest) - : base_type(std::forward(first), std::forward(rest)...) + : base_type(BOOST_FUSION_FWD_ELEM(First, first), BOOST_FUSION_FWD_ELEM(T_, rest)...) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map const& rhs) { base_type::operator=(rhs.base()); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED map& operator=(map&& rhs) { base_type::operator=(std::forward(rhs.base())); @@ -113,7 +113,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename enable_if, map&>::type operator=(Sequence const& seq) { @@ -121,10 +121,10 @@ namespace boost { namespace fusion return *this; } - BOOST_FUSION_GPU_ENABLED - base_type& base() { return *this; } - BOOST_FUSION_GPU_ENABLED - base_type const& base() const { return *this; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + base_type& base() BOOST_NOEXCEPT { return *this; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + base_type const& base() const BOOST_NOEXCEPT { return *this; } }; }} diff --git a/3party/boost/boost/fusion/container/map/map_fwd.hpp b/3party/boost/boost/fusion/container/map/map_fwd.hpp index 0eca6299ff..992396730c 100644 --- a/3party/boost/boost/fusion/container/map/map_fwd.hpp +++ b/3party/boost/boost/fusion/container/map/map_fwd.hpp @@ -23,6 +23,13 @@ # endif #endif +// MSVC variadics at this point in time is not ready yet (ICE!) +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) +# if defined(BOOST_FUSION_HAS_VARIADIC_MAP) +# undef BOOST_FUSION_HAS_VARIADIC_MAP +# endif +#endif + /////////////////////////////////////////////////////////////////////////////// // With no decltype and variadics, we will use the C++03 version /////////////////////////////////////////////////////////////////////////////// diff --git a/3party/boost/boost/fusion/container/map/map_iterator.hpp b/3party/boost/boost/fusion/container/map/map_iterator.hpp index 1c03d8eb9e..b229cf552b 100644 --- a/3party/boost/boost/fusion/container/map/map_iterator.hpp +++ b/3party/boost/boost/fusion/container/map/map_iterator.hpp @@ -12,6 +12,10 @@ #include #include #include +#include +#include +#include +#include namespace boost { namespace fusion { @@ -26,7 +30,7 @@ namespace boost { namespace fusion typedef Seq sequence; typedef mpl::int_ index; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED map_iterator(Seq& seq) : seq_(seq) {} @@ -37,7 +41,7 @@ namespace boost { namespace fusion typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; typedef - decltype(std::declval().get_val(index())) + decltype(boost::declval().get_val(index())) type; }; @@ -47,7 +51,7 @@ namespace boost { namespace fusion typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; typedef - decltype(std::declval().get_val(index()).second) + decltype(boost::declval().get_val(index()).second) type; }; @@ -56,7 +60,7 @@ namespace boost { namespace fusion { typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; - typedef decltype(std::declval().get_key(index())) key_identity_type; + typedef decltype(boost::declval().get_key(index())) key_identity_type; typedef typename key_identity_type::type type; }; @@ -66,10 +70,10 @@ namespace boost { namespace fusion typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; typedef - decltype(std::declval().get(index())) + decltype(boost::declval().get(index())) type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { @@ -82,11 +86,20 @@ namespace boost { namespace fusion { typedef typename Iterator::sequence sequence; typedef typename Iterator::index index; - typedef - decltype(std::declval().get(index()).second) - type; - BOOST_FUSION_GPU_ENABLED + typedef decltype(boost::declval().get(index()).second) second_type_; + + typedef typename + mpl::if_< + is_const + , typename add_const::type + , second_type_ + >::type + second_type; + + typedef typename add_reference::type type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { @@ -101,7 +114,7 @@ namespace boost { namespace fusion typedef typename Iterator::sequence sequence; typedef map_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -128,7 +141,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I1 const&, I2 const&) { @@ -150,4 +163,13 @@ namespace boost { namespace fusion }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::map_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/container/set.hpp b/3party/boost/boost/fusion/container/set.hpp index 6445397464..c9aa6241c2 100644 --- a/3party/boost/boost/fusion/container/set.hpp +++ b/3party/boost/boost/fusion/container/set.hpp @@ -8,7 +8,6 @@ #define FUSION_SEQUENCE_CLASS_SET_10022005_0607 #include -#include #include #include #include diff --git a/3party/boost/boost/fusion/container/set/convert.hpp b/3party/boost/boost/fusion/container/set/convert.hpp index 631c251d44..81e064cdaa 100644 --- a/3party/boost/boost/fusion/container/set/convert.hpp +++ b/3party/boost/boost/fusion/container/set/convert.hpp @@ -29,7 +29,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_set::type as_set(Sequence& seq) { @@ -38,7 +38,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_set::type as_set(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/container/set/detail/as_set.hpp b/3party/boost/boost/fusion/container/set/detail/as_set.hpp index 26a719e3be..1eb0d3fe12 100644 --- a/3party/boost/boost/fusion/container/set/detail/as_set.hpp +++ b/3party/boost/boost/fusion/container/set/detail/as_set.hpp @@ -1,132 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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_PP_IS_ITERATING -#if !defined(FUSION_AS_SET_0932005_1341) -#define FUSION_AS_SET_0932005_1341 +#ifndef FUSION_AS_SET_11062014_2121 +#define FUSION_AS_SET_11062014_2121 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include -namespace boost { namespace fusion { namespace detail -{ - template - struct as_set; - - template <> - struct as_set<0> - { - template - struct apply - { - typedef set<> type; - }; - - template - BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator) - { - return set<>(); - } - }; -}}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_set" FUSION_MAX_SET_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ -#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::next::type \ - BOOST_PP_CAT(I, BOOST_PP_INC(n)); - -#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ - typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ - BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); - -#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::value_of::type \ - BOOST_PP_CAT(T, n); - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_NEXT_ITERATOR -#undef BOOST_FUSION_NEXT_CALL_ITERATOR -#undef BOOST_FUSION_VALUE_OF_ITERATOR - -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// +// Without variadics, we will use the PP version /////////////////////////////////////////////////////////////////////////////// +# include -#define N BOOST_PP_ITERATION() - - template <> - struct as_set - { - template - struct apply - { - BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) - BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) - typedef set type; - }; - - template - BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) - return result(BOOST_PP_ENUM_PARAMS(N, *i)); - } - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) +#endif diff --git a/3party/boost/boost/fusion/container/set/detail/begin_impl.hpp b/3party/boost/boost/fusion/container/set/detail/begin_impl.hpp index df522b5742..1ebd4e465e 100644 --- a/3party/boost/boost/fusion/container/set/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/container/set/detail/begin_impl.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/container/set/detail/convert_impl.hpp b/3party/boost/boost/fusion/container/set/detail/convert_impl.hpp index 4a24dff883..d9d5dcfcd3 100644 --- a/3party/boost/boost/fusion/container/set/detail/convert_impl.hpp +++ b/3party/boost/boost/fusion/container/set/detail/convert_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion template apply::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return gen::call(fusion::begin(seq)); diff --git a/3party/boost/boost/fusion/container/set/detail/cpp03/as_set.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/as_set.hpp new file mode 100644 index 0000000000..113710715a --- /dev/null +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/as_set.hpp @@ -0,0 +1,138 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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_PP_IS_ITERATING +#if !defined(FUSION_AS_SET_0932005_1341) +#define FUSION_AS_SET_0932005_1341 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + + template + struct as_set; + + template <> + struct as_set<0> + { + template + struct apply + { + typedef set<> type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator) + { + return set<>(); + } + }; + +BOOST_FUSION_BARRIER_END +}}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_set" FUSION_MAX_SET_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + +#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::next::type \ + BOOST_PP_CAT(I, BOOST_PP_INC(n)); + +#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ + typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ + BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); + +#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::value_of::type \ + BOOST_PP_CAT(T, n); + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_NEXT_ITERATOR +#undef BOOST_FUSION_NEXT_CALL_ITERATOR +#undef BOOST_FUSION_VALUE_OF_ITERATOR + +BOOST_FUSION_BARRIER_END +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template <> + struct as_set + { + template + struct apply + { + BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) + BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) + typedef set type; + }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) + return result(BOOST_PP_ENUM_PARAMS(N, *i)); + } + }; + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/set/limits.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/limits.hpp similarity index 93% rename from 3party/boost/boost/fusion/container/set/limits.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/limits.hpp index adfecdbd0a..2b800abfed 100644 --- a/3party/boost/boost/fusion/container/set/limits.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/limits.hpp @@ -8,7 +8,7 @@ #define FUSION_SET_LIMITS_09162005_1103 #include -#include +#include #if !defined(FUSION_MAX_SET_SIZE) # define FUSION_MAX_SET_SIZE FUSION_MAX_VECTOR_SIZE diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp similarity index 62% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/as_set.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp index 4231dcb180..da257ad900 100644 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_SET_SIZE <= 10 -#include +#include #elif FUSION_MAX_SET_SIZE <= 20 -#include +#include #elif FUSION_MAX_SET_SIZE <= 30 -#include +#include #elif FUSION_MAX_SET_SIZE <= 40 -#include +#include #elif FUSION_MAX_SET_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set10.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp similarity index 95% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/as_set10.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp index f285cd5aad..9356aa27b8 100644 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set10.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set10.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -218,4 +219,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set20.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp similarity index 97% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/as_set20.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp index b7ad7fa39a..b03548f4f0 100644 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set20.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set20.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -428,4 +429,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set30.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp similarity index 98% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/as_set30.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp index 7a97a8e55a..9467f75f80 100644 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set30.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set30.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -638,4 +639,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set40.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp similarity index 98% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/as_set40.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp index 8e98f68a8b..78aac9e54a 100644 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set40.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set40.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -649,7 +650,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -670,7 +671,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -691,7 +692,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -712,7 +713,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -733,7 +734,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -754,7 +755,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -775,7 +776,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -796,7 +797,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -817,7 +818,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -838,7 +839,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -848,4 +849,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set50.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp similarity index 98% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/as_set50.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp index 6cefd9a15c..71e6995349 100644 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/as_set50.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/as_set50.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_set<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -649,7 +650,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -670,7 +671,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -691,7 +692,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -712,7 +713,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -733,7 +734,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -754,7 +755,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -775,7 +776,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -796,7 +797,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -817,7 +818,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -838,7 +839,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -859,7 +860,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -880,7 +881,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -901,7 +902,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -922,7 +923,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -943,7 +944,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -964,7 +965,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -985,7 +986,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1006,7 +1007,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1027,7 +1028,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1048,7 +1049,7 @@ namespace boost { namespace fusion { namespace detail typedef set type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1058,4 +1059,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp similarity index 63% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/set.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp index a64fab2c8e..715d5744f9 100644 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/set.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_SET_SIZE <= 10 -#include +#include #elif FUSION_MAX_SET_SIZE <= 20 -#include +#include #elif FUSION_MAX_SET_SIZE <= 30 -#include +#include #elif FUSION_MAX_SET_SIZE <= 40 -#include +#include #elif FUSION_MAX_SET_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp new file mode 100644 index 0000000000..b408495a4b --- /dev/null +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set10.hpp @@ -0,0 +1,78 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set10_fwd.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/set10_fwd.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set10_fwd.hpp diff --git a/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp new file mode 100644 index 0000000000..7f38200c98 --- /dev/null +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set20.hpp @@ -0,0 +1,108 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set20_fwd.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/set20_fwd.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set20_fwd.hpp diff --git a/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp new file mode 100644 index 0000000000..ff9d21d7d7 --- /dev/null +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set30.hpp @@ -0,0 +1,138 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set30_fwd.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/set30_fwd.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set30_fwd.hpp diff --git a/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp new file mode 100644 index 0000000000..30e3e3fdf6 --- /dev/null +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set40.hpp @@ -0,0 +1,168 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set40_fwd.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/set40_fwd.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set40_fwd.hpp diff --git a/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp new file mode 100644 index 0000000000..49043afe87 --- /dev/null +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set50.hpp @@ -0,0 +1,198 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; + typedef mpl::false_ is_view; + typedef vector< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> + storage_type; + typedef typename storage_type::size size; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : data(rhs) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit + set(typename detail::call_param::type arg0) + : data(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : data(arg0 , arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : data(arg0 , arg1 , arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : data(arg0 , arg1 , arg2 , arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : data(arg0 , arg1 , arg2 , arg3 , arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : data(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + private: + storage_type data; + }; +}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set50_fwd.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/set50_fwd.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set50_fwd.hpp diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set_fwd.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp similarity index 62% rename from 3party/boost/boost/fusion/container/set/detail/preprocessed/set_fwd.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp index 28a3e814d2..31e8e411bf 100644 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/set_fwd.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/preprocessed/set_fwd.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_SET_SIZE <= 10 -#include +#include #elif FUSION_MAX_SET_SIZE <= 20 -#include +#include #elif FUSION_MAX_SET_SIZE <= 30 -#include +#include #elif FUSION_MAX_SET_SIZE <= 40 -#include +#include #elif FUSION_MAX_SET_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_SET_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/set/detail/cpp03/set.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/set.hpp new file mode 100644 index 0000000000..46191c5c63 --- /dev/null +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/set.hpp @@ -0,0 +1,106 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_SET_09162005_1104) +#define FUSION_SET_09162005_1104 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/set" FUSION_MAX_SET_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + + template + struct set : sequence_base > + { + struct category : forward_traversal_tag, associative_tag {}; + + typedef set_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + + typedef vector< + BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)> + storage_type; + + typedef typename storage_type::size size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set() + : data() {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set(Sequence const& rhs + , typename boost::enable_if >::type* = 0) + : data(rhs) {} + + #include + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + set& + operator=(T const& rhs) + { + data = rhs; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type& get_data() { return data; } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + storage_type const& get_data() const { return data; } + + private: + + storage_type data; + }; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/set/detail/set_forward_ctor.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp similarity index 83% rename from 3party/boost/boost/fusion/container/set/detail/set_forward_ctor.hpp rename to 3party/boost/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp index 9e6fd926d4..e755ae2799 100644 --- a/3party/boost/boost/fusion/container/set/detail/set_forward_ctor.hpp +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/set_forward_ctor.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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_PP_IS_ITERATING @@ -13,7 +13,7 @@ #include #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) #include BOOST_PP_ITERATE() @@ -27,14 +27,13 @@ #define N BOOST_PP_ITERATION() - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED #if N == 1 explicit #endif set(BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type _)) - : data(BOOST_PP_ENUM_PARAMS(N, _)) {} + N, typename detail::call_param::type arg)) + : data(BOOST_PP_ENUM_PARAMS(N, arg)) {} #undef N #endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/3party/boost/boost/fusion/container/set/detail/cpp03/set_fwd.hpp b/3party/boost/boost/fusion/container/set/detail/cpp03/set_fwd.hpp new file mode 100644 index 0000000000..f50f6083ea --- /dev/null +++ b/3party/boost/boost/fusion/container/set/detail/cpp03/set_fwd.hpp @@ -0,0 +1,53 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_SET_FORWARD_09162005_1102) +#define FUSION_SET_FORWARD_09162005_1102 + +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/set" FUSION_MAX_SET_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + struct set_tag; + struct set_iterator_tag; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_SET_SIZE, typename T, void_) + > + struct set; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/set/detail/deref_impl.hpp b/3party/boost/boost/fusion/container/set/detail/deref_impl.hpp index 4a43819d13..e5da52197b 100644 --- a/3party/boost/boost/fusion/container/set/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/container/set/detail/deref_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion { namespace extension >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/3party/boost/boost/fusion/container/set/detail/end_impl.hpp b/3party/boost/boost/fusion/container/set/detail/end_impl.hpp index b793addc1e..fbae9b75b5 100644 --- a/3party/boost/boost/fusion/container/set/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/container/set/detail/end_impl.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace extension > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set10.hpp b/3party/boost/boost/fusion/container/set/detail/preprocessed/set10.hpp deleted file mode 100644 index 92c3465314..0000000000 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/set10.hpp +++ /dev/null @@ -1,77 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - template - BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set20.hpp b/3party/boost/boost/fusion/container/set/detail/preprocessed/set20.hpp deleted file mode 100644 index 9860456392..0000000000 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/set20.hpp +++ /dev/null @@ -1,107 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - template - BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set30.hpp b/3party/boost/boost/fusion/container/set/detail/preprocessed/set30.hpp deleted file mode 100644 index 7227bf71e8..0000000000 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/set30.hpp +++ /dev/null @@ -1,137 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} - template - BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set40.hpp b/3party/boost/boost/fusion/container/set/detail/preprocessed/set40.hpp deleted file mode 100644 index f1944ca933..0000000000 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/set40.hpp +++ /dev/null @@ -1,167 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} - template - BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/3party/boost/boost/fusion/container/set/detail/preprocessed/set50.hpp b/3party/boost/boost/fusion/container/set/detail/preprocessed/set50.hpp deleted file mode 100644 index 5464614420..0000000000 --- a/3party/boost/boost/fusion/container/set/detail/preprocessed/set50.hpp +++ /dev/null @@ -1,197 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; - typedef mpl::false_ is_view; - typedef vector< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49> - storage_type; - typedef typename storage_type::size size; - BOOST_FUSION_GPU_ENABLED - set() - : data() {} - template - BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs) - : data(rhs) {} - BOOST_FUSION_GPU_ENABLED - explicit - set(typename detail::call_param::type _0) - : data(_0) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : data(_0 , _1) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : data(_0 , _1 , _2) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : data(_0 , _1 , _2 , _3) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : data(_0 , _1 , _2 , _3 , _4) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : data(_0 , _1 , _2 , _3 , _4 , _5) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48) {} - BOOST_FUSION_GPU_ENABLED - set(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48 , typename detail::call_param::type _49) - : data(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49) {} - template - BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - private: - storage_type data; - }; -}} diff --git a/3party/boost/boost/fusion/container/set/set.hpp b/3party/boost/boost/fusion/container/set/set.hpp index e1d019a77b..59f4eafc02 100644 --- a/3party/boost/boost/fusion/container/set/set.hpp +++ b/3party/boost/boost/fusion/container/set/set.hpp @@ -1,103 +1,20 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_SET_09162005_1104) -#define FUSION_SET_09162005_1104 +#ifndef FUSION_SET_11062014_1726 +#define FUSION_SET_11062014_1726 #include -#include -#include -#include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/set" FUSION_MAX_SET_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - - template - struct set : sequence_base > - { - struct category : forward_traversal_tag, associative_tag {}; - - typedef set_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - - typedef vector< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_SET_SIZE, T)> - storage_type; - - typedef typename storage_type::size size; - - BOOST_FUSION_GPU_ENABLED - set() - : data() {} - - template - BOOST_FUSION_GPU_ENABLED - set(Sequence const& rhs) - : data(rhs) {} - - #include - - template - BOOST_FUSION_GPU_ENABLED - set& - operator=(T const& rhs) - { - data = rhs; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - storage_type& get_data() { return data; } - BOOST_FUSION_GPU_ENABLED - storage_type const& get_data() const { return data; } - - private: - - storage_type data; - }; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +# include #endif + + diff --git a/3party/boost/boost/fusion/container/set/set_fwd.hpp b/3party/boost/boost/fusion/container/set/set_fwd.hpp index 2de3db6d5b..50d8d1c8bd 100644 --- a/3party/boost/boost/fusion/container/set/set_fwd.hpp +++ b/3party/boost/boost/fusion/container/set/set_fwd.hpp @@ -1,53 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_SET_FORWARD_09162005_1102) -#define FUSION_SET_FORWARD_09162005_1102 +#ifndef FUSION_SET_FORWARD_11062014_1720 +#define FUSION_SET_FORWARD_11062014_1720 +#include #include -#include -#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/set" FUSION_MAX_SET_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct set_tag; - struct set_iterator_tag; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_SET_SIZE, typename T, void_) - > - struct set; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +# include #endif + diff --git a/3party/boost/boost/fusion/container/vector.hpp b/3party/boost/boost/fusion/container/vector.hpp index 06fa5a04bb..a999c8b023 100644 --- a/3party/boost/boost/fusion/container/vector.hpp +++ b/3party/boost/boost/fusion/container/vector.hpp @@ -8,7 +8,7 @@ #define FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602 #include -#include +#include #include #if (FUSION_MAX_VECTOR_SIZE > 10) diff --git a/3party/boost/boost/fusion/container/vector/convert.hpp b/3party/boost/boost/fusion/container/vector/convert.hpp index 0582fe5cbf..adc7f478e1 100644 --- a/3party/boost/boost/fusion/container/vector/convert.hpp +++ b/3party/boost/boost/fusion/container/vector/convert.hpp @@ -29,7 +29,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_vector::type as_vector(Sequence& seq) { @@ -38,7 +38,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::as_vector::type as_vector(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/container/vector/detail/advance_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/advance_impl.hpp index af45a1a8ef..3bf26a5914 100644 --- a/3party/boost/boost/fusion/container/vector/detail/advance_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/advance_impl.hpp @@ -18,7 +18,7 @@ namespace boost { namespace fusion { template struct advance_impl; - + template <> struct advance_impl { @@ -28,8 +28,8 @@ namespace boost { namespace fusion typedef typename Iterator::index index; typedef typename Iterator::vector vector; typedef vector_iterator type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/container/vector/detail/as_vector.hpp b/3party/boost/boost/fusion/container/vector/detail/as_vector.hpp index 2224fcc6ab..eaaac89638 100644 --- a/3party/boost/boost/fusion/container/vector/detail/as_vector.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/as_vector.hpp @@ -1,133 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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_PP_IS_ITERATING -#if !defined(FUSION_AS_VECTOR_09222005_0950) -#define FUSION_AS_VECTOR_09222005_0950 +#ifndef FUSION_AS_VECTOR_11052014_1801 +#define FUSION_AS_VECTOR_11052014_1801 -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include -namespace boost { namespace fusion { namespace detail -{ - template - struct as_vector; - - template <> - struct as_vector<0> - { - template - struct apply - { - typedef vector0<> type; - }; - - template - BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator) - { - return vector0<>(); - } - }; -}}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_vector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion { namespace detail -{ - -#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::next::type \ - BOOST_PP_CAT(I, BOOST_PP_INC(n)); - -#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ - typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ - BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); - -#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ - typedef typename fusion::result_of::value_of::type \ - BOOST_PP_CAT(T, n); - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_NEXT_ITERATOR -#undef BOOST_FUSION_NEXT_CALL_ITERATOR -#undef BOOST_FUSION_VALUE_OF_ITERATOR - -}}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// +// Without variadics, we will use the PP version /////////////////////////////////////////////////////////////////////////////// +# include -#define N BOOST_PP_ITERATION() +#endif - template <> - struct as_vector - { - template - struct apply - { - BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) - BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) - typedef BOOST_PP_CAT(vector, N) type; - }; - - template - BOOST_FUSION_GPU_ENABLED - static typename apply::type - call(Iterator const& i0) - { - typedef apply gen; - typedef typename gen::type result; - BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) - return result(BOOST_PP_ENUM_PARAMS(N, *i)); - } - }; - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/vector/detail/at_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/at_impl.hpp index eb09b212a6..cb98dd4a25 100644 --- a/3party/boost/boost/fusion/container/vector/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/at_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion typedef typename mpl::at::type element; typedef typename detail::ref_result::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { @@ -46,7 +46,7 @@ namespace boost { namespace fusion typedef typename mpl::at::type element; typedef typename detail::cref_result::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& v) { diff --git a/3party/boost/boost/fusion/container/vector/detail/begin_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/begin_impl.hpp index 026b34ff6e..ef24cd74ee 100644 --- a/3party/boost/boost/fusion/container/vector/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/begin_impl.hpp @@ -23,11 +23,11 @@ namespace boost { namespace fusion struct begin_impl { template - struct apply + struct apply { typedef vector_iterator type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { diff --git a/3party/boost/boost/fusion/container/vector/detail/convert_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/convert_impl.hpp index ddf42590b0..63bfb7c7ae 100644 --- a/3party/boost/boost/fusion/container/vector/detail/convert_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/convert_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion template apply::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return gen::call(fusion::begin(seq)); diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/as_vector.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/as_vector.hpp new file mode 100644 index 0000000000..52c292ea61 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/as_vector.hpp @@ -0,0 +1,138 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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_PP_IS_ITERATING +#if !defined(FUSION_AS_VECTOR_09222005_0950) +#define FUSION_AS_VECTOR_09222005_0950 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + + template + struct as_vector; + + template <> + struct as_vector<0> + { + template + struct apply + { + typedef vector0<> type; + }; + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator) + { + return vector0<>(); + } + }; + +BOOST_FUSION_BARRIER_END +}}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/as_vector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion { namespace detail +{ +BOOST_FUSION_BARRIER_BEGIN + +#define BOOST_FUSION_NEXT_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::next::type \ + BOOST_PP_CAT(I, BOOST_PP_INC(n)); + +#define BOOST_FUSION_NEXT_CALL_ITERATOR(z, n, data) \ + typename gen::BOOST_PP_CAT(I, BOOST_PP_INC(n)) \ + BOOST_PP_CAT(i, BOOST_PP_INC(n)) = fusion::next(BOOST_PP_CAT(i, n)); + +#define BOOST_FUSION_VALUE_OF_ITERATOR(z, n, data) \ + typedef typename fusion::result_of::value_of::type \ + BOOST_PP_CAT(T, n); + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_NEXT_ITERATOR +#undef BOOST_FUSION_NEXT_CALL_ITERATOR +#undef BOOST_FUSION_VALUE_OF_ITERATOR + +BOOST_FUSION_BARRIER_END +}}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template <> + struct as_vector + { + template + struct apply + { + BOOST_PP_REPEAT(N, BOOST_FUSION_NEXT_ITERATOR, _) + BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) + typedef BOOST_PP_CAT(vector, N) type; + }; + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static typename apply::type + call(Iterator const& i0) + { + typedef apply gen; + typedef typename gen::type result; + BOOST_PP_REPEAT(BOOST_PP_DEC(N), BOOST_FUSION_NEXT_CALL_ITERATOR, _) + return result(BOOST_PP_ENUM_PARAMS(N, *i)); + } + }; + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/container/vector/limits.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/limits.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/limits.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/limits.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp similarity index 61% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp index c70f8a7c42..521443ef8e 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 20 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 30 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 40 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp similarity index 95% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp index 8a48beda9e..211b11b7e9 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector10.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector10.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef vector1 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef vector2 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef vector3 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef vector4 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef vector5 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef vector6 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef vector7 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef vector8 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef vector9 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef vector10 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -218,4 +219,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp similarity index 97% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp index 63bb0d5899..906b19800a 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector20.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector20.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef vector1 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef vector2 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef vector3 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef vector4 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef vector5 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef vector6 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef vector7 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef vector8 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef vector9 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef vector10 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef vector11 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef vector12 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef vector13 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef vector14 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef vector15 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef vector16 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef vector17 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef vector18 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef vector19 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef vector20 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -428,4 +429,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp similarity index 98% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp index 8888b2d8b9..fb8aeba8e7 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector30.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector30.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef vector1 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef vector2 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef vector3 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef vector4 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef vector5 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef vector6 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef vector7 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef vector8 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef vector9 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef vector10 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef vector11 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef vector12 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef vector13 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef vector14 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef vector15 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef vector16 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef vector17 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef vector18 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef vector19 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef vector20 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef vector21 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef vector22 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef vector23 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef vector24 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef vector25 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef vector26 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef vector27 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef vector28 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef vector29 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef vector30 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -638,4 +639,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp similarity index 98% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp index cfd7b055ec..a4cb67ef13 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector40.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector40.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef vector1 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef vector2 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef vector3 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef vector4 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef vector5 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef vector6 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef vector7 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef vector8 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef vector9 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef vector10 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef vector11 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef vector12 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef vector13 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef vector14 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef vector15 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef vector16 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef vector17 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef vector18 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef vector19 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef vector20 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef vector21 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef vector22 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef vector23 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef vector24 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef vector25 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef vector26 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef vector27 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef vector28 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef vector29 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef vector30 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -649,7 +650,7 @@ namespace boost { namespace fusion { namespace detail typedef vector31 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -670,7 +671,7 @@ namespace boost { namespace fusion { namespace detail typedef vector32 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -691,7 +692,7 @@ namespace boost { namespace fusion { namespace detail typedef vector33 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -712,7 +713,7 @@ namespace boost { namespace fusion { namespace detail typedef vector34 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -733,7 +734,7 @@ namespace boost { namespace fusion { namespace detail typedef vector35 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -754,7 +755,7 @@ namespace boost { namespace fusion { namespace detail typedef vector36 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -775,7 +776,7 @@ namespace boost { namespace fusion { namespace detail typedef vector37 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -796,7 +797,7 @@ namespace boost { namespace fusion { namespace detail typedef vector38 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -817,7 +818,7 @@ namespace boost { namespace fusion { namespace detail typedef vector39 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -838,7 +839,7 @@ namespace boost { namespace fusion { namespace detail typedef vector40 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -848,4 +849,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp similarity index 98% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp index ea42ba2f8a..c17d1c735e 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/as_vector50.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/as_vector50.hpp @@ -8,6 +8,7 @@ ==============================================================================*/ namespace boost { namespace fusion { namespace detail { +BOOST_FUSION_BARRIER_BEGIN template <> struct as_vector<1> { @@ -19,13 +20,13 @@ namespace boost { namespace fusion { namespace detail typedef vector1 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { typedef apply gen; typedef typename gen::type result; - + return result(*i0); } }; @@ -40,7 +41,7 @@ namespace boost { namespace fusion { namespace detail typedef vector2 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -61,7 +62,7 @@ namespace boost { namespace fusion { namespace detail typedef vector3 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -82,7 +83,7 @@ namespace boost { namespace fusion { namespace detail typedef vector4 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -103,7 +104,7 @@ namespace boost { namespace fusion { namespace detail typedef vector5 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -124,7 +125,7 @@ namespace boost { namespace fusion { namespace detail typedef vector6 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -145,7 +146,7 @@ namespace boost { namespace fusion { namespace detail typedef vector7 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -166,7 +167,7 @@ namespace boost { namespace fusion { namespace detail typedef vector8 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -187,7 +188,7 @@ namespace boost { namespace fusion { namespace detail typedef vector9 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -208,7 +209,7 @@ namespace boost { namespace fusion { namespace detail typedef vector10 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -229,7 +230,7 @@ namespace boost { namespace fusion { namespace detail typedef vector11 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -250,7 +251,7 @@ namespace boost { namespace fusion { namespace detail typedef vector12 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -271,7 +272,7 @@ namespace boost { namespace fusion { namespace detail typedef vector13 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -292,7 +293,7 @@ namespace boost { namespace fusion { namespace detail typedef vector14 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -313,7 +314,7 @@ namespace boost { namespace fusion { namespace detail typedef vector15 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -334,7 +335,7 @@ namespace boost { namespace fusion { namespace detail typedef vector16 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -355,7 +356,7 @@ namespace boost { namespace fusion { namespace detail typedef vector17 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -376,7 +377,7 @@ namespace boost { namespace fusion { namespace detail typedef vector18 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -397,7 +398,7 @@ namespace boost { namespace fusion { namespace detail typedef vector19 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -418,7 +419,7 @@ namespace boost { namespace fusion { namespace detail typedef vector20 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -439,7 +440,7 @@ namespace boost { namespace fusion { namespace detail typedef vector21 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -460,7 +461,7 @@ namespace boost { namespace fusion { namespace detail typedef vector22 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -481,7 +482,7 @@ namespace boost { namespace fusion { namespace detail typedef vector23 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -502,7 +503,7 @@ namespace boost { namespace fusion { namespace detail typedef vector24 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -523,7 +524,7 @@ namespace boost { namespace fusion { namespace detail typedef vector25 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -544,7 +545,7 @@ namespace boost { namespace fusion { namespace detail typedef vector26 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -565,7 +566,7 @@ namespace boost { namespace fusion { namespace detail typedef vector27 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -586,7 +587,7 @@ namespace boost { namespace fusion { namespace detail typedef vector28 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -607,7 +608,7 @@ namespace boost { namespace fusion { namespace detail typedef vector29 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -628,7 +629,7 @@ namespace boost { namespace fusion { namespace detail typedef vector30 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -649,7 +650,7 @@ namespace boost { namespace fusion { namespace detail typedef vector31 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -670,7 +671,7 @@ namespace boost { namespace fusion { namespace detail typedef vector32 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -691,7 +692,7 @@ namespace boost { namespace fusion { namespace detail typedef vector33 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -712,7 +713,7 @@ namespace boost { namespace fusion { namespace detail typedef vector34 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -733,7 +734,7 @@ namespace boost { namespace fusion { namespace detail typedef vector35 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -754,7 +755,7 @@ namespace boost { namespace fusion { namespace detail typedef vector36 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -775,7 +776,7 @@ namespace boost { namespace fusion { namespace detail typedef vector37 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -796,7 +797,7 @@ namespace boost { namespace fusion { namespace detail typedef vector38 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -817,7 +818,7 @@ namespace boost { namespace fusion { namespace detail typedef vector39 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -838,7 +839,7 @@ namespace boost { namespace fusion { namespace detail typedef vector40 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -859,7 +860,7 @@ namespace boost { namespace fusion { namespace detail typedef vector41 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -880,7 +881,7 @@ namespace boost { namespace fusion { namespace detail typedef vector42 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -901,7 +902,7 @@ namespace boost { namespace fusion { namespace detail typedef vector43 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -922,7 +923,7 @@ namespace boost { namespace fusion { namespace detail typedef vector44 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -943,7 +944,7 @@ namespace boost { namespace fusion { namespace detail typedef vector45 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -964,7 +965,7 @@ namespace boost { namespace fusion { namespace detail typedef vector46 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -985,7 +986,7 @@ namespace boost { namespace fusion { namespace detail typedef vector47 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1006,7 +1007,7 @@ namespace boost { namespace fusion { namespace detail typedef vector48 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1027,7 +1028,7 @@ namespace boost { namespace fusion { namespace detail typedef vector49 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1048,7 +1049,7 @@ namespace boost { namespace fusion { namespace detail typedef vector50 type; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename apply::type call(Iterator const& i0) { @@ -1058,4 +1059,5 @@ namespace boost { namespace fusion { namespace detail return result(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } }; +BOOST_FUSION_BARRIER_END }}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp similarity index 62% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp index 040fff948b..35b8e64329 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 20 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 30 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 40 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector10.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp similarity index 58% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector10.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp index 600b663f7e..92a133d09b 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector10.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10.hpp @@ -14,29 +14,36 @@ namespace boost { namespace fusion template struct vector_data1 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data1() : m0() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data1(U0 && _0 + vector_data1(U0 && arg0 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) {} + : m0(std::forward( arg0)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data1( vector_data1&& other) - : m0(std::forward(other.m0)) {} + : m0(std::forward( other.m0)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data1( - typename detail::call_param::type _0) - : m0(_0) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0) + : m0(arg0) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data1( vector_data1 const& other) : m0(other.m0) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data1& operator=(vector_data1 const& vec) { @@ -44,23 +51,29 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data1 init_from_sequence(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); - + return vector_data1(*i0); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data1 init_from_sequence(Sequence& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); - + return vector_data1(*i0); } T0 m0; @@ -74,39 +87,45 @@ namespace boost { namespace fusion typedef vector_data1 base_type; typedef mpl::vector1 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<1> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED explicit vector1( - typename detail::call_param::type _0) - : base_type(_0) {} + typename detail::call_param::type arg0) + : base_type(arg0) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED explicit vector1(U0&& _0 , typename boost::enable_if >::type* = 0 ) - : base_type(std::forward(_0)) {} - BOOST_FUSION_GPU_ENABLED + : base_type(std::forward( _0)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1(vector1&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1(vector1 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1& operator=(vector1 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1& operator=(vector1&& vec) { @@ -115,26 +134,37 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector1( vector1 const& vec) : base_type(vec.m0) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector1( Sequence const& seq + , typename boost::enable_if >::type* = 0 , typename boost::disable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector1( Sequence& seq + , typename boost::enable_if >::type* = 0 , typename boost::disable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector1& operator=(vector1 const& vec) { @@ -142,26 +172,26 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { typedef typename result_of::begin::type I0; I0 i0 = fusion::begin(seq); - + this->m0 = *i0; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -171,29 +201,36 @@ namespace boost { namespace fusion template struct vector_data2 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data2() : m0() , m1() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data2(U0 && _0 , U1 && _1 + vector_data2(U0 && arg0 , U1 && arg1 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data2( vector_data2&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data2( - typename detail::call_param::type _0 , typename detail::call_param::type _1) - : m0(_0) , m1(_1) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : m0(arg0) , m1(arg1) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data2( vector_data2 const& other) : m0(other.m0) , m1(other.m1) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data2& operator=(vector_data2 const& vec) { @@ -201,6 +238,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data2 init_from_sequence(Sequence const& seq) @@ -211,6 +251,9 @@ namespace boost { namespace fusion return vector_data2(*i0 , *i1); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data2 init_from_sequence(Sequence& seq) @@ -231,35 +274,41 @@ namespace boost { namespace fusion typedef vector_data2 base_type; typedef mpl::vector2 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<2> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector2( - typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector2(U0 && _0 , U1 && _1) - : base_type(std::forward(_0) , std::forward(_1)) {} - BOOST_FUSION_GPU_ENABLED + vector2(U0 && arg0 , U1 && arg1) + : base_type(std::forward( arg0) , std::forward( arg1)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2(vector2&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2(vector2 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2& operator=(vector2 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2& operator=(vector2&& vec) { @@ -268,24 +317,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector2( vector2 const& vec) : base_type(vec.m0 , vec.m1) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector2( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector2( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector2& operator=(vector2 const& vec) { @@ -293,7 +353,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -303,16 +363,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -322,29 +382,36 @@ namespace boost { namespace fusion template struct vector_data3 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data3() : m0() , m1() , m2() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data3(U0 && _0 , U1 && _1 , U2 && _2 + vector_data3(U0 && arg0 , U1 && arg1 , U2 && arg2 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data3( vector_data3&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data3( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : m0(_0) , m1(_1) , m2(_2) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : m0(arg0) , m1(arg1) , m2(arg2) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data3( vector_data3 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data3& operator=(vector_data3 const& vec) { @@ -352,6 +419,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data3 init_from_sequence(Sequence const& seq) @@ -362,6 +432,9 @@ namespace boost { namespace fusion return vector_data3(*i0 , *i1 , *i2); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data3 init_from_sequence(Sequence& seq) @@ -382,35 +455,41 @@ namespace boost { namespace fusion typedef vector_data3 base_type; typedef mpl::vector3 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<3> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector3( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector3(U0 && _0 , U1 && _1 , U2 && _2) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2)) {} - BOOST_FUSION_GPU_ENABLED + vector3(U0 && arg0 , U1 && arg1 , U2 && arg2) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3(vector3&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3(vector3 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3& operator=(vector3 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3& operator=(vector3&& vec) { @@ -419,24 +498,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector3( vector3 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector3( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector3( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector3& operator=(vector3 const& vec) { @@ -444,7 +534,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -454,16 +544,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -473,29 +563,36 @@ namespace boost { namespace fusion template struct vector_data4 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data4() : m0() , m1() , m2() , m3() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data4(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 + vector_data4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data4( vector_data4&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data4( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data4( vector_data4 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data4& operator=(vector_data4 const& vec) { @@ -503,6 +600,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data4 init_from_sequence(Sequence const& seq) @@ -513,6 +613,9 @@ namespace boost { namespace fusion return vector_data4(*i0 , *i1 , *i2 , *i3); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data4 init_from_sequence(Sequence& seq) @@ -533,35 +636,41 @@ namespace boost { namespace fusion typedef vector_data4 base_type; typedef mpl::vector4 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<4> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector4( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector4(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3)) {} - BOOST_FUSION_GPU_ENABLED + vector4(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4(vector4&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4(vector4 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4& operator=(vector4 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4& operator=(vector4&& vec) { @@ -570,24 +679,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector4( vector4 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector4( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector4( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector4& operator=(vector4 const& vec) { @@ -595,7 +715,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -605,16 +725,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -624,29 +744,36 @@ namespace boost { namespace fusion template struct vector_data5 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data5() : m0() , m1() , m2() , m3() , m4() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data5(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 + vector_data5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data5( vector_data5&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data5( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data5( vector_data5 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data5& operator=(vector_data5 const& vec) { @@ -654,6 +781,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data5 init_from_sequence(Sequence const& seq) @@ -664,6 +794,9 @@ namespace boost { namespace fusion return vector_data5(*i0 , *i1 , *i2 , *i3 , *i4); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data5 init_from_sequence(Sequence& seq) @@ -684,35 +817,41 @@ namespace boost { namespace fusion typedef vector_data5 base_type; typedef mpl::vector5 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<5> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector5( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector5(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4)) {} - BOOST_FUSION_GPU_ENABLED + vector5(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5(vector5&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5(vector5 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5& operator=(vector5 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5& operator=(vector5&& vec) { @@ -721,24 +860,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector5( vector5 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector5( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector5( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector5& operator=(vector5 const& vec) { @@ -746,7 +896,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -756,16 +906,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -775,29 +925,36 @@ namespace boost { namespace fusion template struct vector_data6 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data6() : m0() , m1() , m2() , m3() , m4() , m5() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data6(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 + vector_data6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data6( vector_data6&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data6( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data6( vector_data6 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data6& operator=(vector_data6 const& vec) { @@ -805,6 +962,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data6 init_from_sequence(Sequence const& seq) @@ -815,6 +975,9 @@ namespace boost { namespace fusion return vector_data6(*i0 , *i1 , *i2 , *i3 , *i4 , *i5); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data6 init_from_sequence(Sequence& seq) @@ -835,35 +998,41 @@ namespace boost { namespace fusion typedef vector_data6 base_type; typedef mpl::vector6 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<6> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector6( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector6(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5)) {} - BOOST_FUSION_GPU_ENABLED + vector6(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6(vector6&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6(vector6 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6& operator=(vector6 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6& operator=(vector6&& vec) { @@ -872,24 +1041,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector6( vector6 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector6( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector6( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector6& operator=(vector6 const& vec) { @@ -897,7 +1077,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -907,16 +1087,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -926,29 +1106,36 @@ namespace boost { namespace fusion template struct vector_data7 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data7() : m0() , m1() , m2() , m3() , m4() , m5() , m6() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data7(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 + vector_data7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data7( vector_data7&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data7( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data7( vector_data7 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data7& operator=(vector_data7 const& vec) { @@ -956,6 +1143,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data7 init_from_sequence(Sequence const& seq) @@ -966,6 +1156,9 @@ namespace boost { namespace fusion return vector_data7(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data7 init_from_sequence(Sequence& seq) @@ -986,35 +1179,41 @@ namespace boost { namespace fusion typedef vector_data7 base_type; typedef mpl::vector7 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<7> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector7( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector7(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6)) {} - BOOST_FUSION_GPU_ENABLED + vector7(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7(vector7&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7(vector7 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7& operator=(vector7 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7& operator=(vector7&& vec) { @@ -1023,24 +1222,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector7( vector7 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector7( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector7( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector7& operator=(vector7 const& vec) { @@ -1048,7 +1258,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1058,16 +1268,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1077,29 +1287,36 @@ namespace boost { namespace fusion template struct vector_data8 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data8() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data8(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 + vector_data8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data8( vector_data8&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data8( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data8( vector_data8 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data8& operator=(vector_data8 const& vec) { @@ -1107,6 +1324,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data8 init_from_sequence(Sequence const& seq) @@ -1117,6 +1337,9 @@ namespace boost { namespace fusion return vector_data8(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data8 init_from_sequence(Sequence& seq) @@ -1137,35 +1360,41 @@ namespace boost { namespace fusion typedef vector_data8 base_type; typedef mpl::vector8 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<8> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector8( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector8(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7)) {} - BOOST_FUSION_GPU_ENABLED + vector8(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8(vector8&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8(vector8 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8& operator=(vector8 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8& operator=(vector8&& vec) { @@ -1174,24 +1403,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector8( vector8 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector8( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector8( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector8& operator=(vector8 const& vec) { @@ -1199,7 +1439,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1209,16 +1449,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1228,29 +1468,36 @@ namespace boost { namespace fusion template struct vector_data9 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data9() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data9(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 + vector_data9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data9( vector_data9&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data9( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data9( vector_data9 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data9& operator=(vector_data9 const& vec) { @@ -1258,6 +1505,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data9 init_from_sequence(Sequence const& seq) @@ -1268,6 +1518,9 @@ namespace boost { namespace fusion return vector_data9(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data9 init_from_sequence(Sequence& seq) @@ -1288,35 +1541,41 @@ namespace boost { namespace fusion typedef vector_data9 base_type; typedef mpl::vector9 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<9> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector9( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector9(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8)) {} - BOOST_FUSION_GPU_ENABLED + vector9(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9(vector9&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9(vector9 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9& operator=(vector9 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9& operator=(vector9&& vec) { @@ -1325,24 +1584,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector9( vector9 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector9( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector9( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector9& operator=(vector9 const& vec) { @@ -1350,7 +1620,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1360,16 +1630,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1379,29 +1649,36 @@ namespace boost { namespace fusion template struct vector_data10 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data10() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data10(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 + vector_data10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data10( vector_data10&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data10( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data10( vector_data10 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data10& operator=(vector_data10 const& vec) { @@ -1409,6 +1686,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data10 init_from_sequence(Sequence const& seq) @@ -1419,6 +1699,9 @@ namespace boost { namespace fusion return vector_data10(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data10 init_from_sequence(Sequence& seq) @@ -1439,35 +1722,41 @@ namespace boost { namespace fusion typedef vector_data10 base_type; typedef mpl::vector10 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<10> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector10( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector10(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9)) {} - BOOST_FUSION_GPU_ENABLED + vector10(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10(vector10&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10(vector10 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10& operator=(vector10 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10& operator=(vector10&& vec) { @@ -1476,24 +1765,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector10( vector10 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector10( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector10( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector10& operator=(vector10 const& vec) { @@ -1501,7 +1801,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1511,16 +1811,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp similarity index 99% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp index 33f817ffaf..8d63153ab1 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector10_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector10_fwd.hpp @@ -9,7 +9,7 @@ ==============================================================================*/ namespace boost { namespace fusion { - + template struct vector1; template diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector20.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp similarity index 54% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector20.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp index 7b71763f23..183a4657ab 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector20.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20.hpp @@ -14,29 +14,36 @@ namespace boost { namespace fusion template struct vector_data11 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data11() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data11(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 + vector_data11(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data11( vector_data11&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data11( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data11( vector_data11 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data11& operator=(vector_data11 const& vec) { @@ -44,6 +51,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data11 init_from_sequence(Sequence const& seq) @@ -54,6 +64,9 @@ namespace boost { namespace fusion return vector_data11(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data11 init_from_sequence(Sequence& seq) @@ -74,35 +87,41 @@ namespace boost { namespace fusion typedef vector_data11 base_type; typedef mpl::vector11 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<11> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector11( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector11(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10)) {} - BOOST_FUSION_GPU_ENABLED + vector11(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11(vector11&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11(vector11 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11& operator=(vector11 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11& operator=(vector11&& vec) { @@ -111,24 +130,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector11( vector11 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector11( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector11( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector11& operator=(vector11 const& vec) { @@ -136,7 +166,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -146,16 +176,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -165,29 +195,36 @@ namespace boost { namespace fusion template struct vector_data12 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data12() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data12(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 + vector_data12(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data12( vector_data12&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data12( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data12( vector_data12 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data12& operator=(vector_data12 const& vec) { @@ -195,6 +232,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data12 init_from_sequence(Sequence const& seq) @@ -205,6 +245,9 @@ namespace boost { namespace fusion return vector_data12(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data12 init_from_sequence(Sequence& seq) @@ -225,35 +268,41 @@ namespace boost { namespace fusion typedef vector_data12 base_type; typedef mpl::vector12 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<12> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector12( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector12(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11)) {} - BOOST_FUSION_GPU_ENABLED + vector12(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12(vector12&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12(vector12 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12& operator=(vector12 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12& operator=(vector12&& vec) { @@ -262,24 +311,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector12( vector12 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector12( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector12( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector12& operator=(vector12 const& vec) { @@ -287,7 +347,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -297,16 +357,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -316,29 +376,36 @@ namespace boost { namespace fusion template struct vector_data13 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data13() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data13(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 + vector_data13(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data13( vector_data13&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data13( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data13( vector_data13 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data13& operator=(vector_data13 const& vec) { @@ -346,6 +413,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data13 init_from_sequence(Sequence const& seq) @@ -356,6 +426,9 @@ namespace boost { namespace fusion return vector_data13(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data13 init_from_sequence(Sequence& seq) @@ -376,35 +449,41 @@ namespace boost { namespace fusion typedef vector_data13 base_type; typedef mpl::vector13 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<13> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector13( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector13(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12)) {} - BOOST_FUSION_GPU_ENABLED + vector13(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13(vector13&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13(vector13 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13& operator=(vector13 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13& operator=(vector13&& vec) { @@ -413,24 +492,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector13( vector13 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector13( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector13( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector13& operator=(vector13 const& vec) { @@ -438,7 +528,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -448,16 +538,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -467,29 +557,36 @@ namespace boost { namespace fusion template struct vector_data14 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data14() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data14(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 + vector_data14(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data14( vector_data14&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data14( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data14( vector_data14 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data14& operator=(vector_data14 const& vec) { @@ -497,6 +594,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data14 init_from_sequence(Sequence const& seq) @@ -507,6 +607,9 @@ namespace boost { namespace fusion return vector_data14(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data14 init_from_sequence(Sequence& seq) @@ -527,35 +630,41 @@ namespace boost { namespace fusion typedef vector_data14 base_type; typedef mpl::vector14 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<14> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector14( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector14(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13)) {} - BOOST_FUSION_GPU_ENABLED + vector14(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14(vector14&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14(vector14 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14& operator=(vector14 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14& operator=(vector14&& vec) { @@ -564,24 +673,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector14( vector14 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector14( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector14( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector14& operator=(vector14 const& vec) { @@ -589,7 +709,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -599,16 +719,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -618,29 +738,36 @@ namespace boost { namespace fusion template struct vector_data15 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data15() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data15(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 + vector_data15(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data15( vector_data15&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data15( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data15( vector_data15 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data15& operator=(vector_data15 const& vec) { @@ -648,6 +775,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data15 init_from_sequence(Sequence const& seq) @@ -658,6 +788,9 @@ namespace boost { namespace fusion return vector_data15(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data15 init_from_sequence(Sequence& seq) @@ -678,35 +811,41 @@ namespace boost { namespace fusion typedef vector_data15 base_type; typedef mpl::vector15 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<15> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector15( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector15(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14)) {} - BOOST_FUSION_GPU_ENABLED + vector15(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15(vector15&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15(vector15 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15& operator=(vector15 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15& operator=(vector15&& vec) { @@ -715,24 +854,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector15( vector15 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector15( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector15( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector15& operator=(vector15 const& vec) { @@ -740,7 +890,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -750,16 +900,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -769,29 +919,36 @@ namespace boost { namespace fusion template struct vector_data16 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data16() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data16(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 + vector_data16(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data16( vector_data16&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data16( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data16( vector_data16 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data16& operator=(vector_data16 const& vec) { @@ -799,6 +956,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data16 init_from_sequence(Sequence const& seq) @@ -809,6 +969,9 @@ namespace boost { namespace fusion return vector_data16(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data16 init_from_sequence(Sequence& seq) @@ -829,35 +992,41 @@ namespace boost { namespace fusion typedef vector_data16 base_type; typedef mpl::vector16 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<16> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector16( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector16(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15)) {} - BOOST_FUSION_GPU_ENABLED + vector16(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16(vector16&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16(vector16 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16& operator=(vector16 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16& operator=(vector16&& vec) { @@ -866,24 +1035,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector16( vector16 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector16( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector16( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector16& operator=(vector16 const& vec) { @@ -891,7 +1071,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -901,16 +1081,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -920,29 +1100,36 @@ namespace boost { namespace fusion template struct vector_data17 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data17() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data17(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 + vector_data17(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data17( vector_data17&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data17( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data17( vector_data17 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data17& operator=(vector_data17 const& vec) { @@ -950,6 +1137,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data17 init_from_sequence(Sequence const& seq) @@ -960,6 +1150,9 @@ namespace boost { namespace fusion return vector_data17(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data17 init_from_sequence(Sequence& seq) @@ -980,35 +1173,41 @@ namespace boost { namespace fusion typedef vector_data17 base_type; typedef mpl::vector17 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<17> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector17( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector17(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16)) {} - BOOST_FUSION_GPU_ENABLED + vector17(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17(vector17&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17(vector17 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17& operator=(vector17 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17& operator=(vector17&& vec) { @@ -1017,24 +1216,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector17( vector17 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector17( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector17( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector17& operator=(vector17 const& vec) { @@ -1042,7 +1252,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1052,16 +1262,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1071,29 +1281,36 @@ namespace boost { namespace fusion template struct vector_data18 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data18() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data18(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 + vector_data18(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data18( vector_data18&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data18( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data18( vector_data18 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data18& operator=(vector_data18 const& vec) { @@ -1101,6 +1318,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data18 init_from_sequence(Sequence const& seq) @@ -1111,6 +1331,9 @@ namespace boost { namespace fusion return vector_data18(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data18 init_from_sequence(Sequence& seq) @@ -1131,35 +1354,41 @@ namespace boost { namespace fusion typedef vector_data18 base_type; typedef mpl::vector18 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<18> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector18( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector18(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17)) {} - BOOST_FUSION_GPU_ENABLED + vector18(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18(vector18&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18(vector18 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18& operator=(vector18 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18& operator=(vector18&& vec) { @@ -1168,24 +1397,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector18( vector18 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector18( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector18( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector18& operator=(vector18 const& vec) { @@ -1193,7 +1433,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1203,16 +1443,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1222,29 +1462,36 @@ namespace boost { namespace fusion template struct vector_data19 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data19() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data19(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 + vector_data19(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data19( vector_data19&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data19( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data19( vector_data19 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data19& operator=(vector_data19 const& vec) { @@ -1252,6 +1499,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data19 init_from_sequence(Sequence const& seq) @@ -1262,6 +1512,9 @@ namespace boost { namespace fusion return vector_data19(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data19 init_from_sequence(Sequence& seq) @@ -1282,35 +1535,41 @@ namespace boost { namespace fusion typedef vector_data19 base_type; typedef mpl::vector19 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<19> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector19( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector19(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18)) {} - BOOST_FUSION_GPU_ENABLED + vector19(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19(vector19&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19(vector19 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19& operator=(vector19 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19& operator=(vector19&& vec) { @@ -1319,24 +1578,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector19( vector19 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector19( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector19( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector19& operator=(vector19 const& vec) { @@ -1344,7 +1614,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1354,16 +1624,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1373,29 +1643,36 @@ namespace boost { namespace fusion template struct vector_data20 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data20() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data20(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 + vector_data20(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data20( vector_data20&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data20( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data20( vector_data20 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data20& operator=(vector_data20 const& vec) { @@ -1403,6 +1680,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data20 init_from_sequence(Sequence const& seq) @@ -1413,6 +1693,9 @@ namespace boost { namespace fusion return vector_data20(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data20 init_from_sequence(Sequence& seq) @@ -1433,35 +1716,41 @@ namespace boost { namespace fusion typedef vector_data20 base_type; typedef mpl::vector20 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<20> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector20( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector20(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19)) {} - BOOST_FUSION_GPU_ENABLED + vector20(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20(vector20&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20(vector20 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20& operator=(vector20 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20& operator=(vector20&& vec) { @@ -1470,24 +1759,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector20( vector20 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector20( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector20( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector20& operator=(vector20 const& vec) { @@ -1495,7 +1795,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1505,16 +1805,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp similarity index 99% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp index b1672857a8..35e33a48cb 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector20_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector20_fwd.hpp @@ -9,7 +9,7 @@ ==============================================================================*/ namespace boost { namespace fusion { - + template struct vector11; template diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector30.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp similarity index 53% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector30.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp index 8810fb0a71..58d4b5231a 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector30.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30.hpp @@ -14,29 +14,36 @@ namespace boost { namespace fusion template struct vector_data21 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data21() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data21(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 + vector_data21(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data21( vector_data21&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data21( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data21( vector_data21 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data21& operator=(vector_data21 const& vec) { @@ -44,6 +51,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data21 init_from_sequence(Sequence const& seq) @@ -54,6 +64,9 @@ namespace boost { namespace fusion return vector_data21(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data21 init_from_sequence(Sequence& seq) @@ -74,35 +87,41 @@ namespace boost { namespace fusion typedef vector_data21 base_type; typedef mpl::vector21 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<21> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector21( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector21(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20)) {} - BOOST_FUSION_GPU_ENABLED + vector21(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21(vector21&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21(vector21 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21& operator=(vector21 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21& operator=(vector21&& vec) { @@ -111,24 +130,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector21( vector21 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector21( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector21( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector21& operator=(vector21 const& vec) { @@ -136,7 +166,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -146,16 +176,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -165,29 +195,36 @@ namespace boost { namespace fusion template struct vector_data22 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data22() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data22(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 + vector_data22(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data22( vector_data22&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data22( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data22( vector_data22 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data22& operator=(vector_data22 const& vec) { @@ -195,6 +232,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data22 init_from_sequence(Sequence const& seq) @@ -205,6 +245,9 @@ namespace boost { namespace fusion return vector_data22(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data22 init_from_sequence(Sequence& seq) @@ -225,35 +268,41 @@ namespace boost { namespace fusion typedef vector_data22 base_type; typedef mpl::vector22 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<22> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector22( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector22(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21)) {} - BOOST_FUSION_GPU_ENABLED + vector22(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22(vector22&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22(vector22 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22& operator=(vector22 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22& operator=(vector22&& vec) { @@ -262,24 +311,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector22( vector22 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector22( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector22( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector22& operator=(vector22 const& vec) { @@ -287,7 +347,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -297,16 +357,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -316,29 +376,36 @@ namespace boost { namespace fusion template struct vector_data23 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data23() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data23(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 + vector_data23(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data23( vector_data23&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data23( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data23( vector_data23 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data23& operator=(vector_data23 const& vec) { @@ -346,6 +413,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data23 init_from_sequence(Sequence const& seq) @@ -356,6 +426,9 @@ namespace boost { namespace fusion return vector_data23(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data23 init_from_sequence(Sequence& seq) @@ -376,35 +449,41 @@ namespace boost { namespace fusion typedef vector_data23 base_type; typedef mpl::vector23 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<23> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector23( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector23(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22)) {} - BOOST_FUSION_GPU_ENABLED + vector23(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23(vector23&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23(vector23 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23& operator=(vector23 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23& operator=(vector23&& vec) { @@ -413,24 +492,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector23( vector23 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector23( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector23( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector23& operator=(vector23 const& vec) { @@ -438,7 +528,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -448,16 +538,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -467,29 +557,36 @@ namespace boost { namespace fusion template struct vector_data24 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data24() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data24(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 + vector_data24(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data24( vector_data24&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data24( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data24( vector_data24 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data24& operator=(vector_data24 const& vec) { @@ -497,6 +594,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data24 init_from_sequence(Sequence const& seq) @@ -507,6 +607,9 @@ namespace boost { namespace fusion return vector_data24(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data24 init_from_sequence(Sequence& seq) @@ -527,35 +630,41 @@ namespace boost { namespace fusion typedef vector_data24 base_type; typedef mpl::vector24 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<24> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector24( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector24(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23)) {} - BOOST_FUSION_GPU_ENABLED + vector24(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24(vector24&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24(vector24 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24& operator=(vector24 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24& operator=(vector24&& vec) { @@ -564,24 +673,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector24( vector24 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector24( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector24( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector24& operator=(vector24 const& vec) { @@ -589,7 +709,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -599,16 +719,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -618,29 +738,36 @@ namespace boost { namespace fusion template struct vector_data25 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data25() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data25(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 + vector_data25(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data25( vector_data25&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data25( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data25( vector_data25 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data25& operator=(vector_data25 const& vec) { @@ -648,6 +775,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data25 init_from_sequence(Sequence const& seq) @@ -658,6 +788,9 @@ namespace boost { namespace fusion return vector_data25(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data25 init_from_sequence(Sequence& seq) @@ -678,35 +811,41 @@ namespace boost { namespace fusion typedef vector_data25 base_type; typedef mpl::vector25 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<25> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector25( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector25(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24)) {} - BOOST_FUSION_GPU_ENABLED + vector25(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25(vector25&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25(vector25 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25& operator=(vector25 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25& operator=(vector25&& vec) { @@ -715,24 +854,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector25( vector25 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector25( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector25( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector25& operator=(vector25 const& vec) { @@ -740,7 +890,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -750,16 +900,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -769,29 +919,36 @@ namespace boost { namespace fusion template struct vector_data26 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data26() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data26(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 + vector_data26(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data26( vector_data26&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data26( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data26( vector_data26 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data26& operator=(vector_data26 const& vec) { @@ -799,6 +956,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data26 init_from_sequence(Sequence const& seq) @@ -809,6 +969,9 @@ namespace boost { namespace fusion return vector_data26(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data26 init_from_sequence(Sequence& seq) @@ -829,35 +992,41 @@ namespace boost { namespace fusion typedef vector_data26 base_type; typedef mpl::vector26 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<26> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector26( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector26(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25)) {} - BOOST_FUSION_GPU_ENABLED + vector26(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26(vector26&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26(vector26 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26& operator=(vector26 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26& operator=(vector26&& vec) { @@ -866,24 +1035,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector26( vector26 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector26( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector26( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector26& operator=(vector26 const& vec) { @@ -891,7 +1071,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -901,16 +1081,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -920,29 +1100,36 @@ namespace boost { namespace fusion template struct vector_data27 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data27() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data27(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 + vector_data27(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data27( vector_data27&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data27( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data27( vector_data27 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data27& operator=(vector_data27 const& vec) { @@ -950,6 +1137,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data27 init_from_sequence(Sequence const& seq) @@ -960,6 +1150,9 @@ namespace boost { namespace fusion return vector_data27(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data27 init_from_sequence(Sequence& seq) @@ -980,35 +1173,41 @@ namespace boost { namespace fusion typedef vector_data27 base_type; typedef mpl::vector27 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<27> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector27( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector27(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26)) {} - BOOST_FUSION_GPU_ENABLED + vector27(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27(vector27&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27(vector27 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27& operator=(vector27 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27& operator=(vector27&& vec) { @@ -1017,24 +1216,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector27( vector27 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector27( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector27( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector27& operator=(vector27 const& vec) { @@ -1042,7 +1252,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1052,16 +1262,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1071,29 +1281,36 @@ namespace boost { namespace fusion template struct vector_data28 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data28() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data28(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 + vector_data28(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data28( vector_data28&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data28( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data28( vector_data28 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data28& operator=(vector_data28 const& vec) { @@ -1101,6 +1318,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data28 init_from_sequence(Sequence const& seq) @@ -1111,6 +1331,9 @@ namespace boost { namespace fusion return vector_data28(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data28 init_from_sequence(Sequence& seq) @@ -1131,35 +1354,41 @@ namespace boost { namespace fusion typedef vector_data28 base_type; typedef mpl::vector28 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<28> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector28( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector28(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27)) {} - BOOST_FUSION_GPU_ENABLED + vector28(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28(vector28&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28(vector28 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28& operator=(vector28 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28& operator=(vector28&& vec) { @@ -1168,24 +1397,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector28( vector28 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector28( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector28( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector28& operator=(vector28 const& vec) { @@ -1193,7 +1433,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1203,16 +1443,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1222,29 +1462,36 @@ namespace boost { namespace fusion template struct vector_data29 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data29() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data29(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 + vector_data29(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data29( vector_data29&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data29( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data29( vector_data29 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data29& operator=(vector_data29 const& vec) { @@ -1252,6 +1499,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data29 init_from_sequence(Sequence const& seq) @@ -1262,6 +1512,9 @@ namespace boost { namespace fusion return vector_data29(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data29 init_from_sequence(Sequence& seq) @@ -1282,35 +1535,41 @@ namespace boost { namespace fusion typedef vector_data29 base_type; typedef mpl::vector29 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<29> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector29( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector29(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28)) {} - BOOST_FUSION_GPU_ENABLED + vector29(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29(vector29&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29(vector29 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29& operator=(vector29 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29& operator=(vector29&& vec) { @@ -1319,24 +1578,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector29( vector29 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector29( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector29( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector29& operator=(vector29 const& vec) { @@ -1344,7 +1614,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1354,16 +1624,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1373,29 +1643,36 @@ namespace boost { namespace fusion template struct vector_data30 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data30() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data30(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 + vector_data30(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data30( vector_data30&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data30( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data30( vector_data30 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data30& operator=(vector_data30 const& vec) { @@ -1403,6 +1680,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data30 init_from_sequence(Sequence const& seq) @@ -1413,6 +1693,9 @@ namespace boost { namespace fusion return vector_data30(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data30 init_from_sequence(Sequence& seq) @@ -1433,35 +1716,41 @@ namespace boost { namespace fusion typedef vector_data30 base_type; typedef mpl::vector30 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<30> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector30( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector30(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29)) {} - BOOST_FUSION_GPU_ENABLED + vector30(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30(vector30&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30(vector30 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30& operator=(vector30 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30& operator=(vector30&& vec) { @@ -1470,24 +1759,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector30( vector30 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector30( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector30( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector30& operator=(vector30 const& vec) { @@ -1495,7 +1795,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1505,16 +1805,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp similarity index 99% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp index 39f96aa836..0bb9558f8f 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector30_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector30_fwd.hpp @@ -9,7 +9,7 @@ ==============================================================================*/ namespace boost { namespace fusion { - + template struct vector21; template diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector40.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp similarity index 52% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector40.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp index cac27a27ab..e8ffcd3a53 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector40.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40.hpp @@ -14,29 +14,36 @@ namespace boost { namespace fusion template struct vector_data31 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data31() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data31(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 + vector_data31(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data31( vector_data31&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data31( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data31( vector_data31 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data31& operator=(vector_data31 const& vec) { @@ -44,6 +51,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data31 init_from_sequence(Sequence const& seq) @@ -54,6 +64,9 @@ namespace boost { namespace fusion return vector_data31(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data31 init_from_sequence(Sequence& seq) @@ -74,35 +87,41 @@ namespace boost { namespace fusion typedef vector_data31 base_type; typedef mpl::vector31 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<31> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector31( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector31(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30)) {} - BOOST_FUSION_GPU_ENABLED + vector31(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31(vector31&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31(vector31 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31& operator=(vector31 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31& operator=(vector31&& vec) { @@ -111,24 +130,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector31( vector31 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector31( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector31( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector31& operator=(vector31 const& vec) { @@ -136,7 +166,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -146,16 +176,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -165,29 +195,36 @@ namespace boost { namespace fusion template struct vector_data32 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data32() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data32(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 + vector_data32(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data32( vector_data32&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data32( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data32( vector_data32 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data32& operator=(vector_data32 const& vec) { @@ -195,6 +232,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data32 init_from_sequence(Sequence const& seq) @@ -205,6 +245,9 @@ namespace boost { namespace fusion return vector_data32(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data32 init_from_sequence(Sequence& seq) @@ -225,35 +268,41 @@ namespace boost { namespace fusion typedef vector_data32 base_type; typedef mpl::vector32 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<32> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector32( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector32(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31)) {} - BOOST_FUSION_GPU_ENABLED + vector32(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32(vector32&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32(vector32 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32& operator=(vector32 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32& operator=(vector32&& vec) { @@ -262,24 +311,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector32( vector32 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector32( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector32( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector32& operator=(vector32 const& vec) { @@ -287,7 +347,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -297,16 +357,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -316,29 +376,36 @@ namespace boost { namespace fusion template struct vector_data33 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data33() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data33(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 + vector_data33(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data33( vector_data33&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data33( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data33( vector_data33 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data33& operator=(vector_data33 const& vec) { @@ -346,6 +413,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data33 init_from_sequence(Sequence const& seq) @@ -356,6 +426,9 @@ namespace boost { namespace fusion return vector_data33(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data33 init_from_sequence(Sequence& seq) @@ -376,35 +449,41 @@ namespace boost { namespace fusion typedef vector_data33 base_type; typedef mpl::vector33 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<33> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector33( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector33(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32)) {} - BOOST_FUSION_GPU_ENABLED + vector33(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33(vector33&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33(vector33 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33& operator=(vector33 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33& operator=(vector33&& vec) { @@ -413,24 +492,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector33( vector33 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector33( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector33( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector33& operator=(vector33 const& vec) { @@ -438,7 +528,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -448,16 +538,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -467,29 +557,36 @@ namespace boost { namespace fusion template struct vector_data34 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data34() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data34(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 + vector_data34(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data34( vector_data34&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data34( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data34( vector_data34 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data34& operator=(vector_data34 const& vec) { @@ -497,6 +594,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data34 init_from_sequence(Sequence const& seq) @@ -507,6 +607,9 @@ namespace boost { namespace fusion return vector_data34(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data34 init_from_sequence(Sequence& seq) @@ -527,35 +630,41 @@ namespace boost { namespace fusion typedef vector_data34 base_type; typedef mpl::vector34 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<34> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector34( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector34(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33)) {} - BOOST_FUSION_GPU_ENABLED + vector34(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34(vector34&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34(vector34 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34& operator=(vector34 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34& operator=(vector34&& vec) { @@ -564,24 +673,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector34( vector34 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector34( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector34( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector34& operator=(vector34 const& vec) { @@ -589,7 +709,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -599,16 +719,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -618,29 +738,36 @@ namespace boost { namespace fusion template struct vector_data35 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data35() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data35(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 + vector_data35(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data35( vector_data35&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data35( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data35( vector_data35 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data35& operator=(vector_data35 const& vec) { @@ -648,6 +775,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data35 init_from_sequence(Sequence const& seq) @@ -658,6 +788,9 @@ namespace boost { namespace fusion return vector_data35(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data35 init_from_sequence(Sequence& seq) @@ -678,35 +811,41 @@ namespace boost { namespace fusion typedef vector_data35 base_type; typedef mpl::vector35 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<35> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector35( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector35(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34)) {} - BOOST_FUSION_GPU_ENABLED + vector35(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35(vector35&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35(vector35 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35& operator=(vector35 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35& operator=(vector35&& vec) { @@ -715,24 +854,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector35( vector35 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector35( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector35( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector35& operator=(vector35 const& vec) { @@ -740,7 +890,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -750,16 +900,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -769,29 +919,36 @@ namespace boost { namespace fusion template struct vector_data36 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data36() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data36(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 + vector_data36(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data36( vector_data36&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data36( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data36( vector_data36 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data36& operator=(vector_data36 const& vec) { @@ -799,6 +956,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data36 init_from_sequence(Sequence const& seq) @@ -809,6 +969,9 @@ namespace boost { namespace fusion return vector_data36(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data36 init_from_sequence(Sequence& seq) @@ -829,35 +992,41 @@ namespace boost { namespace fusion typedef vector_data36 base_type; typedef mpl::vector36 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<36> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector36( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector36(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35)) {} - BOOST_FUSION_GPU_ENABLED + vector36(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36(vector36&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36(vector36 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36& operator=(vector36 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36& operator=(vector36&& vec) { @@ -866,24 +1035,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector36( vector36 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector36( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector36( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector36& operator=(vector36 const& vec) { @@ -891,7 +1071,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -901,16 +1081,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -920,29 +1100,36 @@ namespace boost { namespace fusion template struct vector_data37 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data37() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data37(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 + vector_data37(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data37( vector_data37&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data37( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data37( vector_data37 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data37& operator=(vector_data37 const& vec) { @@ -950,6 +1137,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data37 init_from_sequence(Sequence const& seq) @@ -960,6 +1150,9 @@ namespace boost { namespace fusion return vector_data37(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data37 init_from_sequence(Sequence& seq) @@ -980,35 +1173,41 @@ namespace boost { namespace fusion typedef vector_data37 base_type; typedef mpl::vector37 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<37> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector37( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector37(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36)) {} - BOOST_FUSION_GPU_ENABLED + vector37(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37(vector37&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37(vector37 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37& operator=(vector37 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37& operator=(vector37&& vec) { @@ -1017,24 +1216,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector37( vector37 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector37( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector37( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector37& operator=(vector37 const& vec) { @@ -1042,7 +1252,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1052,16 +1262,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1071,29 +1281,36 @@ namespace boost { namespace fusion template struct vector_data38 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data38() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data38(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 + vector_data38(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data38( vector_data38&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data38( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data38( vector_data38 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data38& operator=(vector_data38 const& vec) { @@ -1101,6 +1318,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data38 init_from_sequence(Sequence const& seq) @@ -1111,6 +1331,9 @@ namespace boost { namespace fusion return vector_data38(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data38 init_from_sequence(Sequence& seq) @@ -1131,35 +1354,41 @@ namespace boost { namespace fusion typedef vector_data38 base_type; typedef mpl::vector38 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<38> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector38( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector38(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37)) {} - BOOST_FUSION_GPU_ENABLED + vector38(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38(vector38&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38(vector38 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38& operator=(vector38 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38& operator=(vector38&& vec) { @@ -1168,24 +1397,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector38( vector38 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector38( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector38( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector38& operator=(vector38 const& vec) { @@ -1193,7 +1433,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1203,16 +1443,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1222,29 +1462,36 @@ namespace boost { namespace fusion template struct vector_data39 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data39() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data39(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 + vector_data39(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data39( vector_data39&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data39( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data39( vector_data39 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data39& operator=(vector_data39 const& vec) { @@ -1252,6 +1499,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data39 init_from_sequence(Sequence const& seq) @@ -1262,6 +1512,9 @@ namespace boost { namespace fusion return vector_data39(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data39 init_from_sequence(Sequence& seq) @@ -1282,35 +1535,41 @@ namespace boost { namespace fusion typedef vector_data39 base_type; typedef mpl::vector39 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<39> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector39( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector39(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38)) {} - BOOST_FUSION_GPU_ENABLED + vector39(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39(vector39&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39(vector39 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39& operator=(vector39 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39& operator=(vector39&& vec) { @@ -1319,24 +1578,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector39( vector39 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector39( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector39( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector39& operator=(vector39 const& vec) { @@ -1344,7 +1614,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1354,16 +1624,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1373,29 +1643,36 @@ namespace boost { namespace fusion template struct vector_data40 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data40() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data40(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 + vector_data40(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data40( vector_data40&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data40( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data40( vector_data40 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data40& operator=(vector_data40 const& vec) { @@ -1403,6 +1680,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data40 init_from_sequence(Sequence const& seq) @@ -1413,6 +1693,9 @@ namespace boost { namespace fusion return vector_data40(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data40 init_from_sequence(Sequence& seq) @@ -1433,35 +1716,41 @@ namespace boost { namespace fusion typedef vector_data40 base_type; typedef mpl::vector40 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<40> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector40( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector40(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39)) {} - BOOST_FUSION_GPU_ENABLED + vector40(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40(vector40&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40(vector40 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40& operator=(vector40 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40& operator=(vector40&& vec) { @@ -1470,24 +1759,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector40( vector40 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector40( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector40( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector40& operator=(vector40 const& vec) { @@ -1495,7 +1795,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1505,16 +1805,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp similarity index 99% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp index e1d6e0911a..e0049f337d 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector40_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector40_fwd.hpp @@ -9,7 +9,7 @@ ==============================================================================*/ namespace boost { namespace fusion { - + template struct vector31; template diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector50.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp similarity index 52% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector50.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp index 38b2f0c732..c1c552a299 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector50.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50.hpp @@ -14,29 +14,36 @@ namespace boost { namespace fusion template struct vector_data41 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data41() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data41(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 + vector_data41(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data41( vector_data41&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data41( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data41( vector_data41 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data41& operator=(vector_data41 const& vec) { @@ -44,6 +51,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data41 init_from_sequence(Sequence const& seq) @@ -54,6 +64,9 @@ namespace boost { namespace fusion return vector_data41(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data41 init_from_sequence(Sequence& seq) @@ -74,35 +87,41 @@ namespace boost { namespace fusion typedef vector_data41 base_type; typedef mpl::vector41 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<41> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector41( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector41(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40)) {} - BOOST_FUSION_GPU_ENABLED + vector41(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41(vector41&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41(vector41 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41& operator=(vector41 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41& operator=(vector41&& vec) { @@ -111,24 +130,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector41( vector41 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector41( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector41( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector41& operator=(vector41 const& vec) { @@ -136,7 +166,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -146,16 +176,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -165,29 +195,36 @@ namespace boost { namespace fusion template struct vector_data42 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data42() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data42(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 + vector_data42(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) , m41(std::forward(_41)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data42( vector_data42&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) , m41(std::forward(other.m41)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data42( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data42( vector_data42 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data42& operator=(vector_data42 const& vec) { @@ -195,6 +232,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data42 init_from_sequence(Sequence const& seq) @@ -205,6 +245,9 @@ namespace boost { namespace fusion return vector_data42(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data42 init_from_sequence(Sequence& seq) @@ -225,35 +268,41 @@ namespace boost { namespace fusion typedef vector_data42 base_type; typedef mpl::vector42 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<42> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector42( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector42(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41)) {} - BOOST_FUSION_GPU_ENABLED + vector42(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42(vector42&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42(vector42 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42& operator=(vector42 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42& operator=(vector42&& vec) { @@ -262,24 +311,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector42( vector42 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector42( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector42( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector42& operator=(vector42 const& vec) { @@ -287,7 +347,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -297,16 +357,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -316,29 +376,36 @@ namespace boost { namespace fusion template struct vector_data43 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data43() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data43(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 + vector_data43(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) , m41(std::forward(_41)) , m42(std::forward(_42)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data43( vector_data43&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) , m41(std::forward(other.m41)) , m42(std::forward(other.m42)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data43( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data43( vector_data43 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data43& operator=(vector_data43 const& vec) { @@ -346,6 +413,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data43 init_from_sequence(Sequence const& seq) @@ -356,6 +426,9 @@ namespace boost { namespace fusion return vector_data43(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data43 init_from_sequence(Sequence& seq) @@ -376,35 +449,41 @@ namespace boost { namespace fusion typedef vector_data43 base_type; typedef mpl::vector43 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<43> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector43( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector43(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42)) {} - BOOST_FUSION_GPU_ENABLED + vector43(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43(vector43&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43(vector43 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43& operator=(vector43 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43& operator=(vector43&& vec) { @@ -413,24 +492,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector43( vector43 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector43( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector43( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector43& operator=(vector43 const& vec) { @@ -438,7 +528,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -448,16 +538,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -467,29 +557,36 @@ namespace boost { namespace fusion template struct vector_data44 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data44() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data44(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 + vector_data44(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) , m41(std::forward(_41)) , m42(std::forward(_42)) , m43(std::forward(_43)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data44( vector_data44&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) , m41(std::forward(other.m41)) , m42(std::forward(other.m42)) , m43(std::forward(other.m43)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data44( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data44( vector_data44 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data44& operator=(vector_data44 const& vec) { @@ -497,6 +594,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data44 init_from_sequence(Sequence const& seq) @@ -507,6 +607,9 @@ namespace boost { namespace fusion return vector_data44(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data44 init_from_sequence(Sequence& seq) @@ -527,35 +630,41 @@ namespace boost { namespace fusion typedef vector_data44 base_type; typedef mpl::vector44 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<44> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector44( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector44(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43)) {} - BOOST_FUSION_GPU_ENABLED + vector44(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44(vector44&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44(vector44 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44& operator=(vector44 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44& operator=(vector44&& vec) { @@ -564,24 +673,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector44( vector44 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector44( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector44( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector44& operator=(vector44 const& vec) { @@ -589,7 +709,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -599,16 +719,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -618,29 +738,36 @@ namespace boost { namespace fusion template struct vector_data45 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data45() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data45(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 + vector_data45(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) , m41(std::forward(_41)) , m42(std::forward(_42)) , m43(std::forward(_43)) , m44(std::forward(_44)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data45( vector_data45&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) , m41(std::forward(other.m41)) , m42(std::forward(other.m42)) , m43(std::forward(other.m43)) , m44(std::forward(other.m44)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data45( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data45( vector_data45 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data45& operator=(vector_data45 const& vec) { @@ -648,6 +775,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data45 init_from_sequence(Sequence const& seq) @@ -658,6 +788,9 @@ namespace boost { namespace fusion return vector_data45(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data45 init_from_sequence(Sequence& seq) @@ -678,35 +811,41 @@ namespace boost { namespace fusion typedef vector_data45 base_type; typedef mpl::vector45 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<45> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector45( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector45(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44)) {} - BOOST_FUSION_GPU_ENABLED + vector45(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45(vector45&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45(vector45 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45& operator=(vector45 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45& operator=(vector45&& vec) { @@ -715,24 +854,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector45( vector45 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector45( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector45( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector45& operator=(vector45 const& vec) { @@ -740,7 +890,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -750,16 +900,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -769,29 +919,36 @@ namespace boost { namespace fusion template struct vector_data46 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data46() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data46(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 + vector_data46(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) , m41(std::forward(_41)) , m42(std::forward(_42)) , m43(std::forward(_43)) , m44(std::forward(_44)) , m45(std::forward(_45)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data46( vector_data46&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) , m41(std::forward(other.m41)) , m42(std::forward(other.m42)) , m43(std::forward(other.m43)) , m44(std::forward(other.m44)) , m45(std::forward(other.m45)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data46( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45(_45) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data46( vector_data46 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data46& operator=(vector_data46 const& vec) { @@ -799,6 +956,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data46 init_from_sequence(Sequence const& seq) @@ -809,6 +969,9 @@ namespace boost { namespace fusion return vector_data46(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data46 init_from_sequence(Sequence& seq) @@ -829,35 +992,41 @@ namespace boost { namespace fusion typedef vector_data46 base_type; typedef mpl::vector46 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<46> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector46( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector46(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45)) {} - BOOST_FUSION_GPU_ENABLED + vector46(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46(vector46&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46(vector46 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46& operator=(vector46 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46& operator=(vector46&& vec) { @@ -866,24 +1035,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector46( vector46 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector46( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector46( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector46& operator=(vector46 const& vec) { @@ -891,7 +1071,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -901,16 +1081,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -920,29 +1100,36 @@ namespace boost { namespace fusion template struct vector_data47 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data47() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data47(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 + vector_data47(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) , m41(std::forward(_41)) , m42(std::forward(_42)) , m43(std::forward(_43)) , m44(std::forward(_44)) , m45(std::forward(_45)) , m46(std::forward(_46)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data47( vector_data47&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) , m41(std::forward(other.m41)) , m42(std::forward(other.m42)) , m43(std::forward(other.m43)) , m44(std::forward(other.m44)) , m45(std::forward(other.m45)) , m46(std::forward(other.m46)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data47( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45(_45) , m46(_46) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data47( vector_data47 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data47& operator=(vector_data47 const& vec) { @@ -950,6 +1137,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data47 init_from_sequence(Sequence const& seq) @@ -960,6 +1150,9 @@ namespace boost { namespace fusion return vector_data47(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data47 init_from_sequence(Sequence& seq) @@ -980,35 +1173,41 @@ namespace boost { namespace fusion typedef vector_data47 base_type; typedef mpl::vector47 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<47> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector47( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector47(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45) , std::forward(_46)) {} - BOOST_FUSION_GPU_ENABLED + vector47(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47(vector47&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47(vector47 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47& operator=(vector47 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47& operator=(vector47&& vec) { @@ -1017,24 +1216,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector47( vector47 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector47( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector47( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector47& operator=(vector47 const& vec) { @@ -1042,7 +1252,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1052,16 +1262,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1071,29 +1281,36 @@ namespace boost { namespace fusion template struct vector_data48 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data48() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data48(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 , U47 && _47 + vector_data48(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) , m41(std::forward(_41)) , m42(std::forward(_42)) , m43(std::forward(_43)) , m44(std::forward(_44)) , m45(std::forward(_45)) , m46(std::forward(_46)) , m47(std::forward(_47)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data48( vector_data48&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) , m41(std::forward(other.m41)) , m42(std::forward(other.m42)) , m43(std::forward(other.m43)) , m44(std::forward(other.m44)) , m45(std::forward(other.m45)) , m46(std::forward(other.m46)) , m47(std::forward(other.m47)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data48( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45(_45) , m46(_46) , m47(_47) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data48( vector_data48 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data48& operator=(vector_data48 const& vec) { @@ -1101,6 +1318,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data48 init_from_sequence(Sequence const& seq) @@ -1111,6 +1331,9 @@ namespace boost { namespace fusion return vector_data48(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data48 init_from_sequence(Sequence& seq) @@ -1131,35 +1354,41 @@ namespace boost { namespace fusion typedef vector_data48 base_type; typedef mpl::vector48 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<48> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector48( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector48(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 , U47 && _47) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45) , std::forward(_46) , std::forward(_47)) {} - BOOST_FUSION_GPU_ENABLED + vector48(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48(vector48&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48(vector48 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48& operator=(vector48 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48& operator=(vector48&& vec) { @@ -1168,24 +1397,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector48( vector48 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector48( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector48( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector48& operator=(vector48 const& vec) { @@ -1193,7 +1433,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1203,16 +1443,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1222,29 +1462,36 @@ namespace boost { namespace fusion template struct vector_data49 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data49() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data49(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 , U47 && _47 , U48 && _48 + vector_data49(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) , m41(std::forward(_41)) , m42(std::forward(_42)) , m43(std::forward(_43)) , m44(std::forward(_44)) , m45(std::forward(_45)) , m46(std::forward(_46)) , m47(std::forward(_47)) , m48(std::forward(_48)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) , m48(std::forward( arg48)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data49( vector_data49&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) , m41(std::forward(other.m41)) , m42(std::forward(other.m42)) , m43(std::forward(other.m43)) , m44(std::forward(other.m44)) , m45(std::forward(other.m45)) , m46(std::forward(other.m46)) , m47(std::forward(other.m47)) , m48(std::forward(other.m48)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) , m48(std::forward( other.m48)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data49( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45(_45) , m46(_46) , m47(_47) , m48(_48) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) , m48(arg48) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data49( vector_data49 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) , m48(other.m48) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data49& operator=(vector_data49 const& vec) { @@ -1252,6 +1499,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data49 init_from_sequence(Sequence const& seq) @@ -1262,6 +1512,9 @@ namespace boost { namespace fusion return vector_data49(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data49 init_from_sequence(Sequence& seq) @@ -1282,35 +1535,41 @@ namespace boost { namespace fusion typedef vector_data49 base_type; typedef mpl::vector49 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<49> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector49( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector49(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 , U47 && _47 , U48 && _48) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45) , std::forward(_46) , std::forward(_47) , std::forward(_48)) {} - BOOST_FUSION_GPU_ENABLED + vector49(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49(vector49&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49(vector49 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49& operator=(vector49 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49& operator=(vector49&& vec) { @@ -1319,24 +1578,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector49( vector49 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 , vec.m48) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector49( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector49( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector49& operator=(vector49 const& vec) { @@ -1344,7 +1614,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1354,16 +1624,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; this->m48 = *i48; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { @@ -1373,29 +1643,36 @@ namespace boost { namespace fusion template struct vector_data50 { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data50() : m0() , m1() , m2() , m3() , m4() , m5() , m6() , m7() , m8() , m9() , m10() , m11() , m12() , m13() , m14() , m15() , m16() , m17() , m18() , m19() , m20() , m21() , m22() , m23() , m24() , m25() , m26() , m27() , m28() , m29() , m30() , m31() , m32() , m33() , m34() , m35() , m36() , m37() , m38() , m39() , m40() , m41() , m42() , m43() , m44() , m45() , m46() , m47() , m48() , m49() {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector_data50(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 , U47 && _47 , U48 && _48 , U49 && _49 + vector_data50(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49 , typename boost::enable_if >::type* = 0 ) - : m0(std::forward(_0)) , m1(std::forward(_1)) , m2(std::forward(_2)) , m3(std::forward(_3)) , m4(std::forward(_4)) , m5(std::forward(_5)) , m6(std::forward(_6)) , m7(std::forward(_7)) , m8(std::forward(_8)) , m9(std::forward(_9)) , m10(std::forward(_10)) , m11(std::forward(_11)) , m12(std::forward(_12)) , m13(std::forward(_13)) , m14(std::forward(_14)) , m15(std::forward(_15)) , m16(std::forward(_16)) , m17(std::forward(_17)) , m18(std::forward(_18)) , m19(std::forward(_19)) , m20(std::forward(_20)) , m21(std::forward(_21)) , m22(std::forward(_22)) , m23(std::forward(_23)) , m24(std::forward(_24)) , m25(std::forward(_25)) , m26(std::forward(_26)) , m27(std::forward(_27)) , m28(std::forward(_28)) , m29(std::forward(_29)) , m30(std::forward(_30)) , m31(std::forward(_31)) , m32(std::forward(_32)) , m33(std::forward(_33)) , m34(std::forward(_34)) , m35(std::forward(_35)) , m36(std::forward(_36)) , m37(std::forward(_37)) , m38(std::forward(_38)) , m39(std::forward(_39)) , m40(std::forward(_40)) , m41(std::forward(_41)) , m42(std::forward(_42)) , m43(std::forward(_43)) , m44(std::forward(_44)) , m45(std::forward(_45)) , m46(std::forward(_46)) , m47(std::forward(_47)) , m48(std::forward(_48)) , m49(std::forward(_49)) {} + : m0(std::forward( arg0)) , m1(std::forward( arg1)) , m2(std::forward( arg2)) , m3(std::forward( arg3)) , m4(std::forward( arg4)) , m5(std::forward( arg5)) , m6(std::forward( arg6)) , m7(std::forward( arg7)) , m8(std::forward( arg8)) , m9(std::forward( arg9)) , m10(std::forward( arg10)) , m11(std::forward( arg11)) , m12(std::forward( arg12)) , m13(std::forward( arg13)) , m14(std::forward( arg14)) , m15(std::forward( arg15)) , m16(std::forward( arg16)) , m17(std::forward( arg17)) , m18(std::forward( arg18)) , m19(std::forward( arg19)) , m20(std::forward( arg20)) , m21(std::forward( arg21)) , m22(std::forward( arg22)) , m23(std::forward( arg23)) , m24(std::forward( arg24)) , m25(std::forward( arg25)) , m26(std::forward( arg26)) , m27(std::forward( arg27)) , m28(std::forward( arg28)) , m29(std::forward( arg29)) , m30(std::forward( arg30)) , m31(std::forward( arg31)) , m32(std::forward( arg32)) , m33(std::forward( arg33)) , m34(std::forward( arg34)) , m35(std::forward( arg35)) , m36(std::forward( arg36)) , m37(std::forward( arg37)) , m38(std::forward( arg38)) , m39(std::forward( arg39)) , m40(std::forward( arg40)) , m41(std::forward( arg41)) , m42(std::forward( arg42)) , m43(std::forward( arg43)) , m44(std::forward( arg44)) , m45(std::forward( arg45)) , m46(std::forward( arg46)) , m47(std::forward( arg47)) , m48(std::forward( arg48)) , m49(std::forward( arg49)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data50( vector_data50&& other) - : m0(std::forward(other.m0)) , m1(std::forward(other.m1)) , m2(std::forward(other.m2)) , m3(std::forward(other.m3)) , m4(std::forward(other.m4)) , m5(std::forward(other.m5)) , m6(std::forward(other.m6)) , m7(std::forward(other.m7)) , m8(std::forward(other.m8)) , m9(std::forward(other.m9)) , m10(std::forward(other.m10)) , m11(std::forward(other.m11)) , m12(std::forward(other.m12)) , m13(std::forward(other.m13)) , m14(std::forward(other.m14)) , m15(std::forward(other.m15)) , m16(std::forward(other.m16)) , m17(std::forward(other.m17)) , m18(std::forward(other.m18)) , m19(std::forward(other.m19)) , m20(std::forward(other.m20)) , m21(std::forward(other.m21)) , m22(std::forward(other.m22)) , m23(std::forward(other.m23)) , m24(std::forward(other.m24)) , m25(std::forward(other.m25)) , m26(std::forward(other.m26)) , m27(std::forward(other.m27)) , m28(std::forward(other.m28)) , m29(std::forward(other.m29)) , m30(std::forward(other.m30)) , m31(std::forward(other.m31)) , m32(std::forward(other.m32)) , m33(std::forward(other.m33)) , m34(std::forward(other.m34)) , m35(std::forward(other.m35)) , m36(std::forward(other.m36)) , m37(std::forward(other.m37)) , m38(std::forward(other.m38)) , m39(std::forward(other.m39)) , m40(std::forward(other.m40)) , m41(std::forward(other.m41)) , m42(std::forward(other.m42)) , m43(std::forward(other.m43)) , m44(std::forward(other.m44)) , m45(std::forward(other.m45)) , m46(std::forward(other.m46)) , m47(std::forward(other.m47)) , m48(std::forward(other.m48)) , m49(std::forward(other.m49)) {} + : m0(std::forward( other.m0)) , m1(std::forward( other.m1)) , m2(std::forward( other.m2)) , m3(std::forward( other.m3)) , m4(std::forward( other.m4)) , m5(std::forward( other.m5)) , m6(std::forward( other.m6)) , m7(std::forward( other.m7)) , m8(std::forward( other.m8)) , m9(std::forward( other.m9)) , m10(std::forward( other.m10)) , m11(std::forward( other.m11)) , m12(std::forward( other.m12)) , m13(std::forward( other.m13)) , m14(std::forward( other.m14)) , m15(std::forward( other.m15)) , m16(std::forward( other.m16)) , m17(std::forward( other.m17)) , m18(std::forward( other.m18)) , m19(std::forward( other.m19)) , m20(std::forward( other.m20)) , m21(std::forward( other.m21)) , m22(std::forward( other.m22)) , m23(std::forward( other.m23)) , m24(std::forward( other.m24)) , m25(std::forward( other.m25)) , m26(std::forward( other.m26)) , m27(std::forward( other.m27)) , m28(std::forward( other.m28)) , m29(std::forward( other.m29)) , m30(std::forward( other.m30)) , m31(std::forward( other.m31)) , m32(std::forward( other.m32)) , m33(std::forward( other.m33)) , m34(std::forward( other.m34)) , m35(std::forward( other.m35)) , m36(std::forward( other.m36)) , m37(std::forward( other.m37)) , m38(std::forward( other.m38)) , m39(std::forward( other.m39)) , m40(std::forward( other.m40)) , m41(std::forward( other.m41)) , m42(std::forward( other.m42)) , m43(std::forward( other.m43)) , m44(std::forward( other.m44)) , m45(std::forward( other.m45)) , m46(std::forward( other.m46)) , m47(std::forward( other.m47)) , m48(std::forward( other.m48)) , m49(std::forward( other.m49)) {} +# endif +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR # endif BOOST_FUSION_GPU_ENABLED vector_data50( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48 , typename detail::call_param::type _49) - : m0(_0) , m1(_1) , m2(_2) , m3(_3) , m4(_4) , m5(_5) , m6(_6) , m7(_7) , m8(_8) , m9(_9) , m10(_10) , m11(_11) , m12(_12) , m13(_13) , m14(_14) , m15(_15) , m16(_16) , m17(_17) , m18(_18) , m19(_19) , m20(_20) , m21(_21) , m22(_22) , m23(_23) , m24(_24) , m25(_25) , m26(_26) , m27(_27) , m28(_28) , m29(_29) , m30(_30) , m31(_31) , m32(_32) , m33(_33) , m34(_34) , m35(_35) , m36(_36) , m37(_37) , m38(_38) , m39(_39) , m40(_40) , m41(_41) , m42(_42) , m43(_43) , m44(_44) , m45(_45) , m46(_46) , m47(_47) , m48(_48) , m49(_49) {} - BOOST_FUSION_GPU_ENABLED + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : m0(arg0) , m1(arg1) , m2(arg2) , m3(arg3) , m4(arg4) , m5(arg5) , m6(arg6) , m7(arg7) , m8(arg8) , m9(arg9) , m10(arg10) , m11(arg11) , m12(arg12) , m13(arg13) , m14(arg14) , m15(arg15) , m16(arg16) , m17(arg17) , m18(arg18) , m19(arg19) , m20(arg20) , m21(arg21) , m22(arg22) , m23(arg23) , m24(arg24) , m25(arg25) , m26(arg26) , m27(arg27) , m28(arg28) , m29(arg29) , m30(arg30) , m31(arg31) , m32(arg32) , m33(arg33) , m34(arg34) , m35(arg35) , m36(arg36) , m37(arg37) , m38(arg38) , m39(arg39) , m40(arg40) , m41(arg41) , m42(arg42) , m43(arg43) , m44(arg44) , m45(arg45) , m46(arg46) , m47(arg47) , m48(arg48) , m49(arg49) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data50( vector_data50 const& other) : m0(other.m0) , m1(other.m1) , m2(other.m2) , m3(other.m3) , m4(other.m4) , m5(other.m5) , m6(other.m6) , m7(other.m7) , m8(other.m8) , m9(other.m9) , m10(other.m10) , m11(other.m11) , m12(other.m12) , m13(other.m13) , m14(other.m14) , m15(other.m15) , m16(other.m16) , m17(other.m17) , m18(other.m18) , m19(other.m19) , m20(other.m20) , m21(other.m21) , m22(other.m22) , m23(other.m23) , m24(other.m24) , m25(other.m25) , m26(other.m26) , m27(other.m27) , m28(other.m28) , m29(other.m29) , m30(other.m30) , m31(other.m31) , m32(other.m32) , m33(other.m33) , m34(other.m34) , m35(other.m35) , m36(other.m36) , m37(other.m37) , m38(other.m38) , m39(other.m39) , m40(other.m40) , m41(other.m41) , m42(other.m42) , m43(other.m43) , m44(other.m44) , m45(other.m45) , m46(other.m46) , m47(other.m47) , m48(other.m48) , m49(other.m49) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_data50& operator=(vector_data50 const& vec) { @@ -1403,6 +1680,9 @@ namespace boost { namespace fusion return *this; } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data50 init_from_sequence(Sequence const& seq) @@ -1413,6 +1693,9 @@ namespace boost { namespace fusion return vector_data50(*i0 , *i1 , *i2 , *i3 , *i4 , *i5 , *i6 , *i7 , *i8 , *i9 , *i10 , *i11 , *i12 , *i13 , *i14 , *i15 , *i16 , *i17 , *i18 , *i19 , *i20 , *i21 , *i22 , *i23 , *i24 , *i25 , *i26 , *i27 , *i28 , *i29 , *i30 , *i31 , *i32 , *i33 , *i34 , *i35 , *i36 , *i37 , *i38 , *i39 , *i40 , *i41 , *i42 , *i43 , *i44 , *i45 , *i46 , *i47 , *i48 , *i49); } template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED static vector_data50 init_from_sequence(Sequence& seq) @@ -1433,35 +1716,41 @@ namespace boost { namespace fusion typedef vector_data50 base_type; typedef mpl::vector50 types; typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; + typedef fusion_sequence_tag tag; typedef mpl::false_ is_view; typedef random_access_traversal_tag category; typedef mpl::int_<50> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50() {} +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector50( - typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48 , typename detail::call_param::type _49) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49) {} + typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} # if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED - vector50(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 , U47 && _47 , U48 && _48 , U49 && _49) - : base_type(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45) , std::forward(_46) , std::forward(_47) , std::forward(_48) , std::forward(_49)) {} - BOOST_FUSION_GPU_ENABLED + vector50(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49) + : base_type(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50(vector50&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50(vector50 const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50& operator=(vector50 const& vec) { base_type::operator=(vec); return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50& operator=(vector50&& vec) { @@ -1470,24 +1759,35 @@ namespace boost { namespace fusion } # endif template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector50( vector50 const& vec) : base_type(vec.m0 , vec.m1 , vec.m2 , vec.m3 , vec.m4 , vec.m5 , vec.m6 , vec.m7 , vec.m8 , vec.m9 , vec.m10 , vec.m11 , vec.m12 , vec.m13 , vec.m14 , vec.m15 , vec.m16 , vec.m17 , vec.m18 , vec.m19 , vec.m20 , vec.m21 , vec.m22 , vec.m23 , vec.m24 , vec.m25 , vec.m26 , vec.m27 , vec.m28 , vec.m29 , vec.m30 , vec.m31 , vec.m32 , vec.m33 , vec.m34 , vec.m35 , vec.m36 , vec.m37 , vec.m38 , vec.m39 , vec.m40 , vec.m41 , vec.m42 , vec.m43 , vec.m44 , vec.m45 , vec.m46 , vec.m47 , vec.m48 , vec.m49) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector50( Sequence const& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif BOOST_FUSION_GPU_ENABLED vector50( Sequence& seq + , typename boost::enable_if >::type* = 0 ) : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector50& operator=(vector50 const& vec) { @@ -1495,7 +1795,7 @@ namespace boost { namespace fusion return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -1505,16 +1805,16 @@ namespace boost { namespace fusion this->m0 = *i0; this->m1 = *i1; this->m2 = *i2; this->m3 = *i3; this->m4 = *i4; this->m5 = *i5; this->m6 = *i6; this->m7 = *i7; this->m8 = *i8; this->m9 = *i9; this->m10 = *i10; this->m11 = *i11; this->m12 = *i12; this->m13 = *i13; this->m14 = *i14; this->m15 = *i15; this->m16 = *i16; this->m17 = *i17; this->m18 = *i18; this->m19 = *i19; this->m20 = *i20; this->m21 = *i21; this->m22 = *i22; this->m23 = *i23; this->m24 = *i24; this->m25 = *i25; this->m26 = *i26; this->m27 = *i27; this->m28 = *i28; this->m29 = *i29; this->m30 = *i30; this->m31 = *i31; this->m32 = *i32; this->m33 = *i33; this->m34 = *i34; this->m35 = *i35; this->m36 = *i36; this->m37 = *i37; this->m38 = *i38; this->m39 = *i39; this->m40 = *i40; this->m41 = *i41; this->m42 = *i42; this->m43 = *i43; this->m44 = *i44; this->m45 = *i45; this->m46 = *i46; this->m47 = *i47; this->m48 = *i48; this->m49 = *i49; return *this; } - BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<49>) { return this->m49; } BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<49>) const { return this->m49; } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<0>) { return this->m0; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<0>) const { return this->m0; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<1>) { return this->m1; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<1>) const { return this->m1; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<2>) { return this->m2; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<2>) const { return this->m2; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<3>) { return this->m3; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<3>) const { return this->m3; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<4>) { return this->m4; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<4>) const { return this->m4; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<5>) { return this->m5; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<5>) const { return this->m5; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<6>) { return this->m6; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<6>) const { return this->m6; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<7>) { return this->m7; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<7>) const { return this->m7; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<8>) { return this->m8; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<8>) const { return this->m8; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<9>) { return this->m9; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<9>) const { return this->m9; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<10>) { return this->m10; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<10>) const { return this->m10; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<11>) { return this->m11; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<11>) const { return this->m11; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<12>) { return this->m12; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<12>) const { return this->m12; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<13>) { return this->m13; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<13>) const { return this->m13; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<14>) { return this->m14; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<14>) const { return this->m14; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<15>) { return this->m15; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<15>) const { return this->m15; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<16>) { return this->m16; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<16>) const { return this->m16; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<17>) { return this->m17; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<17>) const { return this->m17; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<18>) { return this->m18; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<18>) const { return this->m18; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<19>) { return this->m19; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<19>) const { return this->m19; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<20>) { return this->m20; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<20>) const { return this->m20; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<21>) { return this->m21; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<21>) const { return this->m21; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<22>) { return this->m22; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<22>) const { return this->m22; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<23>) { return this->m23; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<23>) const { return this->m23; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<24>) { return this->m24; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<24>) const { return this->m24; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<25>) { return this->m25; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<25>) const { return this->m25; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<26>) { return this->m26; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<26>) const { return this->m26; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<27>) { return this->m27; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<27>) const { return this->m27; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<28>) { return this->m28; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<28>) const { return this->m28; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<29>) { return this->m29; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<29>) const { return this->m29; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<30>) { return this->m30; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<30>) const { return this->m30; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<31>) { return this->m31; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<31>) const { return this->m31; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<32>) { return this->m32; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<32>) const { return this->m32; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<33>) { return this->m33; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<33>) const { return this->m33; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<34>) { return this->m34; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<34>) const { return this->m34; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<35>) { return this->m35; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<35>) const { return this->m35; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<36>) { return this->m36; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<36>) const { return this->m36; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<37>) { return this->m37; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<37>) const { return this->m37; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<38>) { return this->m38; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<38>) const { return this->m38; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<39>) { return this->m39; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<39>) const { return this->m39; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<40>) { return this->m40; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<40>) const { return this->m40; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<41>) { return this->m41; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<41>) const { return this->m41; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<42>) { return this->m42; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<42>) const { return this->m42; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<43>) { return this->m43; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<43>) const { return this->m43; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<44>) { return this->m44; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<44>) const { return this->m44; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<45>) { return this->m45; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<45>) const { return this->m45; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<46>) { return this->m46; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<46>) const { return this->m46; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<47>) { return this->m47; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<47>) const { return this->m47; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<48>) { return this->m48; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<48>) const { return this->m48; } BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type at_impl(mpl::int_<49>) { return this->m49; } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(mpl::int_<49>) const { return this->m49; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { return this->at_impl(mpl::int_()); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp similarity index 99% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp index 6829e9b50f..cecf8afe5e 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector50_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector50_fwd.hpp @@ -9,7 +9,7 @@ ==============================================================================*/ namespace boost { namespace fusion { - + template struct vector41; template diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp similarity index 60% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp index e956bf24e1..fb8f0e2f5b 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser.hpp @@ -7,15 +7,15 @@ This is an auto-generated file. Do not edit! ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 20 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 30 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 40 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser10.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser10.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser20.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser20.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser30.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser30.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser40.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser40.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_chooser50.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_chooser50.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp similarity index 61% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp index e2576f9004..42c3f5bc6c 100644 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vector_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vector_fwd.hpp @@ -8,15 +8,15 @@ ==============================================================================*/ #if FUSION_MAX_VECTOR_SIZE <= 10 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 20 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 30 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 40 -#include +#include #elif FUSION_MAX_VECTOR_SIZE <= 50 -#include +#include #else #error "FUSION_MAX_VECTOR_SIZE out of bounds for preprocessed headers" #endif diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp new file mode 100644 index 0000000000..ff935a8015 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10.hpp @@ -0,0 +1,311 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename boost::enable_if >::type* = 0) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector10_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector10_fwd.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp new file mode 100644 index 0000000000..9e7d414cc9 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20.hpp @@ -0,0 +1,481 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename boost::enable_if >::type* = 0) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector20_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector20_fwd.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp new file mode 100644 index 0000000000..25c9c21515 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30.hpp @@ -0,0 +1,651 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename boost::enable_if >::type* = 0) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector30_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector30_fwd.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp new file mode 100644 index 0000000000..11bae7fa67 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40.hpp @@ -0,0 +1,821 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename boost::enable_if >::type* = 0) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector40_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector40_fwd.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp new file mode 100644 index 0000000000..8dd9514969 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50.hpp @@ -0,0 +1,991 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + template + struct vector + : sequence_base > + { + private: + typedef typename detail::vector_n_chooser< + T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49>::type + vector_n; + template + friend struct vector; + public: + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename boost::enable_if >::type* = 0) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + + + + + + + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(typename detail::call_param::type arg0) + : vec(arg0) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + explicit + vector(U0 && arg0) + : vec(std::forward( arg0)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : vec(arg0 , arg1) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1) + : vec(std::forward( arg0) , std::forward( arg1)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : vec(arg0 , arg1 , arg2) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : vec(arg0 , arg1 , arg2 , arg3) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : vec(arg0 , arg1 , arg2 , arg3 , arg4) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48)) {} +# endif + +# if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : vec(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + template + +# if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +# endif + BOOST_FUSION_GPU_ENABLED + vector(U0 && arg0 , U1 && arg1 , U2 && arg2 , U3 && arg3 , U4 && arg4 , U5 && arg5 , U6 && arg6 , U7 && arg7 , U8 && arg8 , U9 && arg9 , U10 && arg10 , U11 && arg11 , U12 && arg12 , U13 && arg13 , U14 && arg14 , U15 && arg15 , U16 && arg16 , U17 && arg17 , U18 && arg18 , U19 && arg19 , U20 && arg20 , U21 && arg21 , U22 && arg22 , U23 && arg23 , U24 && arg24 , U25 && arg25 , U26 && arg26 , U27 && arg27 , U28 && arg28 , U29 && arg29 , U30 && arg30 , U31 && arg31 , U32 && arg32 , U33 && arg33 , U34 && arg34 , U35 && arg35 , U36 && arg36 , U37 && arg37 , U38 && arg38 , U39 && arg39 , U40 && arg40 , U41 && arg41 , U42 && arg42 , U43 && arg43 , U44 && arg44 , U45 && arg45 , U46 && arg46 , U47 && arg47 , U48 && arg48 , U49 && arg49) + : vec(std::forward( arg0) , std::forward( arg1) , std::forward( arg2) , std::forward( arg3) , std::forward( arg4) , std::forward( arg5) , std::forward( arg6) , std::forward( arg7) , std::forward( arg8) , std::forward( arg9) , std::forward( arg10) , std::forward( arg11) , std::forward( arg12) , std::forward( arg13) , std::forward( arg14) , std::forward( arg15) , std::forward( arg16) , std::forward( arg17) , std::forward( arg18) , std::forward( arg19) , std::forward( arg20) , std::forward( arg21) , std::forward( arg22) , std::forward( arg23) , std::forward( arg24) , std::forward( arg25) , std::forward( arg26) , std::forward( arg27) , std::forward( arg28) , std::forward( arg29) , std::forward( arg30) , std::forward( arg31) , std::forward( arg32) , std::forward( arg33) , std::forward( arg34) , std::forward( arg35) , std::forward( arg36) , std::forward( arg37) , std::forward( arg38) , std::forward( arg39) , std::forward( arg40) , std::forward( arg41) , std::forward( arg42) , std::forward( arg43) , std::forward( arg44) , std::forward( arg45) , std::forward( arg46) , std::forward( arg47) , std::forward( arg48) , std::forward( arg49)) {} +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } +# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T&& rhs) + { + vec = std::forward( rhs); + return *this; + } +# endif + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I ) + { + return vec.at_impl(mpl::int_()); + } + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I ) const + { + return vec.at_impl(mpl::int_()); + } + private: + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp similarity index 100% rename from 3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector50_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/preprocessed/vvector50_fwd.hpp diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp new file mode 100644 index 0000000000..44feb6002c --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/value_at_impl.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_VALUE_AT_IMPL_05052005_0232) +#define FUSION_VALUE_AT_IMPL_05052005_0232 + +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + + namespace extension + { + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + { + typedef typename mpl::at::type type; + }; + }; + } +}} + +#endif diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/vector.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector.hpp new file mode 100644 index 0000000000..5dcd688650 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector.hpp @@ -0,0 +1,247 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_VECTOR_07072005_1244) +#define FUSION_VECTOR_07072005_1244 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define FUSION_HASH # + +#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600) + +#define BOOST_FUSION_VECTOR_COPY_INIT() \ + ctor_helper(rhs, is_base_of()) \ + +#define BOOST_FUSION_VECTOR_CTOR_HELPER() \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static vector_n const& \ + ctor_helper(vector const& rhs, mpl::true_) \ + { \ + return rhs.vec; \ + } \ + \ + template \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + static T const& \ + ctor_helper(T const& rhs, mpl::false_) \ + { \ + return rhs; \ + } + +#else + +#define BOOST_FUSION_VECTOR_COPY_INIT() \ + rhs \ + +#define BOOST_FUSION_VECTOR_CTOR_HELPER() + +#endif + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + struct fusion_sequence_tag; + + template + struct vector + : sequence_base > + { + private: + + typedef typename detail::vector_n_chooser< + BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type + vector_n; + + template + friend struct vector; + + public: + + typedef typename vector_n::types types; + typedef typename vector_n::fusion_tag fusion_tag; + typedef typename vector_n::tag tag; + typedef typename vector_n::size size; + typedef typename vector_n::category category; + typedef typename vector_n::is_view is_view; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector() + : vec() {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector const& rhs) + : vec(rhs.vec) {} + + template + BOOST_FUSION_GPU_ENABLED + vector(Sequence const& rhs, + typename boost::enable_if >::type* = 0) + : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} + + // Expand a couple of forwarding constructors for arguments + // of type (T0), (T0, T1), (T0, T1, T2) etc. Example: + // + // vector( + // typename detail::call_param::type arg0 + // , typename detail::call_param::type arg1) + // : vec(arg0, arg1) {} + #include + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T const& rhs) + { + vec = rhs; + return *this; + } + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector const& rhs) + { + vec = rhs.vec; + return *this; + } + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) +#endif +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ + (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector(vector&& rhs) + : vec(std::forward(rhs.vec)) {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(vector&& rhs) + { + vec = std::forward(rhs.vec); + return *this; + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector& + operator=(T&& rhs) + { + vec = BOOST_FUSION_FWD_ELEM(T, rhs); + return *this; + } +#endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH endif +#endif + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at_c::type + >::type + at_impl(mpl::int_ index) + { + return vec.at_impl(index); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at_c::type + >::type + >::type + at_impl(mpl::int_ index) const + { + return vec.at_impl(index); + } + + template + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename mpl::at::type + >::type + at_impl(I /*index*/) + { + return vec.at_impl(mpl::int_()); + } + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + typename add_reference< + typename add_const< + typename mpl::at::type + >::type + >::type + at_impl(I /*index*/) const + { + return vec.at_impl(mpl::int_()); + } + + private: + + BOOST_FUSION_VECTOR_CTOR_HELPER() + vector_n vec; + }; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#undef FUSION_HASH +#endif diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/vector10.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector10.hpp new file mode 100644 index 0000000000..58a31ddec3 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector10.hpp @@ -0,0 +1,105 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_VECTOR10_05042005_0257) +#define FUSION_VECTOR10_05042005_0257 + +#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 + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + + template + struct vector0 : sequence_base > + { + typedef mpl::vector0<> types; + typedef vector_tag fusion_tag; + typedef fusion_sequence_tag tag; // this gets picked up by MPL + typedef mpl::false_ is_view; + typedef random_access_traversal_tag category; + typedef mpl::int_<0> size; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector0() BOOST_NOEXCEPT {} + + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector0(Sequence const& /*seq*/) BOOST_NOEXCEPT + {} + }; +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector10.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector1 to vector10 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, 10) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/vector/vector10_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp similarity index 88% rename from 3party/boost/boost/fusion/container/vector/vector10_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp index ce5cb1e806..d221faece2 100644 --- a/3party/boost/boost/fusion/container/vector/vector10_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector10_fwd.hpp @@ -21,10 +21,10 @@ namespace boost { namespace fusion }} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector10_fwd.hpp") +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector10_fwd.hpp") #endif /*============================================================================= @@ -43,7 +43,7 @@ namespace boost { namespace fusion namespace boost { namespace fusion { // expand vector1 to vector10 - #define BOOST_PP_FILENAME_1 + #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, 10) #include BOOST_PP_ITERATE() }} diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/vector20.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector20.hpp new file mode 100644 index 0000000000..6f0fe2a737 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector20.hpp @@ -0,0 +1,80 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_VECTOR20_05052005_0205) +#define FUSION_VECTOR20_05052005_0205 + +#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 + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector20.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector11 to vector20 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (11, 20) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/vector/vector20_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp similarity index 87% rename from 3party/boost/boost/fusion/container/vector/vector20_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp index bf1b39b454..e69b59f4a6 100644 --- a/3party/boost/boost/fusion/container/vector/vector20_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector20_fwd.hpp @@ -15,10 +15,10 @@ #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector20_fwd.hpp") +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector20_fwd.hpp") #endif /*============================================================================= @@ -38,7 +38,7 @@ namespace boost { namespace fusion { // expand vector11 to vector20 - #define BOOST_PP_FILENAME_1 + #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (11, 20) #include BOOST_PP_ITERATE() }} diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/vector30.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector30.hpp new file mode 100644 index 0000000000..d08cf6280a --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector30.hpp @@ -0,0 +1,79 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_VECTOR30_05052005_0206) +#define FUSION_VECTOR30_05052005_0206 + +#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 + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector30.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector21 to vector30 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (21, 30) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/vector/vector30_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp similarity index 87% rename from 3party/boost/boost/fusion/container/vector/vector30_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp index 23b38569e5..e799b09657 100644 --- a/3party/boost/boost/fusion/container/vector/vector30_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector30_fwd.hpp @@ -15,10 +15,10 @@ #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector30_fwd.hpp") +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector30_fwd.hpp") #endif /*============================================================================= @@ -38,7 +38,7 @@ namespace boost { namespace fusion { // expand vector21 to vector30 - #define BOOST_PP_FILENAME_1 + #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (21, 30) #include BOOST_PP_ITERATE() }} diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/vector40.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector40.hpp new file mode 100644 index 0000000000..f44441daa1 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector40.hpp @@ -0,0 +1,80 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_VECTOR40_05052005_0208) +#define FUSION_VECTOR40_05052005_0208 + +#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 + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector40.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector31 to vector40 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (31, 40) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/vector/vector40_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp similarity index 87% rename from 3party/boost/boost/fusion/container/vector/vector40_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp index fc3d29d195..790dd76135 100644 --- a/3party/boost/boost/fusion/container/vector/vector40_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector40_fwd.hpp @@ -15,10 +15,10 @@ #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector40_fwd.hpp") +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector40_fwd.hpp") #endif /*============================================================================= @@ -38,7 +38,7 @@ namespace boost { namespace fusion { // expand vector31 to vector40 - #define BOOST_PP_FILENAME_1 + #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (31, 40) #include BOOST_PP_ITERATE() }} diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/vector50.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector50.hpp new file mode 100644 index 0000000000..45a1fc9bbc --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector50.hpp @@ -0,0 +1,79 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_VECTOR50_05052005_0207) +#define FUSION_VECTOR50_05052005_0207 + +#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 + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector50.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct vector_tag; + struct fusion_sequence_tag; + struct random_access_traversal_tag; + +#define FUSION_HASH # +// expand vector41 to vector50 +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (41, 50) +#include BOOST_PP_ITERATE() +#undef FUSION_HASH +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/vector/vector50_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp similarity index 87% rename from 3party/boost/boost/fusion/container/vector/vector50_fwd.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp index 52083ad47c..4ec5e2812c 100644 --- a/3party/boost/boost/fusion/container/vector/vector50_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector50_fwd.hpp @@ -15,10 +15,10 @@ #include #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector50_fwd.hpp") +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector50_fwd.hpp") #endif /*============================================================================= @@ -38,7 +38,7 @@ namespace boost { namespace fusion { // expand vector41 to vector50 - #define BOOST_PP_FILENAME_1 + #define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (41, 50) #include BOOST_PP_ITERATE() }} diff --git a/3party/boost/boost/fusion/container/vector/detail/vector_forward_ctor.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp similarity index 65% rename from 3party/boost/boost/fusion/container/vector/detail/vector_forward_ctor.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp index 976e2a1f74..682f0ce367 100644 --- a/3party/boost/boost/fusion/container/vector/detail/vector_forward_ctor.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector_forward_ctor.hpp @@ -8,10 +8,10 @@ #if !defined(FUSION_VECTOR_FORWARD_CTOR_07122005_1123) #define FUSION_VECTOR_FORWARD_CTOR_07122005_1123 -#define FUSION_FORWARD_CTOR_FORWARD(z, n, _) std::forward(_##n) +#define FUSION_FORWARD_CTOR_FORWARD(z, n, _) BOOST_FUSION_FWD_ELEM(U##n, _##n) #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() @@ -26,13 +26,23 @@ #define M BOOST_PP_ITERATION() + // XXX: +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED #if M == 1 explicit #endif vector(BOOST_PP_ENUM_BINARY_PARAMS( - M, typename detail::call_param::type _)) - : vec(BOOST_PP_ENUM_PARAMS(M, _)) {} + M, typename detail::call_param::type arg)) + : vec(BOOST_PP_ENUM_PARAMS(M, arg)) {} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) @@ -40,12 +50,22 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template + // XXX: +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED #if M == 1 explicit #endif - vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && _)) - : vec(BOOST_PP_ENUM(M, FUSION_FORWARD_CTOR_FORWARD, _)) {} + vector(BOOST_PP_ENUM_BINARY_PARAMS(M, U, && arg)) + : vec(BOOST_PP_ENUM(M, FUSION_FORWARD_CTOR_FORWARD, arg)) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif diff --git a/3party/boost/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp new file mode 100644 index 0000000000..f894b1a699 --- /dev/null +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector_fwd.hpp @@ -0,0 +1,66 @@ +/*============================================================================= + Copyright (c) 1999-2003 Jaakko Jarvi + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_VECTOR_FORWARD_07072005_0125) +#define FUSION_VECTOR_FORWARD_07072005_0125 + +#include +#include +#include + +#include +#if (FUSION_MAX_VECTOR_SIZE > 10) +#include +#endif +#if (FUSION_MAX_VECTOR_SIZE > 20) +#include +#endif +#if (FUSION_MAX_VECTOR_SIZE > 30) +#include +#endif +#if (FUSION_MAX_VECTOR_SIZE > 40) +#include +#endif + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + > + struct vector; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/container/vector/detail/vector_n.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector_n.hpp similarity index 70% rename from 3party/boost/boost/fusion/container/vector/detail/vector_n.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/vector_n.hpp index 89c6f03c1b..932ce36c7d 100644 --- a/3party/boost/boost/fusion/container/vector/detail/vector_n.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector_n.hpp @@ -19,16 +19,16 @@ m##n(other.m##n) #define FUSION_VECTOR_CTOR_FORWARD(z, n, _) \ - m##n(std::forward(other.m##n)) + m##n(BOOST_FUSION_FWD_ELEM(T##n, other.m##n)) #define FUSION_VECTOR_CTOR_ARG_FWD(z, n, _) \ - m##n(std::forward(_##n)) + m##n(BOOST_FUSION_FWD_ELEM(U##n, _##n)) #define FUSION_VECTOR_MEMBER_DECL(z, n, _) \ T##n m##n; #define FUSION_VECTOR_MEMBER_FORWARD(z, n, _) \ - std::forward(_##n) + BOOST_FUSION_FWD_ELEM(U##n, _##n) #define FUSION_VECTOR_MEMBER_ASSIGN(z, n, _) \ this->BOOST_PP_CAT(m, n) = vec.BOOST_PP_CAT(m, n); @@ -41,9 +41,11 @@ BOOST_PP_CAT(T, n)>(vec.BOOST_PP_CAT(m, n)); #define FUSION_VECTOR_MEMBER_AT_IMPL(z, n, _) \ - BOOST_FUSION_GPU_ENABLED typename add_reference::type \ + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + typename add_reference::type \ at_impl(mpl::int_) { return this->m##n; } \ - BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type \ + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED \ + typename add_reference::type>::type \ at_impl(mpl::int_) const { return this->m##n; } #define FUSION_VECTOR_MEMBER_ITER_DECL_VAR(z, n, _) \ @@ -59,7 +61,7 @@ template struct BOOST_PP_CAT(vector_data, N) { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)() : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_DEFAULT_INIT, _) {} @@ -69,31 +71,51 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED - BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && _) + BOOST_PP_CAT(vector_data, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg) , typename boost::enable_if >::type* /*dummy*/ = 0 ) - : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_ARG_FWD, _) {} + : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_ARG_FWD, arg) {} + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)( BOOST_PP_CAT(vector_data, N)&& other) - : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_FORWARD, _) {} + : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_FORWARD, arg) {} #endif #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH endif #endif +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)( BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type _)) - : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_INIT, _) {} + N, typename detail::call_param::type arg)) + : BOOST_PP_ENUM(N, FUSION_VECTOR_CTOR_INIT, arg) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)( BOOST_PP_CAT(vector_data, N) const& other) : BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_CTOR_INIT, _) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector_data, N)& operator=(BOOST_PP_CAT(vector_data, N) const& vec) { @@ -102,6 +124,15 @@ FUSION_HASH endif } template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED static BOOST_PP_CAT(vector_data, N) init_from_sequence(Sequence const& seq) @@ -113,6 +144,15 @@ FUSION_HASH endif } template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED static BOOST_PP_CAT(vector_data, N) init_from_sequence(Sequence& seq) @@ -140,17 +180,26 @@ FUSION_HASH endif typedef random_access_traversal_tag category; typedef mpl::int_ size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)() {} +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED #if (N == 1) explicit #endif BOOST_PP_CAT(vector, N)( BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type _)) - : base_type(BOOST_PP_ENUM_PARAMS(N, _)) {} + N, typename detail::call_param::type arg)) + : base_type(BOOST_PP_ENUM_PARAMS(N, arg)) {} #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) @@ -158,27 +207,36 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED #if (N == 1) explicit BOOST_PP_CAT(vector, N)(U0&& _0 , typename boost::enable_if >::type* /*dummy*/ = 0 ) - : base_type(std::forward(_0)) {} + : base_type(BOOST_FUSION_FWD_ELEM(U0, _0)) {} #else - BOOST_PP_CAT(vector, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && _)) - : base_type(BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_FORWARD, _)) {} + BOOST_PP_CAT(vector, N)(BOOST_PP_ENUM_BINARY_PARAMS(N, U, && arg)) + : base_type(BOOST_PP_ENUM(N, FUSION_VECTOR_MEMBER_FORWARD, arg)) {} #endif - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N)&& rhs) : base_type(std::forward(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)(BOOST_PP_CAT(vector, N) const& rhs) : base_type(static_cast(rhs)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)& operator=(BOOST_PP_CAT(vector, N) const& vec) { @@ -186,7 +244,7 @@ FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)& operator=(BOOST_PP_CAT(vector, N)&& vec) { @@ -199,15 +257,34 @@ FUSION_HASH endif #endif template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)( BOOST_PP_CAT(vector, N) const& vec) : base_type(BOOST_PP_ENUM_PARAMS(N, vec.m)) {} template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)( Sequence const& seq + , typename boost::enable_if >::type* = 0 #if (N == 1) , typename boost::disable_if >::type* /*dummy*/ = 0 #endif @@ -215,9 +292,19 @@ FUSION_HASH endif : base_type(base_type::init_from_sequence(seq)) {} template +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +FUSION_HASH if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +FUSION_HASH endif +#else +#if !defined(BOOST_CLANG) + BOOST_CXX14_CONSTEXPR +#endif +#endif BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)( Sequence& seq + , typename boost::enable_if >::type* = 0 #if (N == 1) , typename boost::disable_if >::type* /*dummy*/ = 0 #endif @@ -225,7 +312,7 @@ FUSION_HASH endif : base_type(base_type::init_from_sequence(seq)) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED BOOST_PP_CAT(vector, N)& operator=(BOOST_PP_CAT(vector, N) const& vec) { @@ -234,7 +321,7 @@ FUSION_HASH endif } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename boost::disable_if, this_type&>::type operator=(Sequence const& seq) { @@ -248,7 +335,7 @@ FUSION_HASH endif BOOST_PP_REPEAT(N, FUSION_VECTOR_MEMBER_AT_IMPL, _) template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type at_impl(I) { @@ -256,7 +343,7 @@ FUSION_HASH endif } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type>::type at_impl(I) const { diff --git a/3party/boost/boost/fusion/container/vector/detail/vector_n_chooser.hpp b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp similarity index 85% rename from 3party/boost/boost/fusion/container/vector/detail/vector_n_chooser.hpp rename to 3party/boost/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp index b0e69afc79..002889ceb5 100644 --- a/3party/boost/boost/fusion/container/vector/detail/vector_n_chooser.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/cpp03/vector_n_chooser.hpp @@ -8,21 +8,21 @@ #if !defined(FUSION_VECTOR_N_CHOOSER_07072005_1248) #define FUSION_VECTOR_N_CHOOSER_07072005_1248 -#include +#include // include vector0..N where N is FUSION_MAX_VECTOR_SIZE -#include +#include #if (FUSION_MAX_VECTOR_SIZE > 10) -#include +#include #endif #if (FUSION_MAX_VECTOR_SIZE > 20) -#include +#include #endif #if (FUSION_MAX_VECTOR_SIZE > 30) -#include +#include #endif #if (FUSION_MAX_VECTOR_SIZE > 40) -#include +#include #endif #include @@ -38,7 +38,7 @@ namespace boost { namespace fusion }} #if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include +#include #else #if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) #pragma wave option(preserve: 2, line: 0, output: "preprocessed/vector_chooser" FUSION_MAX_VECTOR_SIZE_STR ".hpp") @@ -72,7 +72,7 @@ namespace boost { namespace fusion { namespace detail }; #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, BOOST_PP_DEC(FUSION_MAX_VECTOR_SIZE)) #include BOOST_PP_ITERATE() diff --git a/3party/boost/boost/fusion/container/vector/detail/deref_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/deref_impl.hpp index b338d2fe20..5186aa1047 100644 --- a/3party/boost/boost/fusion/container/vector/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/deref_impl.hpp @@ -26,14 +26,14 @@ namespace boost { namespace fusion struct deref_impl { template - struct apply + struct apply { typedef typename Iterator::vector vector; typedef typename Iterator::index index; typedef typename mpl::at< typename vector::types, index>::type element; - + typedef typename mpl::if_< is_const @@ -42,7 +42,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/container/vector/detail/distance_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/distance_impl.hpp index 948355383f..4c2a1226d6 100644 --- a/3party/boost/boost/fusion/container/vector/detail/distance_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/distance_impl.hpp @@ -24,8 +24,8 @@ namespace boost { namespace fusion { template struct apply : mpl::minus - { - BOOST_FUSION_GPU_ENABLED + { + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename mpl::minus< typename Last::index, typename First::index>::type call(First const&, Last const&) diff --git a/3party/boost/boost/fusion/container/vector/detail/end_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/end_impl.hpp index 14c6715775..a77ef644e6 100644 --- a/3party/boost/boost/fusion/container/vector/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/end_impl.hpp @@ -23,12 +23,12 @@ namespace boost { namespace fusion struct end_impl { template - struct apply + struct apply { typedef typename Sequence::size size; typedef vector_iterator type; - - BOOST_FUSION_GPU_ENABLED + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& v) { diff --git a/3party/boost/boost/fusion/container/vector/detail/equal_to_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/equal_to_impl.hpp index 50420cc827..18b3e4a31e 100644 --- a/3party/boost/boost/fusion/container/vector/detail/equal_to_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/equal_to_impl.hpp @@ -25,7 +25,7 @@ namespace boost { namespace fusion struct equal_to_impl { template - struct apply + struct apply : is_same< typename I1::identity , typename I2::identity diff --git a/3party/boost/boost/fusion/container/vector/detail/next_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/next_impl.hpp index 78aef85d56..28408205d8 100644 --- a/3party/boost/boost/fusion/container/vector/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/next_impl.hpp @@ -25,13 +25,13 @@ namespace boost { namespace fusion struct next_impl { template - struct apply + struct apply { typedef typename Iterator::vector vector; typedef typename Iterator::index index; typedef vector_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp b/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp deleted file mode 100644 index ab2a39299c..0000000000 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector10.hpp +++ /dev/null @@ -1,230 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type _0) - : vec(_0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && _0) - : vec(std::forward(_0)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : vec(_0 , _1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1) - : vec(std::forward(_0) , std::forward(_1)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : vec(_0 , _1 , _2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : vec(_0 , _1 , _2 , _3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : vec(_0 , _1 , _2 , _3 , _4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : vec(_0 , _1 , _2 , _3 , _4 , _5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9)) {} -# endif - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T&& rhs) - { - vec = std::forward(rhs); - return *this; - } -# endif - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp b/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp deleted file mode 100644 index 0ae2b8a4c4..0000000000 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector20.hpp +++ /dev/null @@ -1,320 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type _0) - : vec(_0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && _0) - : vec(std::forward(_0)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : vec(_0 , _1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1) - : vec(std::forward(_0) , std::forward(_1)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : vec(_0 , _1 , _2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : vec(_0 , _1 , _2 , _3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : vec(_0 , _1 , _2 , _3 , _4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : vec(_0 , _1 , _2 , _3 , _4 , _5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19)) {} -# endif - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T&& rhs) - { - vec = std::forward(rhs); - return *this; - } -# endif - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp b/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp deleted file mode 100644 index 3c9d5230f7..0000000000 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector30.hpp +++ /dev/null @@ -1,410 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type _0) - : vec(_0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && _0) - : vec(std::forward(_0)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : vec(_0 , _1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1) - : vec(std::forward(_0) , std::forward(_1)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : vec(_0 , _1 , _2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : vec(_0 , _1 , _2 , _3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : vec(_0 , _1 , _2 , _3 , _4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : vec(_0 , _1 , _2 , _3 , _4 , _5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29)) {} -# endif - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T&& rhs) - { - vec = std::forward(rhs); - return *this; - } -# endif - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp b/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp deleted file mode 100644 index e5555a2495..0000000000 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector40.hpp +++ /dev/null @@ -1,500 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type _0) - : vec(_0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && _0) - : vec(std::forward(_0)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : vec(_0 , _1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1) - : vec(std::forward(_0) , std::forward(_1)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : vec(_0 , _1 , _2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : vec(_0 , _1 , _2 , _3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : vec(_0 , _1 , _2 , _3 , _4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : vec(_0 , _1 , _2 , _3 , _4 , _5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39)) {} -# endif - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T&& rhs) - { - vec = std::forward(rhs); - return *this; - } -# endif - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp b/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp deleted file mode 100644 index e9e2a506fc..0000000000 --- a/3party/boost/boost/fusion/container/vector/detail/preprocessed/vvector50.hpp +++ /dev/null @@ -1,590 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - template - struct vector - : sequence_base > - { - private: - typedef typename detail::vector_n_chooser< - T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , T9 , T10 , T11 , T12 , T13 , T14 , T15 , T16 , T17 , T18 , T19 , T20 , T21 , T22 , T23 , T24 , T25 , T26 , T27 , T28 , T29 , T30 , T31 , T32 , T33 , T34 , T35 , T36 , T37 , T38 , T39 , T40 , T41 , T42 , T43 , T44 , T45 , T46 , T47 , T48 , T49>::type - vector_n; - template - friend struct vector; - public: - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - template - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - - - - - - - BOOST_FUSION_GPU_ENABLED - explicit - vector(typename detail::call_param::type _0) - : vec(_0) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - explicit - vector(U0 && _0) - : vec(std::forward(_0)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : vec(_0 , _1) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1) - : vec(std::forward(_0) , std::forward(_1)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : vec(_0 , _1 , _2) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : vec(_0 , _1 , _2 , _3) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : vec(_0 , _1 , _2 , _3 , _4) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : vec(_0 , _1 , _2 , _3 , _4 , _5) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45) , std::forward(_46)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 , U47 && _47) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45) , std::forward(_46) , std::forward(_47)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 , U47 && _47 , U48 && _48) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45) , std::forward(_46) , std::forward(_47) , std::forward(_48)) {} -# endif - BOOST_FUSION_GPU_ENABLED - vector(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48 , typename detail::call_param::type _49) - : vec(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49) {} -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template - BOOST_FUSION_GPU_ENABLED - vector(U0 && _0 , U1 && _1 , U2 && _2 , U3 && _3 , U4 && _4 , U5 && _5 , U6 && _6 , U7 && _7 , U8 && _8 , U9 && _9 , U10 && _10 , U11 && _11 , U12 && _12 , U13 && _13 , U14 && _14 , U15 && _15 , U16 && _16 , U17 && _17 , U18 && _18 , U19 && _19 , U20 && _20 , U21 && _21 , U22 && _22 , U23 && _23 , U24 && _24 , U25 && _25 , U26 && _26 , U27 && _27 , U28 && _28 , U29 && _29 , U30 && _30 , U31 && _31 , U32 && _32 , U33 && _33 , U34 && _34 , U35 && _35 , U36 && _36 , U37 && _37 , U38 && _38 , U39 && _39 , U40 && _40 , U41 && _41 , U42 && _42 , U43 && _43 , U44 && _44 , U45 && _45 , U46 && _46 , U47 && _47 , U48 && _48 , U49 && _49) - : vec(std::forward(_0) , std::forward(_1) , std::forward(_2) , std::forward(_3) , std::forward(_4) , std::forward(_5) , std::forward(_6) , std::forward(_7) , std::forward(_8) , std::forward(_9) , std::forward(_10) , std::forward(_11) , std::forward(_12) , std::forward(_13) , std::forward(_14) , std::forward(_15) , std::forward(_16) , std::forward(_17) , std::forward(_18) , std::forward(_19) , std::forward(_20) , std::forward(_21) , std::forward(_22) , std::forward(_23) , std::forward(_24) , std::forward(_25) , std::forward(_26) , std::forward(_27) , std::forward(_28) , std::forward(_29) , std::forward(_30) , std::forward(_31) , std::forward(_32) , std::forward(_33) , std::forward(_34) , std::forward(_35) , std::forward(_36) , std::forward(_37) , std::forward(_38) , std::forward(_39) , std::forward(_40) , std::forward(_41) , std::forward(_42) , std::forward(_43) , std::forward(_44) , std::forward(_45) , std::forward(_46) , std::forward(_47) , std::forward(_48) , std::forward(_49)) {} -# endif - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } -# if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T&& rhs) - { - vec = std::forward(rhs); - return *this; - } -# endif - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I ) - { - return vec.at_impl(mpl::int_()); - } - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I ) const - { - return vec.at_impl(mpl::int_()); - } - private: - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} diff --git a/3party/boost/boost/fusion/container/vector/detail/prior_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/prior_impl.hpp index b3bdc55f60..4d040d3959 100644 --- a/3party/boost/boost/fusion/container/vector/detail/prior_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/prior_impl.hpp @@ -25,13 +25,13 @@ namespace boost { namespace fusion struct prior_impl { template - struct apply + struct apply { typedef typename Iterator::vector vector; typedef typename Iterator::index index; typedef vector_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/container/vector/detail/value_at_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/value_at_impl.hpp index 9b94e9deb3..f47133277c 100644 --- a/3party/boost/boost/fusion/container/vector/detail/value_at_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/value_at_impl.hpp @@ -1,34 +1,18 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ -#if !defined(FUSION_VALUE_AT_IMPL_05052005_0232) -#define FUSION_VALUE_AT_IMPL_05052005_0232 +#ifndef FUSION_VALUE_AT_IMPL_16122014_1641 +#define FUSION_VALUE_AT_IMPL_16122014_1641 +#include #include -#include -namespace boost { namespace fusion -{ - struct vector_tag; - - namespace extension - { - template - struct value_at_impl; - - template <> - struct value_at_impl - { - template - struct apply - { - typedef typename mpl::at::type type; - }; - }; - } -}} +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +# include #endif diff --git a/3party/boost/boost/fusion/container/vector/detail/value_of_impl.hpp b/3party/boost/boost/fusion/container/vector/detail/value_of_impl.hpp index 7527d58148..2a8acf912d 100644 --- a/3party/boost/boost/fusion/container/vector/detail/value_of_impl.hpp +++ b/3party/boost/boost/fusion/container/vector/detail/value_of_impl.hpp @@ -23,7 +23,7 @@ namespace boost { namespace fusion struct value_of_impl { template - struct apply + struct apply { typedef typename Iterator::vector vector; typedef typename Iterator::index index; diff --git a/3party/boost/boost/fusion/container/vector/vector.hpp b/3party/boost/boost/fusion/container/vector/vector.hpp index 391bf39d25..2b9f0ce5ca 100644 --- a/3party/boost/boost/fusion/container/vector/vector.hpp +++ b/3party/boost/boost/fusion/container/vector/vector.hpp @@ -1,243 +1,20 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_VECTOR_07072005_1244) -#define FUSION_VECTOR_07072005_1244 +#ifndef FUSION_VECTOR_11052014_1625 +#define FUSION_VECTOR_11052014_1625 -#include -#include -#include +#include #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#define FUSION_HASH # - -#if BOOST_WORKAROUND(BOOST_MSVC, <= 1600) - -#define BOOST_FUSION_VECTOR_COPY_INIT() \ - ctor_helper(rhs, is_base_of()) \ - -#define BOOST_FUSION_VECTOR_CTOR_HELPER() \ - BOOST_FUSION_GPU_ENABLED \ - static vector_n const& \ - ctor_helper(vector const& rhs, mpl::true_) \ - { \ - return rhs.vec; \ - } \ - \ - template \ - BOOST_FUSION_GPU_ENABLED \ - static T const& \ - ctor_helper(T const& rhs, mpl::false_) \ - { \ - return rhs; \ - } - -#else - -#define BOOST_FUSION_VECTOR_COPY_INIT() \ - rhs \ - -#define BOOST_FUSION_VECTOR_CTOR_HELPER() +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +# include #endif -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - struct fusion_sequence_tag; - - template - struct vector - : sequence_base > - { - private: - - typedef typename detail::vector_n_chooser< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type - vector_n; - - template - friend struct vector; - - public: - - typedef typename vector_n::types types; - typedef typename vector_n::fusion_tag fusion_tag; - typedef typename vector_n::tag tag; - typedef typename vector_n::size size; - typedef typename vector_n::category category; - typedef typename vector_n::is_view is_view; - - BOOST_FUSION_GPU_ENABLED - vector() - : vec() {} - - template - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - - BOOST_FUSION_GPU_ENABLED - vector(vector const& rhs) - : vec(rhs.vec) {} - - template - BOOST_FUSION_GPU_ENABLED - vector(Sequence const& rhs) - : vec(BOOST_FUSION_VECTOR_COPY_INIT()) {} - - // Expand a couple of forwarding constructors for arguments - // of type (T0), (T0, T1), (T0, T1, T2) etc. Example: - // - // vector( - // typename detail::call_param::type _0 - // , typename detail::call_param::type _1) - // : vec(_0, _1) {} - #include - - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T const& rhs) - { - vec = rhs; - return *this; - } - - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector const& rhs) - { - vec = rhs.vec; - return *this; - } - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) -#endif -#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \ - (defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES)) - BOOST_FUSION_GPU_ENABLED - vector(vector&& rhs) - : vec(std::forward(rhs.vec)) {} - BOOST_FUSION_GPU_ENABLED - vector& - operator=(vector&& rhs) - { - vec = std::forward(rhs.vec); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - vector& - operator=(T&& rhs) - { - vec = std::forward(rhs); - return *this; - } -#endif -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -FUSION_HASH endif -#endif - - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at_c::type - >::type - at_impl(mpl::int_ index) - { - return vec.at_impl(index); - } - - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at_c::type - >::type - >::type - at_impl(mpl::int_ index) const - { - return vec.at_impl(index); - } - - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename mpl::at::type - >::type - at_impl(I /*index*/) - { - return vec.at_impl(mpl::int_()); - } - - template - BOOST_FUSION_GPU_ENABLED - typename add_reference< - typename add_const< - typename mpl::at::type - >::type - >::type - at_impl(I /*index*/) const - { - return vec.at_impl(mpl::int_()); - } - - private: - - BOOST_FUSION_VECTOR_CTOR_HELPER() - vector_n vec; - }; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#undef FUSION_HASH -#endif diff --git a/3party/boost/boost/fusion/container/vector/vector10.hpp b/3party/boost/boost/fusion/container/vector/vector10.hpp index 4f9b18f5e1..f152bfe161 100644 --- a/3party/boost/boost/fusion/container/vector/vector10.hpp +++ b/3party/boost/boost/fusion/container/vector/vector10.hpp @@ -1,104 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_VECTOR10_05042005_0257) -#define FUSION_VECTOR10_05042005_0257 +#ifndef FUSION_VECTOR10_11052014_2316 +#define FUSION_VECTOR10_11052014_2316 +#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 - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - - template - struct vector0 : sequence_base > - { - typedef mpl::vector0<> types; - typedef vector_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::false_ is_view; - typedef random_access_traversal_tag category; - typedef mpl::int_<0> size; - - BOOST_FUSION_GPU_ENABLED - vector0() {} - - template - BOOST_FUSION_GPU_ENABLED - vector0(Sequence const& /*seq*/) - {} - }; -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector10.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector1 to vector10 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, 10) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +# include #endif + diff --git a/3party/boost/boost/fusion/container/vector/vector20.hpp b/3party/boost/boost/fusion/container/vector/vector20.hpp index 11df242062..c5be355df6 100644 --- a/3party/boost/boost/fusion/container/vector/vector20.hpp +++ b/3party/boost/boost/fusion/container/vector/vector20.hpp @@ -1,80 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_VECTOR20_05052005_0205) -#define FUSION_VECTOR20_05052005_0205 +#ifndef FUSION_VECTOR20_11052014_2316 +#define FUSION_VECTOR20_11052014_2316 +#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 - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector20.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector11 to vector20 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (11, 20) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +# include #endif diff --git a/3party/boost/boost/fusion/container/vector/vector30.hpp b/3party/boost/boost/fusion/container/vector/vector30.hpp index de379a06a2..1a528cb578 100644 --- a/3party/boost/boost/fusion/container/vector/vector30.hpp +++ b/3party/boost/boost/fusion/container/vector/vector30.hpp @@ -1,79 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_VECTOR30_05052005_0206) -#define FUSION_VECTOR30_05052005_0206 +#ifndef FUSION_VECTOR30_11052014_2316 +#define FUSION_VECTOR30_11052014_2316 +#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 - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector30.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector21 to vector30 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (21, 30) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +# include #endif diff --git a/3party/boost/boost/fusion/container/vector/vector40.hpp b/3party/boost/boost/fusion/container/vector/vector40.hpp index 2c6fd85431..5faa7d595b 100644 --- a/3party/boost/boost/fusion/container/vector/vector40.hpp +++ b/3party/boost/boost/fusion/container/vector/vector40.hpp @@ -1,80 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_VECTOR40_05052005_0208) -#define FUSION_VECTOR40_05052005_0208 +#ifndef FUSION_VECTOR40_11052014_2316 +#define FUSION_VECTOR40_11052014_2316 +#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 - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector40.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector31 to vector40 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (31, 40) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +# include #endif diff --git a/3party/boost/boost/fusion/container/vector/vector50.hpp b/3party/boost/boost/fusion/container/vector/vector50.hpp index d209966535..7b7e7a8a18 100644 --- a/3party/boost/boost/fusion/container/vector/vector50.hpp +++ b/3party/boost/boost/fusion/container/vector/vector50.hpp @@ -1,79 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_VECTOR50_05052005_0207) -#define FUSION_VECTOR50_05052005_0207 +#ifndef FUSION_VECTOR50_11052014_2316 +#define FUSION_VECTOR50_11052014_2316 +#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 - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vector50.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct vector_tag; - struct fusion_sequence_tag; - struct random_access_traversal_tag; - -#define FUSION_HASH # -// expand vector41 to vector50 -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (41, 50) -#include BOOST_PP_ITERATE() -#undef FUSION_HASH -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +# include #endif diff --git a/3party/boost/boost/fusion/container/vector/vector_fwd.hpp b/3party/boost/boost/fusion/container/vector/vector_fwd.hpp index d157ea81f8..b63099ce9d 100644 --- a/3party/boost/boost/fusion/container/vector/vector_fwd.hpp +++ b/3party/boost/boost/fusion/container/vector/vector_fwd.hpp @@ -1,66 +1,19 @@ /*============================================================================= - Copyright (c) 1999-2003 Jaakko Jarvi - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_VECTOR_FORWARD_07072005_0125) -#define FUSION_VECTOR_FORWARD_07072005_0125 +#ifndef FUSION_VECTOR_FORWARD_11052014_1626 +#define FUSION_VECTOR_FORWARD_11052014_1626 +#include #include -#include -#include -#include -#if (FUSION_MAX_VECTOR_SIZE > 10) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 20) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 30) -#include -#endif -#if (FUSION_MAX_VECTOR_SIZE > 40) -#include -#endif - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/vvector" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - > - struct vector; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +# include #endif + diff --git a/3party/boost/boost/fusion/container/vector/vector_iterator.hpp b/3party/boost/boost/fusion/container/vector/vector_iterator.hpp index ffa4d1380f..150530d14d 100644 --- a/3party/boost/boost/fusion/container/vector/vector_iterator.hpp +++ b/3party/boost/boost/fusion/container/vector/vector_iterator.hpp @@ -37,9 +37,10 @@ namespace boost { namespace fusion typedef vector_iterator_identity< typename add_const::type, N> identity; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector_iterator(Vector& in_vec) : vec(in_vec) {} + Vector& vec; private: @@ -48,5 +49,14 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::vector_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/functional/adapter/fused.hpp b/3party/boost/boost/fusion/functional/adapter/fused.hpp index c6b1b03c81..c27d0acc5c 100644 --- a/3party/boost/boost/fusion/functional/adapter/fused.hpp +++ b/3party/boost/boost/fusion/functional/adapter/fused.hpp @@ -37,13 +37,13 @@ namespace boost { namespace fusion public: - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit fused(func_const_fwd_t f = Function()) : fnc_transformed(f) { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type operator()(Seq const & s) const { @@ -51,7 +51,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type operator()(Seq const & s) { @@ -59,7 +59,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type operator()(Seq & s) const { @@ -67,7 +67,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type operator()(Seq & s) { diff --git a/3party/boost/boost/fusion/functional/adapter/fused_function_object.hpp b/3party/boost/boost/fusion/functional/adapter/fused_function_object.hpp index b3973a11d1..cdb9c24bd4 100644 --- a/3party/boost/boost/fusion/functional/adapter/fused_function_object.hpp +++ b/3party/boost/boost/fusion/functional/adapter/fused_function_object.hpp @@ -37,13 +37,13 @@ namespace boost { namespace fusion public: - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit fused_function_object(func_const_fwd_t f = Function()) : fnc_transformed(f) { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type operator()(Seq const & s) const { @@ -52,7 +52,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type operator()(Seq const & s) @@ -62,7 +62,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type operator()(Seq & s) const @@ -72,7 +72,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type operator()(Seq & s) { diff --git a/3party/boost/boost/fusion/functional/adapter/fused_procedure.hpp b/3party/boost/boost/fusion/functional/adapter/fused_procedure.hpp index 495320af7b..79be217672 100644 --- a/3party/boost/boost/fusion/functional/adapter/fused_procedure.hpp +++ b/3party/boost/boost/fusion/functional/adapter/fused_procedure.hpp @@ -37,13 +37,13 @@ namespace boost { namespace fusion public: - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit fused_procedure(func_const_fwd_t f = Function()) : fnc_transformed(f) { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void operator()(Seq const & s) const { fusion::invoke_procedure< @@ -51,7 +51,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void operator()(Seq const & s) { fusion::invoke_procedure< @@ -59,7 +59,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void operator()(Seq & s) const { fusion::invoke_procedure< @@ -67,7 +67,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline void operator()(Seq & s) { return fusion::invoke_procedure< diff --git a/3party/boost/boost/fusion/functional/adapter/limits.hpp b/3party/boost/boost/fusion/functional/adapter/limits.hpp index 783bc63275..cdcdf8210e 100644 --- a/3party/boost/boost/fusion/functional/adapter/limits.hpp +++ b/3party/boost/boost/fusion/functional/adapter/limits.hpp @@ -9,7 +9,7 @@ #if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED) # define BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED -# include +# include # if !defined(BOOST_FUSION_UNFUSED_MAX_ARITY) # define BOOST_FUSION_UNFUSED_MAX_ARITY 6 diff --git a/3party/boost/boost/fusion/functional/adapter/unfused.hpp b/3party/boost/boost/fusion/functional/adapter/unfused.hpp index b02f5d28a9..9d85869dcf 100644 --- a/3party/boost/boost/fusion/functional/adapter/unfused.hpp +++ b/3party/boost/boost/fusion/functional/adapter/unfused.hpp @@ -47,14 +47,16 @@ namespace boost { namespace fusion using unfused::operator(); - BOOST_FUSION_GPU_ENABLED inline explicit unfused(func_const_fwd_t f = function()) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline explicit unfused(func_const_fwd_t f = function()) : unfused(f) { } typedef typename boost::result_of< function_c(fusion::vector0<> &) >::type call_const_0_result; - BOOST_FUSION_GPU_ENABLED inline call_const_0_result operator()() const + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline call_const_0_result operator()() const { fusion::vector0<> arg; return this->fnc_transformed(arg); @@ -63,7 +65,8 @@ namespace boost { namespace fusion typedef typename boost::result_of< function(fusion::vector0<> &) >::type call_0_result; - BOOST_FUSION_GPU_ENABLED inline call_0_result operator()() + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline call_0_result operator()() { fusion::vector0<> arg; return this->fnc_transformed(arg); @@ -79,7 +82,7 @@ namespace boost { namespace fusion typedef typename detail::call_param::type func_const_fwd_t; public: - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit unfused(func_const_fwd_t f = function()) : fnc_transformed(f) { } @@ -149,7 +152,7 @@ namespace boost { }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::result_of & )>::type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) const @@ -161,7 +164,7 @@ namespace boost } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::result_of & )>::type operator()(BOOST_PP_ENUM_BINARY_PARAMS(N,T,& a)) diff --git a/3party/boost/boost/fusion/functional/adapter/unfused_typed.hpp b/3party/boost/boost/fusion/functional/adapter/unfused_typed.hpp index c3ab33dd74..23faf15313 100644 --- a/3party/boost/boost/fusion/functional/adapter/unfused_typed.hpp +++ b/3party/boost/boost/fusion/functional/adapter/unfused_typed.hpp @@ -63,7 +63,7 @@ namespace boost { namespace fusion public: - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline explicit unfused_typed(func_const_fwd_t f = Function()) : fnc_transformed(f) { } @@ -130,7 +130,7 @@ namespace boost #define M(z,i,s) \ typename call_param::type>::type a##i - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::result_of< function_c(arg_vector_t &) >::type operator()(BOOST_PP_ENUM(N,M,arg_vector_t)) const @@ -143,7 +143,7 @@ namespace boost return static_cast(this)->fnc_transformed(arg); } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::result_of< function(arg_vector_t &) >::type operator()(BOOST_PP_ENUM(N,M,arg_vector_t)) diff --git a/3party/boost/boost/fusion/functional/generation/detail/gen_make_adapter.hpp b/3party/boost/boost/fusion/functional/generation/detail/gen_make_adapter.hpp index b7744826bd..2548a08654 100644 --- a/3party/boost/boost/fusion/functional/generation/detail/gen_make_adapter.hpp +++ b/3party/boost/boost/fusion/functional/generation/detail/gen_make_adapter.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::BOOST_FUSION_FUNC_NAME::type BOOST_FUSION_FUNC_NAME(F const & f) { diff --git a/3party/boost/boost/fusion/functional/invocation/detail/that_ptr.hpp b/3party/boost/boost/fusion/functional/invocation/detail/that_ptr.hpp index a2b4a86a4d..33ee93bf38 100644 --- a/3party/boost/boost/fusion/functional/invocation/detail/that_ptr.hpp +++ b/3party/boost/boost/fusion/functional/invocation/detail/that_ptr.hpp @@ -12,7 +12,6 @@ #include #include #include -#include #include namespace boost { namespace fusion { namespace detail @@ -25,13 +24,13 @@ namespace boost { namespace fusion { namespace detail typedef typename remove_reference::type pointee; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * do_get_pointer(T &, pointee * x) { return x; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * do_get_pointer(T & x, void const *) { return get_pointer(x); @@ -39,20 +38,20 @@ namespace boost { namespace fusion { namespace detail public: - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * get(pointee * x) { return x; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * get(pointee & x) { return boost::addressof(x); } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline pointee * get(T & x) { return do_get_pointer(x, boost::addressof(x)); @@ -61,10 +60,16 @@ namespace boost { namespace fusion { namespace detail template struct non_const_pointee; - namespace adl_barrier +#if defined(BOOST_MSVC) || (defined(__BORLANDC__) && !defined(BOOST_DISABLE_WIN32)) +# define BOOST_FUSION_TRAIT_DECL __cdecl +#else +# define BOOST_FUSION_TRAIT_DECL /**/ +#endif + +namespace adl_barrier { using boost::get_pointer; - void const * BOOST_TT_DECL get_pointer(...); // fallback + void const * BOOST_FUSION_TRAIT_DECL get_pointer(...); // fallback template< typename T> char const_tester(T *); template< typename T> long const_tester(T const *); diff --git a/3party/boost/boost/fusion/functional/invocation/invoke.hpp b/3party/boost/boost/fusion/functional/invocation/invoke.hpp index d4aa945647..b79ff5b439 100644 --- a/3party/boost/boost/fusion/functional/invocation/invoke.hpp +++ b/3party/boost/boost/fusion/functional/invocation/invoke.hpp @@ -41,6 +41,7 @@ #include #include +#include #include #include #include @@ -52,21 +53,6 @@ namespace boost { namespace fusion { - namespace result_of - { - template struct invoke; - } - - //~ template - //~ inline typename result_of::invoke::type - //~ invoke(Function, Sequence &); - - //~ template - //~ inline typename result_of::invoke::type - //~ invoke(Function, Sequence const &); - - //----- ---- --- -- - - - - - namespace detail { namespace ft = function_types; @@ -75,7 +61,8 @@ namespace boost { namespace fusion typename Function, class Sequence, int N = result_of::size::value, bool CBI = ft::is_callable_builtin::value, - bool RandomAccess = traits::is_random_access::value + bool RandomAccess = traits::is_random_access::value, + typename Enable = void > struct invoke_impl; @@ -104,16 +91,16 @@ namespace boost { namespace fusion Sequence, N, RandomAccess > { }; - template - struct invoke_impl + template + struct invoke_impl : mpl::if_< ft::is_member_function_pointer, invoke_mem_fn, invoke_nonmember_builtin >::type { }; - template - struct invoke_impl + template + struct invoke_impl : mpl::eval_if< ft::is_member_pointer, mpl::if_< ft::is_member_function_pointer, invoke_mem_fn, @@ -145,7 +132,7 @@ namespace boost { namespace fusion typedef typename boost::add_reference::type result_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(T C::* f, Sequence & s) { typename result_of::front::type c = fusion::front(s); @@ -156,16 +143,25 @@ namespace boost { namespace fusion namespace result_of { - template struct invoke + template + struct invoke; + + template + struct invoke::type, Sequence + >::result_type + >::type> { typedef typename detail::invoke_impl< typename boost::remove_reference::type, Sequence - >::result_type type; + >::result_type type; }; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type invoke(Function f, Sequence & s) { @@ -175,7 +171,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke::type invoke(Function f, Sequence const & s) { @@ -195,20 +191,24 @@ namespace boost { namespace fusion /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() +#define M(z,j,data) typename result_of::at_c::type + template - struct invoke_impl + struct invoke_impl::type + >::type> { public: typedef typename boost::result_of< -#define M(z,j,data) typename result_of::at_c::type Function(BOOST_PP_ENUM(N,M,~)) >::type result_type; #undef M #if N > 0 template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { @@ -218,7 +218,7 @@ namespace boost { namespace fusion #else template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { @@ -239,7 +239,7 @@ namespace boost { namespace fusion #if N > 0 template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { @@ -249,7 +249,7 @@ namespace boost { namespace fusion #else template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { @@ -270,7 +270,7 @@ namespace boost { namespace fusion typedef typename ft::result_type::type result_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { @@ -288,7 +288,12 @@ namespace boost { namespace fusion fusion::next(BOOST_PP_CAT(i,BOOST_PP_DEC(j))); template - struct invoke_impl + struct invoke_impl::BOOST_PP_CAT(T, j) + typename boost::result_of::type + >::type> +#undef L { private: typedef invoke_param_types seq; @@ -301,7 +306,7 @@ namespace boost { namespace fusion #if N > 0 template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { @@ -313,7 +318,7 @@ namespace boost { namespace fusion #else template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { @@ -336,7 +341,7 @@ namespace boost { namespace fusion #if N > 0 template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { @@ -348,7 +353,7 @@ namespace boost { namespace fusion #else template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { @@ -370,7 +375,7 @@ namespace boost { namespace fusion typedef typename ft::result_type::type result_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { diff --git a/3party/boost/boost/fusion/functional/invocation/invoke_function_object.hpp b/3party/boost/boost/fusion/functional/invocation/invoke_function_object.hpp index a5c9510c25..3ed508dd3d 100644 --- a/3party/boost/boost/fusion/functional/invocation/invoke_function_object.hpp +++ b/3party/boost/boost/fusion/functional/invocation/invoke_function_object.hpp @@ -25,6 +25,7 @@ #include #include +#include #include #include #include @@ -34,29 +35,13 @@ namespace boost { namespace fusion { - namespace result_of - { - template struct invoke_function_object; - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_function_object::type - invoke_function_object(Function, Sequence &); - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::invoke_function_object::type invoke_function_object(Function, Sequence const &); - - //----- ---- --- -- - - - - - namespace detail { template< class Function, class Sequence, int N = result_of::size::value, - bool RandomAccess = traits::is_random_access::value + bool RandomAccess = traits::is_random_access::value, + typename Enable = void > struct invoke_function_object_impl; @@ -72,7 +57,16 @@ namespace boost { namespace fusion namespace result_of { - template struct invoke_function_object + template + struct invoke_function_object; + + template + struct invoke_function_object::type, Sequence + >::result_type + >::type> { typedef typename detail::invoke_function_object_impl< typename boost::remove_reference::type, Sequence @@ -81,7 +75,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type invoke_function_object(Function f, Sequence & s) { @@ -91,7 +85,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::invoke_function_object::type invoke_function_object(Function f, Sequence const & s) { @@ -111,21 +105,25 @@ namespace boost { namespace fusion /////////////////////////////////////////////////////////////////////////////// #define N BOOST_PP_ITERATION() +#define M(z,j,data) \ + typename result_of::at_c::type + template - struct invoke_function_object_impl + struct invoke_function_object_impl::type + >::type> { public: typedef typename boost::result_of< -#define M(z,j,data) \ - typename result_of::at_c::type Function (BOOST_PP_ENUM(N,M,~)) >::type result_type; #undef M #if N > 0 template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { @@ -137,7 +135,7 @@ namespace boost { namespace fusion #else template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { @@ -148,8 +146,15 @@ namespace boost { namespace fusion }; +#define M(z,j,data) \ + typename invoke_function_object_param_types::T ## j + template - struct invoke_function_object_impl + struct invoke_function_object_impl::type + >::type> +#undef M { private: typedef invoke_function_object_param_types seq; @@ -161,7 +166,7 @@ namespace boost { namespace fusion #if N > 0 template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & s) { @@ -177,7 +182,7 @@ namespace boost { namespace fusion #else template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline result_type call(F & f, Sequence & /*s*/) { diff --git a/3party/boost/boost/fusion/functional/invocation/invoke_procedure.hpp b/3party/boost/boost/fusion/functional/invocation/invoke_procedure.hpp index bd3e49b9d0..a0fe73a6f3 100644 --- a/3party/boost/boost/fusion/functional/invocation/invoke_procedure.hpp +++ b/3party/boost/boost/fusion/functional/invocation/invoke_procedure.hpp @@ -28,6 +28,7 @@ #include #include +#include #include #include #include @@ -38,24 +39,6 @@ namespace boost { namespace fusion { - namespace result_of - { - template struct invoke_procedure - { - typedef void type; - }; - } - - template - BOOST_FUSION_GPU_ENABLED - inline void invoke_procedure(Function, Sequence &); - - template - BOOST_FUSION_GPU_ENABLED - inline void invoke_procedure(Function, Sequence const &); - - //----- ---- --- -- - - - - - namespace detail { namespace ft = function_types; @@ -76,9 +59,27 @@ namespace boost { namespace fusion } + namespace result_of + { + template + struct invoke_procedure; + + template + struct invoke_procedure::type,Sequence + >::result_type + >::type> + { + typedef void type; + }; + } + template - BOOST_FUSION_GPU_ENABLED - inline void invoke_procedure(Function f, Sequence & s) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_procedure::type + invoke_procedure(Function f, Sequence & s) { detail::invoke_procedure_impl< typename boost::remove_reference::type,Sequence @@ -86,8 +87,9 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - inline void invoke_procedure(Function f, Sequence const & s) + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::invoke_procedure::type + invoke_procedure(Function f, Sequence const & s) { detail::invoke_procedure_impl< typename boost::remove_reference::type,Sequence const @@ -110,10 +112,11 @@ namespace boost { namespace fusion template struct invoke_procedure_impl { + typedef void result_type; #if N > 0 - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & s) { f(BOOST_PP_ENUM(N,M,~)); @@ -121,7 +124,7 @@ namespace boost { namespace fusion #else - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & /*s*/) { f(); @@ -135,7 +138,9 @@ namespace boost { namespace fusion template struct invoke_procedure_impl { - BOOST_FUSION_GPU_ENABLED + typedef void result_type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & s) { (that_ptr struct invoke_procedure_impl { + typedef void result_type; #if N > 0 - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & s) { typedef typename result_of::begin::type I0; @@ -168,7 +174,7 @@ namespace boost { namespace fusion } #else - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & /*s*/) { f(); @@ -182,7 +188,9 @@ namespace boost { namespace fusion template struct invoke_procedure_impl { - BOOST_FUSION_GPU_ENABLED + typedef void result_type; + + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline void call(Function & f, Sequence & s) { typedef typename result_of::begin::type I0; diff --git a/3party/boost/boost/fusion/include/hash.hpp b/3party/boost/boost/fusion/include/hash.hpp new file mode 100644 index 0000000000..8f483fc6d2 --- /dev/null +++ b/3party/boost/boost/fusion/include/hash.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2014 Christoph Weiss + + 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) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_HASH) +#define FUSION_INCLUDE_HASH + +#include + +#endif diff --git a/3party/boost/boost/fusion/include/adapt_assoc_class.hpp b/3party/boost/boost/fusion/include/std_tuple.hpp similarity index 64% rename from 3party/boost/boost/fusion/include/adapt_assoc_class.hpp rename to 3party/boost/boost/fusion/include/std_tuple.hpp index 83d6c4daa4..9c9d8a1a59 100644 --- a/3party/boost/boost/fusion/include/adapt_assoc_class.hpp +++ b/3party/boost/boost/fusion/include/std_tuple.hpp @@ -1,14 +1,12 @@ /*============================================================================= - Copyright (c) 2010 Christopher Schmidt - + Copyright (c) 2014 Kohei Takahashi 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_FUSION_INCLUDE_ADAPT_ASSOC_CLASS_HPP -#define BOOST_FUSION_INCLUDE_ADAPT_ASSOC_CLASS_HPP +#ifndef FUSION_INCLUDE_STD_TUPLE +#define FUSION_INCLUDE_STD_TUPLE #include -#include +#include #endif diff --git a/3party/boost/boost/fusion/iterator/advance.hpp b/3party/boost/boost/fusion/iterator/advance.hpp index 69b464274b..f81596a7a5 100644 --- a/3party/boost/boost/fusion/iterator/advance.hpp +++ b/3party/boost/boost/fusion/iterator/advance.hpp @@ -75,7 +75,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::advance_c::type const advance_c(Iterator const& i) { @@ -83,7 +83,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::advance::type const advance(Iterator const& i) { diff --git a/3party/boost/boost/fusion/iterator/basic_iterator.hpp b/3party/boost/boost/fusion/iterator/basic_iterator.hpp index bab6a4a6a8..eae46e6355 100644 --- a/3party/boost/boost/fusion/iterator/basic_iterator.hpp +++ b/3party/boost/boost/fusion/iterator/basic_iterator.hpp @@ -77,7 +77,7 @@ namespace boost { namespace fusion basic_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { @@ -100,7 +100,7 @@ namespace boost { namespace fusion { typedef mpl::minus type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It1 const&, It2 const&) @@ -121,18 +121,18 @@ namespace boost { namespace fusion {}; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator(basic_iterator const& it) : seq(it.seq) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator(Seq& in_seq, int) : seq(&in_seq) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator& operator=(basic_iterator const& it) { @@ -144,4 +144,13 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::basic_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/iterator/deref.hpp b/3party/boost/boost/fusion/iterator/deref.hpp index a608b0a0a1..c31962cb09 100644 --- a/3party/boost/boost/fusion/iterator/deref.hpp +++ b/3party/boost/boost/fusion/iterator/deref.hpp @@ -55,8 +55,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::deref::type + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::deref::type deref(Iterator const& i) { typedef result_of::deref deref_meta; @@ -64,8 +64,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::deref::type + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::deref::type operator*(iterator_base const& i) { return fusion::deref(i.cast()); diff --git a/3party/boost/boost/fusion/iterator/deref_data.hpp b/3party/boost/boost/fusion/iterator/deref_data.hpp index 0dff0309c7..65a43324f9 100644 --- a/3party/boost/boost/fusion/iterator/deref_data.hpp +++ b/3party/boost/boost/fusion/iterator/deref_data.hpp @@ -40,8 +40,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::deref_data::type + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::deref_data::type deref_data(It const& it) { return result_of::deref_data::call(it); diff --git a/3party/boost/boost/fusion/iterator/detail/adapt_deref_traits.hpp b/3party/boost/boost/fusion/iterator/detail/adapt_deref_traits.hpp index ef6005569b..bee0934f57 100644 --- a/3party/boost/boost/fusion/iterator/detail/adapt_deref_traits.hpp +++ b/3party/boost/boost/fusion/iterator/detail/adapt_deref_traits.hpp @@ -21,7 +21,7 @@ namespace boost { namespace fusion { namespace detail result_of::deref::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/iterator/detail/advance.hpp b/3party/boost/boost/fusion/iterator/detail/advance.hpp index ace4ed4989..7eb3bbbdbd 100644 --- a/3party/boost/boost/fusion/iterator/detail/advance.hpp +++ b/3party/boost/boost/fusion/iterator/detail/advance.hpp @@ -45,7 +45,7 @@ namespace boost { namespace fusion { namespace advance_detail >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type const& call(type const& i) { @@ -53,7 +53,7 @@ namespace boost { namespace fusion { namespace advance_detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I const& i) { @@ -86,7 +86,7 @@ namespace boost { namespace fusion { namespace advance_detail >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type const& call(type const& i) { @@ -94,7 +94,7 @@ namespace boost { namespace fusion { namespace advance_detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(I const& i) { diff --git a/3party/boost/boost/fusion/iterator/detail/distance.hpp b/3party/boost/boost/fusion/iterator/detail/distance.hpp index c037995210..698490263b 100644 --- a/3party/boost/boost/fusion/iterator/detail/distance.hpp +++ b/3party/boost/boost/fusion/iterator/detail/distance.hpp @@ -53,7 +53,7 @@ namespace boost { namespace fusion { namespace distance_detail >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const&, Last const&) { diff --git a/3party/boost/boost/fusion/iterator/detail/segment_sequence.hpp b/3party/boost/boost/fusion/iterator/detail/segment_sequence.hpp index 90db25ea7d..8b8d5c13f4 100644 --- a/3party/boost/boost/fusion/iterator/detail/segment_sequence.hpp +++ b/3party/boost/boost/fusion/iterator/detail/segment_sequence.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion { namespace detail typedef Sequence sequence_type; sequence_type sequence; - BOOST_FUSION_GPU_ENABLED explicit segment_sequence(Sequence const & seq) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segment_sequence(Sequence const & seq) : sequence(seq) {} }; @@ -61,7 +61,7 @@ namespace extension { typedef typename Sequence::sequence_type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence & seq) { return seq.sequence; diff --git a/3party/boost/boost/fusion/iterator/detail/segmented_iterator.hpp b/3party/boost/boost/fusion/iterator/detail/segmented_iterator.hpp index 1d4f62d3a7..9e114155e0 100644 --- a/3party/boost/boost/fusion/iterator/detail/segmented_iterator.hpp +++ b/3party/boost/boost/fusion/iterator/detail/segmented_iterator.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion struct segmented_iterator : iterator_facade, forward_traversal_tag> { - BOOST_FUSION_GPU_ENABLED explicit segmented_iterator(Context const& ctx) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit segmented_iterator(Context const& ctx) : context(ctx) {} @@ -52,7 +52,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return *it.context.car.first; @@ -72,7 +72,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return fusion::deref_data(it.context.car.first); @@ -132,7 +132,7 @@ namespace boost { namespace fusion typedef detail::segmented_next_impl impl; typedef segmented_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { return type(impl::call(it.context)); diff --git a/3party/boost/boost/fusion/iterator/detail/segmented_next_impl.hpp b/3party/boost/boost/fusion/iterator/detail/segmented_next_impl.hpp index a2b75d710a..62502ceef5 100644 --- a/3party/boost/boost/fusion/iterator/detail/segmented_next_impl.hpp +++ b/3party/boost/boost/fusion/iterator/detail/segmented_next_impl.hpp @@ -65,7 +65,7 @@ namespace boost { namespace fusion cons type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return type( @@ -98,7 +98,7 @@ namespace boost { namespace fusion typedef segmented_next_impl_recurse impl; typedef typename impl::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return impl::call(stack.cdr); @@ -112,7 +112,7 @@ namespace boost { namespace fusion typedef iterator_range range_type; typedef cons type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return type(range_type(stack.car.last, stack.car.last)); @@ -147,7 +147,7 @@ namespace boost { namespace fusion typedef segmented_next_impl_recurse3 impl; typedef typename impl::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return impl::call(stack); @@ -159,7 +159,7 @@ namespace boost { namespace fusion { typedef Result type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return segmented_begin_impl::call(*stack.car.first, stack); @@ -185,7 +185,7 @@ namespace boost { namespace fusion typename segmented_next_impl_recurse::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { return segmented_next_impl_recurse::call(stack.cdr); @@ -197,7 +197,7 @@ namespace boost { namespace fusion { typedef Next type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return pop_front_car::call(stack); @@ -210,7 +210,7 @@ namespace boost { namespace fusion typedef segmented_next_impl_recurse2 impl; typedef typename impl::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return impl::call(pop_front_car::call(stack)); @@ -236,7 +236,7 @@ namespace boost { namespace fusion typedef segmented_next_impl_recurse impl; typedef typename impl::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return impl::call(stack.cdr); @@ -248,7 +248,7 @@ namespace boost { namespace fusion { typedef Next type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const & stack) { return pop_front_car::call(stack); diff --git a/3party/boost/boost/fusion/iterator/distance.hpp b/3party/boost/boost/fusion/iterator/distance.hpp index afca6a363e..7f993c0d17 100644 --- a/3party/boost/boost/fusion/iterator/distance.hpp +++ b/3party/boost/boost/fusion/iterator/distance.hpp @@ -69,7 +69,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::distance::type distance(First const& a, Last const& b) { diff --git a/3party/boost/boost/fusion/iterator/equal_to.hpp b/3party/boost/boost/fusion/iterator/equal_to.hpp index 1927ce7e96..191795e130 100644 --- a/3party/boost/boost/fusion/iterator/equal_to.hpp +++ b/3party/boost/boost/fusion/iterator/equal_to.hpp @@ -74,7 +74,7 @@ namespace boost { namespace fusion namespace iterator_operators { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< mpl::and_, is_fusion_iterator > @@ -86,7 +86,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< mpl::and_, is_fusion_iterator > diff --git a/3party/boost/boost/fusion/iterator/iterator_adapter.hpp b/3party/boost/boost/fusion/iterator/iterator_adapter.hpp index af6978b20e..de8938f6ce 100644 --- a/3party/boost/boost/fusion/iterator/iterator_adapter.hpp +++ b/3party/boost/boost/fusion/iterator/iterator_adapter.hpp @@ -8,14 +8,21 @@ #define FUSION_ITERATOR_ADAPTER_08112011_0942 #include -#include +#include +#include +#include +#include +#include #include +#include +#include +#include #include namespace boost { namespace fusion { template + typename Category = typename traits::category_of::type> struct iterator_adapter : iterator_facade { @@ -24,7 +31,7 @@ namespace boost { namespace fusion iterator_base_type; iterator_base_type iterator_base; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED iterator_adapter(iterator_base_type const& iterator_base_) : iterator_base(iterator_base_) {} @@ -47,7 +54,7 @@ namespace boost { namespace fusion >::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { @@ -82,7 +89,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { @@ -100,7 +107,7 @@ namespace boost { namespace fusion >::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -118,7 +125,7 @@ namespace boost { namespace fusion >::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -128,4 +135,13 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::iterator_adapter > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/iterator/iterator_facade.hpp b/3party/boost/boost/fusion/iterator/iterator_facade.hpp index 415e841c00..1760957eef 100644 --- a/3party/boost/boost/fusion/iterator/iterator_facade.hpp +++ b/3party/boost/boost/fusion/iterator/iterator_facade.hpp @@ -14,6 +14,7 @@ #include #include #include +#include namespace boost { namespace fusion { @@ -55,4 +56,13 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::iterator_facade > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/iterator/mpl/convert_iterator.hpp b/3party/boost/boost/fusion/iterator/mpl/convert_iterator.hpp index 54c9ef690f..3e17478eb2 100644 --- a/3party/boost/boost/fusion/iterator/mpl/convert_iterator.hpp +++ b/3party/boost/boost/fusion/iterator/mpl/convert_iterator.hpp @@ -31,21 +31,21 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static T const& call(T const& x, mpl::true_) { return x; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static mpl_iterator call(T const& /*x*/, mpl::false_) { return mpl_iterator(); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename mpl::if_< is_fusion_iterator diff --git a/3party/boost/boost/fusion/iterator/next.hpp b/3party/boost/boost/fusion/iterator/next.hpp index bd76eac152..d6ca3d6630 100644 --- a/3party/boost/boost/fusion/iterator/next.hpp +++ b/3party/boost/boost/fusion/iterator/next.hpp @@ -54,8 +54,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::next::type const + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::next::type const next(Iterator const& i) { return result_of::next::call(i); diff --git a/3party/boost/boost/fusion/iterator/prior.hpp b/3party/boost/boost/fusion/iterator/prior.hpp index 78d8390b3c..80e891c791 100644 --- a/3party/boost/boost/fusion/iterator/prior.hpp +++ b/3party/boost/boost/fusion/iterator/prior.hpp @@ -54,8 +54,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::prior::type const + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::prior::type const prior(Iterator const& i) { return result_of::prior::call(i); diff --git a/3party/boost/boost/fusion/sequence/comparison/detail/equal_to.hpp b/3party/boost/boost/fusion/sequence/comparison/detail/equal_to.hpp index 577023db6a..cffed6c399 100644 --- a/3party/boost/boost/fusion/sequence/comparison/detail/equal_to.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/detail/equal_to.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail typedef typename result_of::end::type end2_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { @@ -41,7 +41,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { @@ -54,7 +54,7 @@ namespace boost { namespace fusion { namespace detail struct sequence_equal_to { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& /*a*/, I2 const& /*b*/) { diff --git a/3party/boost/boost/fusion/sequence/comparison/detail/greater.hpp b/3party/boost/boost/fusion/sequence/comparison/detail/greater.hpp index d875f16b2b..d762652935 100644 --- a/3party/boost/boost/fusion/sequence/comparison/detail/greater.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/detail/greater.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail typedef typename result_of::end::type end2_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { @@ -42,7 +42,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { diff --git a/3party/boost/boost/fusion/sequence/comparison/detail/greater_equal.hpp b/3party/boost/boost/fusion/sequence/comparison/detail/greater_equal.hpp index e0aa530e18..d15d88c404 100644 --- a/3party/boost/boost/fusion/sequence/comparison/detail/greater_equal.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/detail/greater_equal.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail typedef typename result_of::end::type end2_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { @@ -42,7 +42,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { diff --git a/3party/boost/boost/fusion/sequence/comparison/detail/less.hpp b/3party/boost/boost/fusion/sequence/comparison/detail/less.hpp index 8964ca7d13..04377d6960 100644 --- a/3party/boost/boost/fusion/sequence/comparison/detail/less.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/detail/less.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail typedef typename result_of::end::type end2_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { @@ -42,7 +42,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { diff --git a/3party/boost/boost/fusion/sequence/comparison/detail/less_equal.hpp b/3party/boost/boost/fusion/sequence/comparison/detail/less_equal.hpp index 10bcb76791..e61d33c4fa 100644 --- a/3party/boost/boost/fusion/sequence/comparison/detail/less_equal.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/detail/less_equal.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail typedef typename result_of::end::type end2_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { @@ -42,7 +42,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { diff --git a/3party/boost/boost/fusion/sequence/comparison/detail/not_equal_to.hpp b/3party/boost/boost/fusion/sequence/comparison/detail/not_equal_to.hpp index b230ac1fba..323b2ac9d0 100644 --- a/3party/boost/boost/fusion/sequence/comparison/detail/not_equal_to.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/detail/not_equal_to.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail typedef typename result_of::end::type end2_type; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const&, I2 const&, mpl::true_) { @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b, mpl::false_) { @@ -41,7 +41,7 @@ namespace boost { namespace fusion { namespace detail } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { @@ -54,7 +54,7 @@ namespace boost { namespace fusion { namespace detail struct sequence_not_equal_to { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static bool call(I1 const& a, I2 const& b) { diff --git a/3party/boost/boost/fusion/sequence/comparison/equal_to.hpp b/3party/boost/boost/fusion/sequence/comparison/equal_to.hpp index 485df0bac2..283ffefc8b 100644 --- a/3party/boost/boost/fusion/sequence/comparison/equal_to.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/equal_to.hpp @@ -24,7 +24,7 @@ namespace boost { namespace fusion { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool equal_to(Seq1 const& a, Seq2 const& b) { @@ -38,7 +38,7 @@ namespace boost { namespace fusion namespace operators { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_equality diff --git a/3party/boost/boost/fusion/sequence/comparison/greater.hpp b/3party/boost/boost/fusion/sequence/comparison/greater.hpp index 5ad7ef74b9..fbbb7bfae2 100644 --- a/3party/boost/boost/fusion/sequence/comparison/greater.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/greater.hpp @@ -23,7 +23,7 @@ namespace boost { namespace fusion { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool greater(Seq1 const& a, Seq2 const& b) { @@ -38,7 +38,7 @@ namespace boost { namespace fusion namespace operators { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_comparison diff --git a/3party/boost/boost/fusion/sequence/comparison/greater_equal.hpp b/3party/boost/boost/fusion/sequence/comparison/greater_equal.hpp index 65904f8339..7b91a8886b 100644 --- a/3party/boost/boost/fusion/sequence/comparison/greater_equal.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/greater_equal.hpp @@ -23,7 +23,7 @@ namespace boost { namespace fusion { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool greater_equal(Seq1 const& a, Seq2 const& b) { @@ -38,7 +38,7 @@ namespace boost { namespace fusion namespace operators { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_comparison diff --git a/3party/boost/boost/fusion/sequence/comparison/less.hpp b/3party/boost/boost/fusion/sequence/comparison/less.hpp index 28762b7394..b056552a9e 100644 --- a/3party/boost/boost/fusion/sequence/comparison/less.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/less.hpp @@ -18,7 +18,7 @@ namespace boost { namespace fusion { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool less(Seq1 const& a, Seq2 const& b) { @@ -29,7 +29,7 @@ namespace boost { namespace fusion namespace operators { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_comparison diff --git a/3party/boost/boost/fusion/sequence/comparison/less_equal.hpp b/3party/boost/boost/fusion/sequence/comparison/less_equal.hpp index d0668208f0..c5dfa8d5c7 100644 --- a/3party/boost/boost/fusion/sequence/comparison/less_equal.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/less_equal.hpp @@ -13,7 +13,6 @@ #include #include #include -#include #if defined(FUSION_DIRECT_OPERATOR_USAGE) #include @@ -24,7 +23,7 @@ namespace boost { namespace fusion { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool less_equal(Seq1 const& a, Seq2 const& b) { @@ -38,38 +37,8 @@ namespace boost { namespace fusion namespace operators { -#if defined(BOOST_MSVC) && (BOOST_MSVC <= 1400) -// Workaround for VC8.0 and VC7.1 template - BOOST_FUSION_GPU_ENABLED - inline bool - operator<=(sequence_base const& a, sequence_base const& b) - { - return less_equal(a.derived(), b.derived()); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename disable_if, bool>::type - operator<=(sequence_base const& a, Seq2 const& b) - { - return less_equal(a.derived(), b); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename disable_if, bool>::type - operator<=(Seq1 const& a, sequence_base const& b) - { - return less_equal(a, b.derived()); - } - -#else -// Somehow VC8.0 and VC7.1 does not like this code -// but barfs somewhere else. - - template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_comparison @@ -79,7 +48,6 @@ namespace boost { namespace fusion { return fusion::less_equal(a, b); } -#endif } using operators::operator<=; }} diff --git a/3party/boost/boost/fusion/sequence/comparison/not_equal_to.hpp b/3party/boost/boost/fusion/sequence/comparison/not_equal_to.hpp index 4cd94f9e53..fc2fef3343 100644 --- a/3party/boost/boost/fusion/sequence/comparison/not_equal_to.hpp +++ b/3party/boost/boost/fusion/sequence/comparison/not_equal_to.hpp @@ -23,7 +23,7 @@ namespace boost { namespace fusion { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool not_equal_to(Seq1 const& a, Seq2 const& b) { @@ -41,7 +41,7 @@ namespace boost { namespace fusion namespace operators { template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename boost::enable_if< traits::enable_equality diff --git a/3party/boost/boost/fusion/sequence/convert.hpp b/3party/boost/boost/fusion/sequence/convert.hpp index 461b92120d..b367714ca2 100644 --- a/3party/boost/boost/fusion/sequence/convert.hpp +++ b/3party/boost/boost/fusion/sequence/convert.hpp @@ -7,6 +7,8 @@ #if !defined(FUSION_CONVERT_10022005_1442) #define FUSION_CONVERT_10022005_1442 +#include + namespace boost { namespace fusion { namespace extension @@ -29,7 +31,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::convert::type convert(Sequence& seq) { @@ -38,7 +40,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::convert::type convert(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/sequence/hash.hpp b/3party/boost/boost/fusion/sequence/hash.hpp new file mode 100644 index 0000000000..bc5b1499dc --- /dev/null +++ b/3party/boost/boost/fusion/sequence/hash.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2014 Christoph Weiss + + 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) +==============================================================================*/ +#if !defined(FUSION_HASH_23072014_1017) +#define FUSION_HASH_23072014_1017 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace hashing + { + struct hash_combine_fold + { + typedef std::size_t result_type; + template + inline std::size_t operator()(std::size_t seed, T const& v) + { + boost::hash_combine(seed, v); + return seed; + } + }; + + template + inline typename + boost::enable_if, std::size_t>::type + hash_value(Seq const& seq) + { + return fold(seq, 0, hash_combine_fold()); + } + } + + using hashing::hash_value; +}} + +#endif diff --git a/3party/boost/boost/fusion/sequence/intrinsic.hpp b/3party/boost/boost/fusion/sequence/intrinsic.hpp index 4583807406..d3e5af0b03 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic.hpp @@ -20,5 +20,6 @@ #include #include #include +#include #endif diff --git a/3party/boost/boost/fusion/sequence/intrinsic/at.hpp b/3party/boost/boost/fusion/sequence/intrinsic/at.hpp index aa0d97445d..a103e078a2 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/at.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/at.hpp @@ -9,10 +9,14 @@ #include #include +#include +#include +#include +#include #include #include #include -#include +#include namespace boost { namespace fusion { @@ -56,12 +60,26 @@ namespace boost { namespace fusion struct at_impl; } + namespace detail + { + template + struct at_impl + : mpl::if_< + mpl::or_< + mpl::less::template apply::type> + , traits::is_unbounded + > + , typename extension::at_impl::template apply + , mpl::empty_base + >::type + {}; + } + namespace result_of { template struct at - : extension::at_impl::type>:: - template apply + : detail::at_impl::type> {}; template @@ -72,7 +90,7 @@ namespace boost { namespace fusion template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const @@ -84,7 +102,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::at::type at(Sequence const& seq) { @@ -92,7 +110,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const @@ -104,7 +122,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::at_c::type at_c(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/sequence/intrinsic/at_key.hpp b/3party/boost/boost/fusion/sequence/intrinsic/at_key.hpp index 844de840e4..9454cb56f7 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/at_key.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/at_key.hpp @@ -11,10 +11,15 @@ #include #include #include +#include #include #include #include +#include #include +#include +#include +#include namespace boost { namespace fusion { @@ -38,7 +43,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { @@ -64,17 +69,31 @@ namespace boost { namespace fusion struct at_key_impl; } + namespace detail + { + template + struct at_key_impl + : mpl::if_< + mpl::or_< + typename extension::has_key_impl::template apply + , traits::is_unbounded + > + , typename extension::at_key_impl::template apply + , mpl::empty_base + >::type + {}; + } + namespace result_of { template struct at_key - : extension::at_key_impl::type>:: - template apply + : detail::at_key_impl::type> {}; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const @@ -86,7 +105,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::at_key::type at_key(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/sequence/intrinsic/back.hpp b/3party/boost/boost/fusion/sequence/intrinsic/back.hpp index f934355381..3f998a7d9a 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/back.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/back.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::back::type back(Sequence& seq) { @@ -35,7 +35,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::back::type back(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/sequence/intrinsic/begin.hpp b/3party/boost/boost/fusion/sequence/intrinsic/begin.hpp index af4e31225d..79c14d74ab 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/begin.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/begin.hpp @@ -8,8 +8,8 @@ #define FUSION_BEGIN_04052005_1132 #include -#include #include +#include #include #include #include @@ -36,7 +36,7 @@ namespace boost { namespace fusion : mpl::if_< traits::is_segmented , detail::segmented_begin - , blank + , mpl::empty_base >::type {}; }; @@ -71,7 +71,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence @@ -83,7 +83,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence diff --git a/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp b/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp index 81d09660b1..ec20ac414d 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion { namespace detail > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { return type( diff --git a/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp b/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp index 2ab462702d..12d9e24c47 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_begin_impl.hpp @@ -38,7 +38,7 @@ namespace boost { namespace fusion { namespace detail typedef cons type; typedef mpl::false_ continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const&, Context const& context, segmented_begin_fun) { return type(range_type(fusion::begin(seq), fusion::end(seq)), context); @@ -64,7 +64,7 @@ namespace boost { namespace fusion { namespace detail typedef typename fold_impl::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, Stack const& stack) { return fold_impl::call(seq, end_impl::call(seq, stack), stack, segmented_begin_fun()); @@ -79,7 +79,7 @@ namespace boost { namespace fusion { namespace detail typedef iterator_range pair_type; typedef cons type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, Stack stack) { return type(pair_type(fusion::begin(seq), fusion::end(seq)), stack); diff --git a/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp b/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp index c26865a671..55419ed80d 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion { namespace detail > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence & seq) { return type( diff --git a/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp b/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp index 9be150433a..da48649a24 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/detail/segmented_end_impl.hpp @@ -48,11 +48,18 @@ namespace boost { namespace fusion { namespace detail typedef iterator_range pair_type; typedef cons type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static pair_type make_pair(end_type end) + { + return pair_type(end, end); + } + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence & seq, Stack stack) { - end_type end = fusion::end(fusion::segments(seq)); - return type(pair_type(end, end), stack); + return type( + make_pair(fusion::end(fusion::segments(seq))), + stack); } }; diff --git a/3party/boost/boost/fusion/sequence/intrinsic/empty.hpp b/3party/boost/boost/fusion/sequence/intrinsic/empty.hpp index 3c8666abd4..6a0dbe74a5 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/empty.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/empty.hpp @@ -51,7 +51,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::empty::type empty(Sequence const&) { diff --git a/3party/boost/boost/fusion/sequence/intrinsic/end.hpp b/3party/boost/boost/fusion/sequence/intrinsic/end.hpp index 3e69518efa..b342468f0e 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/end.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/end.hpp @@ -8,8 +8,8 @@ #define FUSION_END_04052005_1141 #include -#include #include +#include #include #include #include @@ -36,7 +36,7 @@ namespace boost { namespace fusion : mpl::if_< traits::is_segmented , detail::segmented_end - , blank + , mpl::empty_base >::type {}; }; @@ -71,7 +71,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence @@ -83,7 +83,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_enable_if< traits::is_sequence diff --git a/3party/boost/boost/fusion/sequence/intrinsic/front.hpp b/3party/boost/boost/fusion/sequence/intrinsic/front.hpp index 6d939da3d3..8971298ac8 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/front.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/front.hpp @@ -26,7 +26,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::front::type front(Sequence& seq) { @@ -34,7 +34,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::front::type front(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/sequence/intrinsic/has_key.hpp b/3party/boost/boost/fusion/sequence/intrinsic/has_key.hpp index bba2c695b3..d69a82fbff 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/has_key.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/has_key.hpp @@ -68,7 +68,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::has_key::type has_key(Sequence const&) { diff --git a/3party/boost/boost/fusion/sequence/intrinsic/segments.hpp b/3party/boost/boost/fusion/sequence/intrinsic/segments.hpp index a1bbacaf06..41501a9643 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/segments.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/segments.hpp @@ -54,7 +54,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename lazy_disable_if< is_const @@ -67,7 +67,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::segments::type segments(Sequence const& seq) { diff --git a/3party/boost/boost/fusion/sequence/intrinsic/size.hpp b/3party/boost/boost/fusion/sequence/intrinsic/size.hpp index 51e613f693..97aa3ef9ec 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/size.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/size.hpp @@ -49,10 +49,10 @@ namespace boost { namespace fusion template struct apply : Sequence::template size {}; }; - + template <> struct size_impl; - + template <> struct size_impl; @@ -67,18 +67,14 @@ namespace boost { namespace fusion { template struct size - : extension::size_impl::type>:: - template apply - - { - typedef typename extension::size_impl::type>:: - template apply::type size_application; - BOOST_STATIC_CONSTANT(int, value = size_application::value); - }; + : mpl::int_< + extension::size_impl::type> + ::template apply::type::value + > {}; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::size::type size(Sequence const&) { diff --git a/3party/boost/boost/fusion/sequence/intrinsic/swap.hpp b/3party/boost/boost/fusion/sequence/intrinsic/swap.hpp index 05ce9b44b1..8c49dc4896 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/swap.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/swap.hpp @@ -14,19 +14,21 @@ #include #include #include -#include #include #include +#include #include namespace boost { namespace fusion { + namespace result_of { template struct swap - { - typedef void type; - }; + : enable_if, + traits::is_sequence + > > {}; } namespace detail @@ -40,7 +42,7 @@ namespace boost { namespace fusion { }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED void operator()(Elem const& e) const { using std::swap; @@ -50,8 +52,8 @@ namespace boost { namespace fusion { } template - BOOST_FUSION_GPU_ENABLED - typename enable_if, traits::is_sequence >, void>::type + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::swap::type swap(Seq1& lhs, Seq2& rhs) { typedef vector references; diff --git a/3party/boost/boost/fusion/sequence/intrinsic/value_at.hpp b/3party/boost/boost/fusion/sequence/intrinsic/value_at.hpp index 362669b521..152f0c9455 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/value_at.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/value_at.hpp @@ -9,8 +9,13 @@ #include #include +#include +#include +#include +#include #include #include +#include namespace boost { namespace fusion { @@ -50,12 +55,26 @@ namespace boost { namespace fusion struct value_at_impl; } + namespace detail + { + template + struct value_at_impl + : mpl::if_< + mpl::or_< + mpl::less::template apply::type> + , traits::is_unbounded + > + , typename extension::value_at_impl::template apply + , mpl::empty_base + >::type + {}; + } + namespace result_of { template struct value_at - : extension::value_at_impl::type>:: - template apply + : detail::value_at_impl::type> {}; template diff --git a/3party/boost/boost/fusion/sequence/intrinsic/value_at_key.hpp b/3party/boost/boost/fusion/sequence/intrinsic/value_at_key.hpp index 6d8be3fbcd..76baf1b8ac 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic/value_at_key.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic/value_at_key.hpp @@ -10,10 +10,15 @@ #include #include +#include +#include +#include #include +#include #include #include #include +#include namespace boost { namespace fusion { @@ -52,13 +57,27 @@ namespace boost { namespace fusion template <> struct value_at_key_impl; } - + + namespace detail + { + template + struct value_at_key_impl + : mpl::if_< + mpl::or_< + typename extension::has_key_impl::template apply + , traits::is_unbounded + > + , typename extension::value_at_key_impl::template apply + , mpl::empty_base + >::type + {}; + } + namespace result_of { template struct value_at_key - : extension::value_at_key_impl::type>:: - template apply + : detail::value_at_key_impl::type> {}; } }} diff --git a/3party/boost/boost/fusion/sequence/intrinsic_fwd.hpp b/3party/boost/boost/fusion/sequence/intrinsic_fwd.hpp index 3b248a04bb..a6354ea3bb 100644 --- a/3party/boost/boost/fusion/sequence/intrinsic_fwd.hpp +++ b/3party/boost/boost/fusion/sequence/intrinsic_fwd.hpp @@ -93,7 +93,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_disable_if< is_const @@ -102,12 +102,12 @@ namespace boost { namespace fusion at(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::at::type at(Sequence const& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_disable_if< is_const @@ -116,22 +116,22 @@ namespace boost { namespace fusion at_c(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::at_c::type at_c(Sequence const& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::back::type back(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::back::type back(Sequence const& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_enable_if< traits::is_sequence @@ -140,7 +140,7 @@ namespace boost { namespace fusion begin(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_enable_if< traits::is_sequence @@ -149,12 +149,12 @@ namespace boost { namespace fusion begin(Sequence const& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::empty::type empty(Sequence const&); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_enable_if< traits::is_sequence @@ -163,7 +163,7 @@ namespace boost { namespace fusion end(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_enable_if< traits::is_sequence @@ -172,22 +172,22 @@ namespace boost { namespace fusion end(Sequence const& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::front::type front(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::front::type front(Sequence const& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::has_key::type has_key(Sequence const& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_disable_if< is_const @@ -196,17 +196,17 @@ namespace boost { namespace fusion segments(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::segments::type segments(Sequence const& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::size::type size(Sequence const&); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename lazy_disable_if< is_const @@ -215,7 +215,7 @@ namespace boost { namespace fusion at_key(Sequence& seq); template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result_of::at_key::type at_key(Sequence const& seq); }} diff --git a/3party/boost/boost/fusion/sequence/io/detail/manip.hpp b/3party/boost/boost/fusion/sequence/io/detail/manip.hpp index 8d8c296d3b..ec8ce304f6 100644 --- a/3party/boost/boost/fusion/sequence/io/detail/manip.hpp +++ b/3party/boost/boost/fusion/sequence/io/detail/manip.hpp @@ -235,14 +235,16 @@ namespace boost { namespace fusion template \ Stream& operator>>(Stream& s, const name##_type& m) \ { \ - string_ios_manip(s).set(m.data); \ + string_ios_manip manip(s); \ + manip.set(m.data); \ return s; \ } \ \ template \ Stream& operator<<(Stream& s, const name##_type& m) \ { \ - string_ios_manip(s).set(m.data); \ + string_ios_manip manip(s); \ + manip.set(m.data); \ return s; \ } \ } \ diff --git a/3party/boost/boost/fusion/support/as_const.hpp b/3party/boost/boost/fusion/support/as_const.hpp index ed535970c3..04d5bfcc14 100644 --- a/3party/boost/boost/fusion/support/as_const.hpp +++ b/3party/boost/boost/fusion/support/as_const.hpp @@ -7,6 +7,9 @@ #ifndef BOOST_FUSION_SUPPORT_AS_CONST_HPP #define BOOST_FUSION_SUPPORT_AS_CONST_HPP +#include +#include + namespace boost { namespace fusion { namespace extension { // A customization point that allows certain wrappers around @@ -16,8 +19,8 @@ namespace boost { namespace fusion { namespace extension // such contexts with calls to this function. Users can // specialize this function for their own wrappers. template - BOOST_FUSION_GPU_ENABLED - const T& as_const(const T& obj) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline const T& as_const(const T& obj) BOOST_NOEXCEPT { return obj; } diff --git a/3party/boost/boost/fusion/support/category_of.hpp b/3party/boost/boost/fusion/support/category_of.hpp index 6bdf6d0291..92b0ea1b60 100644 --- a/3party/boost/boost/fusion/support/category_of.hpp +++ b/3party/boost/boost/fusion/support/category_of.hpp @@ -36,6 +36,8 @@ namespace boost { namespace fusion struct associative_tag {}; + struct unbounded_tag {}; + namespace extension { template @@ -107,6 +109,13 @@ namespace boost { namespace fusion random_access_traversal_tag , typename category_of::type> {}; + + template + struct is_unbounded + : is_base_of< + unbounded_tag + , typename category_of::type> + {}; } }} diff --git a/3party/boost/boost/fusion/support/config.hpp b/3party/boost/boost/fusion/support/config.hpp index 16e38f9587..23554531b5 100644 --- a/3party/boost/boost/fusion/support/config.hpp +++ b/3party/boost/boost/fusion/support/config.hpp @@ -1,16 +1,99 @@ /*============================================================================= Copyright (c) 2014 Eric Niebler + Copyright (c) 2014 Kohei Takahashi - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ #if !defined(FUSION_SUPPORT_CONFIG_01092014_1718) #define FUSION_SUPPORT_CONFIG_01092014_1718 #include +#include +#include #ifndef BOOST_FUSION_GPU_ENABLED #define BOOST_FUSION_GPU_ENABLED BOOST_GPU_ENABLED #endif +// Enclose with inline namespace because unqualified lookup of GCC < 4.5 is broken. +// +// namespace detail { +// struct foo; +// struct X { }; +// } +// +// template void foo(T) { } +// +// int main() +// { +// foo(detail::X()); +// // prog.cc: In function 'int main()': +// // prog.cc:2: error: 'struct detail::foo' is not a function, +// // prog.cc:6: error: conflict with 'template void foo(T)' +// // prog.cc:10: error: in call to 'foo' +// } +namespace boost { namespace fusion { namespace detail +{ + namespace barrier { } + using namespace barrier; +}}} +#define BOOST_FUSION_BARRIER_BEGIN namespace barrier { +#define BOOST_FUSION_BARRIER_END } + + +#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1900)) +// All of rvalue-reference ready MSVC don't perform implicit conversion from +// fundamental type to rvalue-reference of another fundamental type [1]. +// +// Following example doesn't compile +// +// int i; +// long &&l = i; // sigh..., std::forward(i) also fail. +// +// however, following one will work. +// +// int i; +// long &&l = static_cast(i); +// +// OK, now can we replace all usage of std::forward to static_cast? -- I say NO! +// All of rvalue-reference ready Clang doesn't compile above static_cast usage [2], sigh... +// +// References: +// 1. https://connect.microsoft.com/VisualStudio/feedback/details/1037806/implicit-conversion-doesnt-perform-for-fund +// 2. http://llvm.org/bugs/show_bug.cgi?id=19917 +// +// Tentatively, we use static_cast to forward if run under MSVC. +# define BOOST_FUSION_FWD_ELEM(type, value) static_cast(value) +#else +# define BOOST_FUSION_FWD_ELEM(type, value) std::forward(value) +#endif + + +// Workaround for LWG 2408: C++17 SFINAE-friendly std::iterator_traits. +// http://cplusplus.github.io/LWG/lwg-defects.html#2408 +// +// - GCC 4.5 enables the feature under C++11. +// https://gcc.gnu.org/ml/gcc-patches/2014-11/msg01105.html +// +// - MSVC 10.0 implements iterator intrinsics; MSVC 13.0 implements LWG2408. +#if (defined(BOOST_LIBSTDCXX_VERSION) && (BOOST_LIBSTDCXX_VERSION < 40500) && \ + defined(BOOST_LIBSTDCXX11)) || \ + (defined(BOOST_MSVC) && (1600 <= BOOST_MSVC && BOOST_MSVC < 1900)) +# define BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits; +} +#endif + + +// Workaround for older GCC that doesn't accept `this` in constexpr. +#if BOOST_WORKAROUND(BOOST_GCC, < 40700) +#define BOOST_FUSION_CONSTEXPR_THIS +#else +#define BOOST_FUSION_CONSTEXPR_THIS BOOST_CONSTEXPR +#endif + #endif diff --git a/3party/boost/boost/fusion/support/deduce.hpp b/3party/boost/boost/fusion/support/deduce.hpp index 8d53115ffc..b75381c5b3 100644 --- a/3party/boost/boost/fusion/support/deduce.hpp +++ b/3party/boost/boost/fusion/support/deduce.hpp @@ -12,6 +12,10 @@ #include #include +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL +#include +#endif + namespace boost { namespace fusion { namespace traits { template struct deduce; @@ -86,6 +90,21 @@ namespace boost { namespace fusion { namespace traits typedef T& type; }; + // Also unwrap C++11 std::ref if available (referencee cv is deduced) +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL + template + struct deduce &> + { + typedef T& type; + }; + + template + struct deduce const &> + { + typedef T& type; + }; +#endif + // Keep references on arrays, even if const template diff --git a/3party/boost/boost/fusion/support/detail/as_fusion_element.hpp b/3party/boost/boost/fusion/support/detail/as_fusion_element.hpp index 628dca4d16..2af960eedf 100644 --- a/3party/boost/boost/fusion/support/detail/as_fusion_element.hpp +++ b/3party/boost/boost/fusion/support/detail/as_fusion_element.hpp @@ -11,6 +11,10 @@ #include #include +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL +#include +#endif + namespace boost { namespace fusion { namespace detail { template @@ -25,6 +29,14 @@ namespace boost { namespace fusion { namespace detail typedef T& type; }; +#ifndef BOOST_NO_CXX11_HDR_FUNCTIONAL + template + struct as_fusion_element > + { + typedef T& type; + }; +#endif + template struct as_fusion_element { diff --git a/3party/boost/boost/fusion/support/detail/enabler.hpp b/3party/boost/boost/fusion/support/detail/enabler.hpp new file mode 100644 index 0000000000..850c6f8d8c --- /dev/null +++ b/3party/boost/boost/fusion/support/detail/enabler.hpp @@ -0,0 +1,17 @@ +/*============================================================================= + Copyright (c) 2015 Kohei Takahashi + + Use modification and distribution are 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). +==============================================================================*/ +#ifndef FUSION_DETAIL_ENABLER_02082015_163810 +#define FUSION_DETAIL_ENABLER_02082015_163810 + +namespace boost { namespace fusion { namespace detail +{ + template + struct enabler { typedef T type; }; +}}} + +#endif diff --git a/3party/boost/boost/fusion/support/detail/index_sequence.hpp b/3party/boost/boost/fusion/support/detail/index_sequence.hpp new file mode 100644 index 0000000000..0f85ab338a --- /dev/null +++ b/3party/boost/boost/fusion/support/detail/index_sequence.hpp @@ -0,0 +1,58 @@ +/*============================================================================= + Copyright (c) 2015 Agustin K-ballo Berge + Copyright (c) 2015 Kohei Takahashi + + 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_FUSION_SUPPORT_DETAIL_INDEX_SEQUENCE_06232015_1038 +#define BOOST_FUSION_SUPPORT_DETAIL_INDEX_SEQUENCE_06232015_1038 + +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct index_sequence + { + typedef std::size_t value_type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static std::size_t size() BOOST_NOEXCEPT + { return sizeof...(Ints); } + + // non standard extension + typedef index_sequence type; + }; + + template + struct _make_index_sequence_join; + + template + struct _make_index_sequence_join< + index_sequence, index_sequence + > : index_sequence + {}; + + template + struct make_index_sequence + : _make_index_sequence_join< + typename make_index_sequence::type + , typename make_index_sequence::type + > + {}; + + template <> + struct make_index_sequence<1> + : index_sequence<0> + {}; + + template <> + struct make_index_sequence<0> + : index_sequence<> + {}; +}}} + +#endif diff --git a/3party/boost/boost/fusion/support/detail/result_of.hpp b/3party/boost/boost/fusion/support/detail/result_of.hpp new file mode 100644 index 0000000000..e53ea9e354 --- /dev/null +++ b/3party/boost/boost/fusion/support/detail/result_of.hpp @@ -0,0 +1,53 @@ +/*============================================================================= + Copyright (c) 2001-2014 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_RESULT_OF_10272014_0654) +#define FUSION_RESULT_OF_10272014_0654 + +#include +#include + +#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) +#define BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF +#endif + +#if !defined(BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF) +#include +#include +#include +#endif + +namespace boost { namespace fusion { namespace detail +{ + // This is a temporary workaround for result_of before we make fusion fully + // sfinae result_of friendy, which will require some heavy lifting for some + // low level code. So far this is used only in the fold algorithm. This will + // be removed once we overhaul fold. + +#if defined(BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF) + + template + struct result_of_with_decltype : boost::tr1_result_of {}; + +#else // defined(BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF) + + BOOST_MPL_HAS_XXX_TRAIT_DEF(result_type) + BOOST_MPL_HAS_XXX_TEMPLATE_DEF(result) + + template + struct result_of_with_decltype; + + template + struct result_of_with_decltype + : mpl::if_, detail::has_result >, + boost::tr1_result_of, + boost::detail::cpp0x_result_of >::type {}; + +#endif // defined(BOOST_FUSION_NO_DECLTYPE_BASED_RESULT_OF) + +}}} + +#endif diff --git a/3party/boost/boost/fusion/support/detail/segmented_fold_until_impl.hpp b/3party/boost/boost/fusion/support/detail/segmented_fold_until_impl.hpp index 514e8d950b..6a388bf834 100644 --- a/3party/boost/boost/fusion/support/detail/segmented_fold_until_impl.hpp +++ b/3party/boost/boost/fusion/support/detail/segmented_fold_until_impl.hpp @@ -66,8 +66,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename result_of::make_segmented_iterator::type + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::make_segmented_iterator::type make_segmented_iterator(Cur const& cur, Context const& context) { typedef result_of::make_segmented_iterator impl_type; @@ -121,7 +121,7 @@ namespace boost { namespace fusion typedef iterator_range range_type; typedef cons type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Cur const& cur, End const& end, Context const& context) { return cons(range_type(cur, end), context); @@ -170,7 +170,7 @@ namespace boost { namespace fusion typedef typename impl::type type; typedef typename impl::continue_type continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun) { return impl::call(fusion::segments(seq), state, context, fun); @@ -192,7 +192,7 @@ namespace boost { namespace fusion typedef typename apply_type::type type; typedef typename apply_type::continue_type continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq, State const& state, Context const& context, Fun const& fun) { return apply_type::call(seq, state, context, fun); @@ -274,14 +274,14 @@ namespace boost { namespace fusion >::type continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun) { return call(beg, end, state, context, fun, typename fold_recurse_impl::continue_type()); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun, mpl::true_) // continue { @@ -297,7 +297,7 @@ namespace boost { namespace fusion , fun); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun, mpl::false_) // break { @@ -325,7 +325,7 @@ namespace boost { namespace fusion typedef typename impl::type type; typedef typename impl::continue_type continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun) { @@ -351,7 +351,7 @@ namespace boost { namespace fusion typedef typename impl::type type; typedef typename impl::continue_type continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& beg, End const& end, State const& state , Context const& context, Fun const& fun) { @@ -365,7 +365,7 @@ namespace boost { namespace fusion typedef State type; typedef mpl::true_ continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const&, End const&, State const& state , Context const&, Fun const&) { @@ -389,7 +389,7 @@ namespace boost { namespace fusion typedef typename impl::type type; typedef typename impl::continue_type continue_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Segments& segs, State const& state, Context const& context, Fun const& fun) { return impl::call(fusion::begin(segs), fusion::end(segs), state, context, fun); diff --git a/3party/boost/boost/fusion/support/is_sequence.hpp b/3party/boost/boost/fusion/support/is_sequence.hpp index 8b5821042f..6b9b211858 100644 --- a/3party/boost/boost/fusion/support/is_sequence.hpp +++ b/3party/boost/boost/fusion/support/is_sequence.hpp @@ -32,7 +32,7 @@ namespace boost { namespace fusion { template struct apply - : is_convertible + : is_convertible {}; }; @@ -69,7 +69,7 @@ namespace boost { namespace fusion template struct is_native_fusion_sequence - : is_convertible + : is_convertible {}; } }} diff --git a/3party/boost/boost/fusion/support/iterator_base.hpp b/3party/boost/boost/fusion/support/iterator_base.hpp index d23d05c62e..5d8ce3abb7 100644 --- a/3party/boost/boost/fusion/support/iterator_base.hpp +++ b/3party/boost/boost/fusion/support/iterator_base.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_ITERATOR_BASE_05042005_1008) #define FUSION_ITERATOR_BASE_05042005_1008 +#include #include namespace boost { namespace fusion @@ -16,16 +17,16 @@ namespace boost { namespace fusion template struct iterator_base : iterator_root { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED Iterator const& - cast() const + cast() const BOOST_NOEXCEPT { return static_cast(*this); } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED Iterator& - cast() + cast() BOOST_NOEXCEPT { return static_cast(*this); } diff --git a/3party/boost/boost/fusion/support/pair.hpp b/3party/boost/boost/fusion/support/pair.hpp index c547926e9b..a4cd1ff092 100644 --- a/3party/boost/boost/fusion/support/pair.hpp +++ b/3party/boost/boost/fusion/support/pair.hpp @@ -16,6 +16,7 @@ #include #include #include +#include #if defined (BOOST_MSVC) # pragma warning(push) @@ -28,48 +29,47 @@ namespace boost { namespace fusion template struct pair { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair() : second() {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair(pair const& rhs) : second(rhs.second) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair(pair&& rhs) - : second(std::forward(rhs.second)) {} + : second(BOOST_FUSION_FWD_ELEM(Second, rhs.second)) {} #endif - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair(typename detail::call_param::type val) : second(val) {} #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - template BOOST_FUSION_GPU_ENABLED pair(Second2&& val + , typename boost::disable_if >::type* /* dummy */ = 0 , typename boost::enable_if >::type* /*dummy*/ = 0 - ) : second(std::forward(val)) {} - + ) : second(BOOST_FUSION_FWD_ELEM(Second, val)) {} #endif template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair(pair const& rhs) : second(rhs.second) {} template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair& operator=(pair const& rhs) { second = rhs.second; return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair& operator=(pair const& rhs) { second = rhs.second; @@ -77,10 +77,10 @@ namespace boost { namespace fusion } #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED pair& operator=(pair&& rhs) { - second = std::forward(rhs.second); + second = BOOST_FUSION_FWD_ELEM(Second, rhs.second); return *this; } #endif @@ -113,7 +113,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::make_pair::type make_pair(Second const& val) { @@ -137,7 +137,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool operator==(pair const& l, pair const& r) { @@ -145,7 +145,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool operator!=(pair const& l, pair const& r) { @@ -153,7 +153,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline bool operator<(pair const& l, pair const& r) { diff --git a/3party/boost/boost/fusion/support/segmented_fold_until.hpp b/3party/boost/boost/fusion/support/segmented_fold_until.hpp index 8d3ea68219..9e6f4a50f6 100644 --- a/3party/boost/boost/fusion/support/segmented_fold_until.hpp +++ b/3party/boost/boost/fusion/support/segmented_fold_until.hpp @@ -45,8 +45,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_disable_if< is_const , result_of::segmented_fold_until @@ -56,19 +56,19 @@ namespace boost { namespace fusion typedef typename result_of::segmented_fold_until::filter filter; - + return filter::call(seq, state, fusion::nil_(), fun); } template - BOOST_FUSION_GPU_ENABLED - typename result_of::segmented_fold_until::type + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename result_of::segmented_fold_until::type segmented_fold_until(Sequence const& seq, State const& state, Fun const& fun) { typedef typename result_of::segmented_fold_until::filter filter; - + return filter::call(seq, state, fusion::nil_(), fun); } }} diff --git a/3party/boost/boost/fusion/support/sequence_base.hpp b/3party/boost/boost/fusion/support/sequence_base.hpp index b59121c09b..2f9320e6c8 100644 --- a/3party/boost/boost/fusion/support/sequence_base.hpp +++ b/3party/boost/boost/fusion/support/sequence_base.hpp @@ -8,6 +8,7 @@ #if !defined(FUSION_SEQUENCE_BASE_04182005_0737) #define FUSION_SEQUENCE_BASE_04182005_0737 +#include #include #include @@ -22,22 +23,22 @@ namespace boost { namespace fusion template struct sequence_base { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED Sequence const& - derived() const + derived() const BOOST_NOEXCEPT { return static_cast(*this); } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED Sequence& - derived() + derived() BOOST_NOEXCEPT { return static_cast(*this); } - BOOST_FUSION_GPU_ENABLED - operator detail::from_sequence_convertible_type()const + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + operator detail::from_sequence_convertible_type() const BOOST_NOEXCEPT { return detail::from_sequence_convertible_type(); } diff --git a/3party/boost/boost/fusion/support/unused.hpp b/3party/boost/boost/fusion/support/unused.hpp index b3eec5ce13..964839ab25 100644 --- a/3party/boost/boost/fusion/support/unused.hpp +++ b/3party/boost/boost/fusion/support/unused.hpp @@ -22,65 +22,67 @@ namespace boost { namespace fusion { struct unused_type { - BOOST_FUSION_GPU_ENABLED - unused_type() + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type() BOOST_NOEXCEPT { } template - BOOST_FUSION_GPU_ENABLED - unused_type(T const&) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_type(T const&) BOOST_NOEXCEPT { } template - BOOST_FUSION_GPU_ENABLED + BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED unused_type const& - operator=(T const&) const + operator=(T const&) const BOOST_NOEXCEPT { return *this; } template - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type& - operator=(T const&) + operator=(T const&) BOOST_NOEXCEPT { return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_FUSION_CONSTEXPR_THIS BOOST_FUSION_GPU_ENABLED unused_type const& - operator=(unused_type const&) const + operator=(unused_type const&) const BOOST_NOEXCEPT { return *this; } - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type& - operator=(unused_type const&) + operator=(unused_type const&) BOOST_NOEXCEPT { return *this; } }; - unused_type const unused = unused_type(); + BOOST_CONSTEXPR_OR_CONST unused_type unused = unused_type(); namespace detail { struct unused_only { - BOOST_FUSION_GPU_ENABLED - unused_only(unused_type const&) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + unused_only(unused_type const&) BOOST_NOEXCEPT {} }; } - inline std::ostream& operator<<(std::ostream& out, detail::unused_only const&) + BOOST_CONSTEXPR + inline std::ostream& operator<<(std::ostream& out, detail::unused_only const&) BOOST_NOEXCEPT { return out; } - inline std::istream& operator>>(std::istream& in, unused_type&) + BOOST_CONSTEXPR + inline std::istream& operator>>(std::istream& in, unused_type&) BOOST_NOEXCEPT { return in; } diff --git a/3party/boost/boost/fusion/tuple/detail/make_tuple.hpp b/3party/boost/boost/fusion/tuple/detail/make_tuple.hpp new file mode 100644 index 0000000000..0aefcec4cd --- /dev/null +++ b/3party/boost/boost/fusion/tuple/detail/make_tuple.hpp @@ -0,0 +1,85 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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_PP_IS_ITERATING +#if !defined(FUSION_MAKE_TUPLE_10032005_0843) +#define FUSION_MAKE_TUPLE_10032005_0843 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + BOOST_FUSION_GPU_ENABLED inline tuple<> + make_tuple() + { + return tuple<>(); + } +}} + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/make_tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ +#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ + typename detail::as_fusion_element::type + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_AS_FUSION_ELEMENT + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template + BOOST_FUSION_GPU_ENABLED + inline tuple + make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& arg)) + { + return tuple( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp index 6f3c826e2b..f0ba114d6e 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple10.hpp @@ -11,81 +11,81 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple::type> - make_tuple(T0 const& _0) + make_tuple(T0 const& arg0) { return tuple::type>( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1) + make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp index 89f23ccb59..31ef304e2a 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple20.hpp @@ -11,161 +11,161 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple::type> - make_tuple(T0 const& _0) + make_tuple(T0 const& arg0) { return tuple::type>( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1) + make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp index 7bbd06ca6c..850829f3c7 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple30.hpp @@ -11,241 +11,241 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple::type> - make_tuple(T0 const& _0) + make_tuple(T0 const& arg0) { return tuple::type>( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1) + make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp index 46280e35df..c85741b958 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple40.hpp @@ -11,321 +11,321 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple::type> - make_tuple(T0 const& _0) + make_tuple(T0 const& arg0) { return tuple::type>( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1) + make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp index 748631d9e8..b4c99c5180 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/make_tuple50.hpp @@ -11,401 +11,401 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple::type> - make_tuple(T0 const& _0) + make_tuple(T0 const& arg0) { return tuple::type>( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1) + make_tuple(T0 const& arg0 , T1 const& arg1) { return tuple::type , typename detail::as_fusion_element::type>( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } template BOOST_FUSION_GPU_ENABLED inline tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type> - make_tuple(T0 const& _0 , T1 const& _1 , T2 const& _2 , T3 const& _3 , T4 const& _4 , T5 const& _5 , T6 const& _6 , T7 const& _7 , T8 const& _8 , T9 const& _9 , T10 const& _10 , T11 const& _11 , T12 const& _12 , T13 const& _13 , T14 const& _14 , T15 const& _15 , T16 const& _16 , T17 const& _17 , T18 const& _18 , T19 const& _19 , T20 const& _20 , T21 const& _21 , T22 const& _22 , T23 const& _23 , T24 const& _24 , T25 const& _25 , T26 const& _26 , T27 const& _27 , T28 const& _28 , T29 const& _29 , T30 const& _30 , T31 const& _31 , T32 const& _32 , T33 const& _33 , T34 const& _34 , T35 const& _35 , T36 const& _36 , T37 const& _37 , T38 const& _38 , T39 const& _39 , T40 const& _40 , T41 const& _41 , T42 const& _42 , T43 const& _43 , T44 const& _44 , T45 const& _45 , T46 const& _46 , T47 const& _47 , T48 const& _48 , T49 const& _49) + make_tuple(T0 const& arg0 , T1 const& arg1 , T2 const& arg2 , T3 const& arg3 , T4 const& arg4 , T5 const& arg5 , T6 const& arg6 , T7 const& arg7 , T8 const& arg8 , T9 const& arg9 , T10 const& arg10 , T11 const& arg11 , T12 const& arg12 , T13 const& arg13 , T14 const& arg14 , T15 const& arg15 , T16 const& arg16 , T17 const& arg17 , T18 const& arg18 , T19 const& arg19 , T20 const& arg20 , T21 const& arg21 , T22 const& arg22 , T23 const& arg23 , T24 const& arg24 , T25 const& arg25 , T26 const& arg26 , T27 const& arg27 , T28 const& arg28 , T29 const& arg29 , T30 const& arg30 , T31 const& arg31 , T32 const& arg32 , T33 const& arg33 , T34 const& arg34 , T35 const& arg35 , T36 const& arg36 , T37 const& arg37 , T38 const& arg38 , T39 const& arg39 , T40 const& arg40 , T41 const& arg41 , T42 const& arg42 , T43 const& arg43 , T44 const& arg44 , T45 const& arg45 , T46 const& arg46 , T47 const& arg47 , T48 const& arg48 , T49 const& arg49) { return tuple::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type , typename detail::as_fusion_element::type>( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple10.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple10.hpp index 87b64e6711..a24a29a12e 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple10.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple10.hpp @@ -17,15 +17,15 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} + : base_type(static_cast(rhs)) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -38,8 +38,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -52,8 +52,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -66,8 +66,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -80,8 +80,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -94,8 +94,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -108,8 +108,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -122,8 +122,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -136,8 +136,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -150,8 +150,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -173,7 +173,7 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { - base_type::operator=(rhs); + base_type::operator=(static_cast(rhs)); return *this; } template diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple20.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple20.hpp index 210a13ad25..73de49ffb8 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple20.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple20.hpp @@ -17,15 +17,15 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} + : base_type(static_cast(rhs)) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -38,8 +38,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -52,8 +52,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -66,8 +66,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -80,8 +80,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -94,8 +94,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -108,8 +108,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -122,8 +122,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -136,8 +136,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -150,8 +150,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -164,8 +164,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -178,8 +178,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -192,8 +192,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -206,8 +206,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -220,8 +220,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -234,8 +234,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -248,8 +248,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -262,8 +262,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -276,8 +276,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -290,8 +290,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -313,7 +313,7 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { - base_type::operator=(rhs); + base_type::operator=(static_cast(rhs)); return *this; } template diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple30.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple30.hpp index 33a3bee699..9db26a0c9a 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple30.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple30.hpp @@ -17,15 +17,15 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} + : base_type(static_cast(rhs)) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -38,8 +38,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -52,8 +52,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -66,8 +66,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -80,8 +80,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -94,8 +94,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -108,8 +108,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -122,8 +122,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -136,8 +136,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -150,8 +150,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -164,8 +164,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -178,8 +178,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -192,8 +192,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -206,8 +206,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -220,8 +220,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -234,8 +234,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -248,8 +248,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -262,8 +262,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -276,8 +276,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -290,8 +290,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -304,8 +304,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -318,8 +318,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -332,8 +332,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -346,8 +346,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -360,8 +360,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -374,8 +374,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -388,8 +388,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -402,8 +402,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -416,8 +416,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -430,8 +430,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -453,7 +453,7 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { - base_type::operator=(rhs); + base_type::operator=(static_cast(rhs)); return *this; } template diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple40.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple40.hpp index 4292d3a66c..44e0d2c1d5 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple40.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple40.hpp @@ -17,15 +17,15 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} + : base_type(static_cast(rhs)) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -38,8 +38,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -52,8 +52,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -66,8 +66,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -80,8 +80,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -94,8 +94,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -108,8 +108,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -122,8 +122,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -136,8 +136,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -150,8 +150,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -164,8 +164,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -178,8 +178,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -192,8 +192,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -206,8 +206,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -220,8 +220,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -234,8 +234,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -248,8 +248,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -262,8 +262,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -276,8 +276,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -290,8 +290,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -304,8 +304,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -318,8 +318,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -332,8 +332,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -346,8 +346,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -360,8 +360,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -374,8 +374,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -388,8 +388,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -402,8 +402,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -416,8 +416,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -430,8 +430,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -444,8 +444,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -458,8 +458,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -472,8 +472,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -486,8 +486,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -500,8 +500,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -514,8 +514,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -528,8 +528,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -542,8 +542,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -556,8 +556,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -570,8 +570,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -593,7 +593,7 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { - base_type::operator=(rhs); + base_type::operator=(static_cast(rhs)); return *this; } template diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple50.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple50.hpp index c58682754f..db157b6549 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple50.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple50.hpp @@ -17,15 +17,15 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple() : base_type() {} BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} + : base_type(static_cast(rhs)) {} template BOOST_FUSION_GPU_ENABLED tuple(std::pair const& rhs) : base_type(rhs) {} BOOST_FUSION_GPU_ENABLED explicit - tuple(typename detail::call_param::type _0) - : base_type(_0) {} + tuple(typename detail::call_param::type arg0) + : base_type(arg0) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -38,8 +38,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1) - : base_type(_0 , _1) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1) + : base_type(arg0 , arg1) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -52,8 +52,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2) - : base_type(_0 , _1 , _2) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2) + : base_type(arg0 , arg1 , arg2) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -66,8 +66,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3) - : base_type(_0 , _1 , _2 , _3) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3) + : base_type(arg0 , arg1 , arg2 , arg3) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -80,8 +80,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4) - : base_type(_0 , _1 , _2 , _3 , _4) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -94,8 +94,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5) - : base_type(_0 , _1 , _2 , _3 , _4 , _5) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -108,8 +108,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -122,8 +122,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -136,8 +136,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -150,8 +150,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -164,8 +164,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -178,8 +178,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -192,8 +192,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -206,8 +206,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -220,8 +220,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -234,8 +234,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -248,8 +248,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -262,8 +262,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -276,8 +276,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -290,8 +290,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -304,8 +304,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -318,8 +318,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -332,8 +332,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -346,8 +346,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -360,8 +360,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -374,8 +374,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -388,8 +388,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -402,8 +402,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -416,8 +416,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -430,8 +430,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -444,8 +444,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -458,8 +458,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -472,8 +472,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -486,8 +486,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -500,8 +500,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -514,8 +514,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -528,8 +528,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -542,8 +542,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -556,8 +556,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -570,8 +570,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -584,8 +584,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -598,8 +598,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -612,8 +612,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -626,8 +626,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -640,8 +640,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -654,8 +654,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -668,8 +668,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -682,8 +682,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -696,8 +696,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -710,8 +710,8 @@ namespace boost { namespace fusion return *this; } BOOST_FUSION_GPU_ENABLED - tuple(typename detail::call_param::type _0 , typename detail::call_param::type _1 , typename detail::call_param::type _2 , typename detail::call_param::type _3 , typename detail::call_param::type _4 , typename detail::call_param::type _5 , typename detail::call_param::type _6 , typename detail::call_param::type _7 , typename detail::call_param::type _8 , typename detail::call_param::type _9 , typename detail::call_param::type _10 , typename detail::call_param::type _11 , typename detail::call_param::type _12 , typename detail::call_param::type _13 , typename detail::call_param::type _14 , typename detail::call_param::type _15 , typename detail::call_param::type _16 , typename detail::call_param::type _17 , typename detail::call_param::type _18 , typename detail::call_param::type _19 , typename detail::call_param::type _20 , typename detail::call_param::type _21 , typename detail::call_param::type _22 , typename detail::call_param::type _23 , typename detail::call_param::type _24 , typename detail::call_param::type _25 , typename detail::call_param::type _26 , typename detail::call_param::type _27 , typename detail::call_param::type _28 , typename detail::call_param::type _29 , typename detail::call_param::type _30 , typename detail::call_param::type _31 , typename detail::call_param::type _32 , typename detail::call_param::type _33 , typename detail::call_param::type _34 , typename detail::call_param::type _35 , typename detail::call_param::type _36 , typename detail::call_param::type _37 , typename detail::call_param::type _38 , typename detail::call_param::type _39 , typename detail::call_param::type _40 , typename detail::call_param::type _41 , typename detail::call_param::type _42 , typename detail::call_param::type _43 , typename detail::call_param::type _44 , typename detail::call_param::type _45 , typename detail::call_param::type _46 , typename detail::call_param::type _47 , typename detail::call_param::type _48 , typename detail::call_param::type _49) - : base_type(_0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49) {} + tuple(typename detail::call_param::type arg0 , typename detail::call_param::type arg1 , typename detail::call_param::type arg2 , typename detail::call_param::type arg3 , typename detail::call_param::type arg4 , typename detail::call_param::type arg5 , typename detail::call_param::type arg6 , typename detail::call_param::type arg7 , typename detail::call_param::type arg8 , typename detail::call_param::type arg9 , typename detail::call_param::type arg10 , typename detail::call_param::type arg11 , typename detail::call_param::type arg12 , typename detail::call_param::type arg13 , typename detail::call_param::type arg14 , typename detail::call_param::type arg15 , typename detail::call_param::type arg16 , typename detail::call_param::type arg17 , typename detail::call_param::type arg18 , typename detail::call_param::type arg19 , typename detail::call_param::type arg20 , typename detail::call_param::type arg21 , typename detail::call_param::type arg22 , typename detail::call_param::type arg23 , typename detail::call_param::type arg24 , typename detail::call_param::type arg25 , typename detail::call_param::type arg26 , typename detail::call_param::type arg27 , typename detail::call_param::type arg28 , typename detail::call_param::type arg29 , typename detail::call_param::type arg30 , typename detail::call_param::type arg31 , typename detail::call_param::type arg32 , typename detail::call_param::type arg33 , typename detail::call_param::type arg34 , typename detail::call_param::type arg35 , typename detail::call_param::type arg36 , typename detail::call_param::type arg37 , typename detail::call_param::type arg38 , typename detail::call_param::type arg39 , typename detail::call_param::type arg40 , typename detail::call_param::type arg41 , typename detail::call_param::type arg42 , typename detail::call_param::type arg43 , typename detail::call_param::type arg44 , typename detail::call_param::type arg45 , typename detail::call_param::type arg46 , typename detail::call_param::type arg47 , typename detail::call_param::type arg48 , typename detail::call_param::type arg49) + : base_type(arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49) {} template BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) @@ -733,7 +733,7 @@ namespace boost { namespace fusion BOOST_FUSION_GPU_ENABLED tuple& operator=(tuple const& rhs) { - base_type::operator=(rhs); + base_type::operator=(static_cast(rhs)); return *this; } template diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp index e5d27a7e66..67ec63b78e 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie10.hpp @@ -11,81 +11,81 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0) + tie(T0 & arg0) { return tuple( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1) + tie(T0 & arg0 , T1 & arg1) { return tuple( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp index 5e668a3120..37581f20c5 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie20.hpp @@ -11,161 +11,161 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0) + tie(T0 & arg0) { return tuple( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1) + tie(T0 & arg0 , T1 & arg1) { return tuple( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp index 23e602312d..d81cb0cdd6 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie30.hpp @@ -11,241 +11,241 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0) + tie(T0 & arg0) { return tuple( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1) + tie(T0 & arg0 , T1 & arg1) { return tuple( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp index 2d020ec0cf..69eb0d8ddf 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie40.hpp @@ -11,321 +11,321 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0) + tie(T0 & arg0) { return tuple( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1) + tie(T0 & arg0 , T1 & arg1) { return tuple( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp index e30de17c6c..a024e5731c 100644 --- a/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp +++ b/3party/boost/boost/fusion/tuple/detail/preprocessed/tuple_tie50.hpp @@ -11,401 +11,401 @@ namespace boost { namespace fusion template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0) + tie(T0 & arg0) { return tuple( - _0); + arg0); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1) + tie(T0 & arg0 , T1 & arg1) { return tuple( - _0 , _1); + arg0 , arg1); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2) { return tuple( - _0 , _1 , _2); + arg0 , arg1 , arg2); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3) { return tuple( - _0 , _1 , _2 , _3); + arg0 , arg1 , arg2 , arg3); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4) { return tuple( - _0 , _1 , _2 , _3 , _4); + arg0 , arg1 , arg2 , arg3 , arg4); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48); } template BOOST_FUSION_GPU_ENABLED inline tuple - tie(T0 & _0 , T1 & _1 , T2 & _2 , T3 & _3 , T4 & _4 , T5 & _5 , T6 & _6 , T7 & _7 , T8 & _8 , T9 & _9 , T10 & _10 , T11 & _11 , T12 & _12 , T13 & _13 , T14 & _14 , T15 & _15 , T16 & _16 , T17 & _17 , T18 & _18 , T19 & _19 , T20 & _20 , T21 & _21 , T22 & _22 , T23 & _23 , T24 & _24 , T25 & _25 , T26 & _26 , T27 & _27 , T28 & _28 , T29 & _29 , T30 & _30 , T31 & _31 , T32 & _32 , T33 & _33 , T34 & _34 , T35 & _35 , T36 & _36 , T37 & _37 , T38 & _38 , T39 & _39 , T40 & _40 , T41 & _41 , T42 & _42 , T43 & _43 , T44 & _44 , T45 & _45 , T46 & _46 , T47 & _47 , T48 & _48 , T49 & _49) + tie(T0 & arg0 , T1 & arg1 , T2 & arg2 , T3 & arg3 , T4 & arg4 , T5 & arg5 , T6 & arg6 , T7 & arg7 , T8 & arg8 , T9 & arg9 , T10 & arg10 , T11 & arg11 , T12 & arg12 , T13 & arg13 , T14 & arg14 , T15 & arg15 , T16 & arg16 , T17 & arg17 , T18 & arg18 , T19 & arg19 , T20 & arg20 , T21 & arg21 , T22 & arg22 , T23 & arg23 , T24 & arg24 , T25 & arg25 , T26 & arg26 , T27 & arg27 , T28 & arg28 , T29 & arg29 , T30 & arg30 , T31 & arg31 , T32 & arg32 , T33 & arg33 , T34 & arg34 , T35 & arg35 , T36 & arg36 , T37 & arg37 , T38 & arg38 , T39 & arg39 , T40 & arg40 , T41 & arg41 , T42 & arg42 , T43 & arg43 , T44 & arg44 , T45 & arg45 , T46 & arg46 , T47 & arg47 , T48 & arg48 , T49 & arg49) { return tuple( - _0 , _1 , _2 , _3 , _4 , _5 , _6 , _7 , _8 , _9 , _10 , _11 , _12 , _13 , _14 , _15 , _16 , _17 , _18 , _19 , _20 , _21 , _22 , _23 , _24 , _25 , _26 , _27 , _28 , _29 , _30 , _31 , _32 , _33 , _34 , _35 , _36 , _37 , _38 , _39 , _40 , _41 , _42 , _43 , _44 , _45 , _46 , _47 , _48 , _49); + arg0 , arg1 , arg2 , arg3 , arg4 , arg5 , arg6 , arg7 , arg8 , arg9 , arg10 , arg11 , arg12 , arg13 , arg14 , arg15 , arg16 , arg17 , arg18 , arg19 , arg20 , arg21 , arg22 , arg23 , arg24 , arg25 , arg26 , arg27 , arg28 , arg29 , arg30 , arg31 , arg32 , arg33 , arg34 , arg35 , arg36 , arg37 , arg38 , arg39 , arg40 , arg41 , arg42 , arg43 , arg44 , arg45 , arg46 , arg47 , arg48 , arg49); } }} diff --git a/3party/boost/boost/fusion/tuple/detail/tuple.hpp b/3party/boost/boost/fusion/tuple/detail/tuple.hpp new file mode 100644 index 0000000000..c583edd228 --- /dev/null +++ b/3party/boost/boost/fusion/tuple/detail/tuple.hpp @@ -0,0 +1,121 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_TUPLE_10032005_0810) +#define FUSION_TUPLE_10032005_0810 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + template + struct tuple : vector + { + typedef vector< + BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> + base_type; + + BOOST_FUSION_GPU_ENABLED tuple() + : base_type() {} + + BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) + : base_type(static_cast(rhs)) {} + + template + BOOST_FUSION_GPU_ENABLED + tuple(std::pair const& rhs) + : base_type(rhs) {} + + #include + + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(T const& rhs) + { + base_type::operator=(rhs); + return *this; + } + + BOOST_FUSION_GPU_ENABLED + tuple& operator=(tuple const& rhs) + { + base_type::operator=(static_cast(rhs)); + return *this; + } + + template + BOOST_FUSION_GPU_ENABLED + tuple& operator=(std::pair const& rhs) + { + base_type::operator=(rhs); + return *this; + } + }; + + template + struct tuple_size : result_of::size {}; + + template + struct tuple_element : result_of::value_at_c {}; + + template + BOOST_FUSION_GPU_ENABLED + inline typename + lazy_disable_if< + is_const + , result_of::at_c + >::type + get(Tuple& tup) + { + return at_c(tup); + } + + template + BOOST_FUSION_GPU_ENABLED + inline typename result_of::at_c::type + get(Tuple const& tup) + { + return at_c(tup); + } +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/tuple/detail/tuple_expand.hpp b/3party/boost/boost/fusion/tuple/detail/tuple_expand.hpp index 026ab8f492..3909f647b8 100644 --- a/3party/boost/boost/fusion/tuple/detail/tuple_expand.hpp +++ b/3party/boost/boost/fusion/tuple/detail/tuple_expand.hpp @@ -32,8 +32,8 @@ explicit #endif tuple(BOOST_PP_ENUM_BINARY_PARAMS( - N, typename detail::call_param::type _)) - : base_type(BOOST_PP_ENUM_PARAMS(N, _)) {} + N, typename detail::call_param::type arg)) + : base_type(BOOST_PP_ENUM_PARAMS(N, arg)) {} template BOOST_FUSION_GPU_ENABLED diff --git a/3party/boost/boost/fusion/tuple/detail/tuple_fwd.hpp b/3party/boost/boost/fusion/tuple/detail/tuple_fwd.hpp new file mode 100644 index 0000000000..1f0af10ade --- /dev/null +++ b/3party/boost/boost/fusion/tuple/detail/tuple_fwd.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_TUPLE_FORWARD_10032005_0956) +#define FUSION_TUPLE_FORWARD_10032005_0956 + +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ + struct void_; + + template < + BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( + FUSION_MAX_VECTOR_SIZE, typename T, void_) + > + struct tuple; +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif diff --git a/3party/boost/boost/fusion/tuple/detail/tuple_tie.hpp b/3party/boost/boost/fusion/tuple/detail/tuple_tie.hpp new file mode 100644 index 0000000000..a8de8f3183 --- /dev/null +++ b/3party/boost/boost/fusion/tuple/detail/tuple_tie.hpp @@ -0,0 +1,75 @@ +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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_PP_IS_ITERATING +#if !defined(FUSION_TUPLE_TIE_10032005_0846) +#define FUSION_TUPLE_TIE_10032005_0846 + +#include +#include +#include +#include +#include + +#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) +#include +#else +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 2, line: 0, output: "preprocessed/tuple_tie" FUSION_MAX_VECTOR_SIZE_STR ".hpp") +#endif + +/*============================================================================= + Copyright (c) 2001-2011 Joel de Guzman + + 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) + + This is an auto-generated file. Do not edit! +==============================================================================*/ + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(preserve: 1) +#endif + +namespace boost { namespace fusion +{ +#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& + +#define BOOST_PP_FILENAME_1 +#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) +#include BOOST_PP_ITERATE() + +#undef BOOST_FUSION_REF + +}} + +#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) +#pragma wave option(output: null) +#endif + +#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES + +#endif +#else // defined(BOOST_PP_IS_ITERATING) +/////////////////////////////////////////////////////////////////////////////// +// +// Preprocessor vertical repetition code +// +/////////////////////////////////////////////////////////////////////////////// + +#define N BOOST_PP_ITERATION() + + template + BOOST_FUSION_GPU_ENABLED + inline tuple + tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & arg)) + { + return tuple( + BOOST_PP_ENUM_PARAMS(N, arg)); + } + +#undef N +#endif // defined(BOOST_PP_IS_ITERATING) diff --git a/3party/boost/boost/fusion/tuple/make_tuple.hpp b/3party/boost/boost/fusion/tuple/make_tuple.hpp index 9c3bb45ed9..0d1277366a 100644 --- a/3party/boost/boost/fusion/tuple/make_tuple.hpp +++ b/3party/boost/boost/fusion/tuple/make_tuple.hpp @@ -1,86 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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_PP_IS_ITERATING -#if !defined(FUSION_MAKE_TUPLE_10032005_0843) -#define FUSION_MAKE_TUPLE_10032005_0843 +#ifndef FUSION_MAKE_TUPLE_14122014_0048 +#define FUSION_MAKE_TUPLE_14122014_0048 -#include -#include -#include -#include -#include +#include +#include -namespace boost { namespace fusion -{ - BOOST_FUSION_GPU_ENABLED inline tuple<> - make_tuple() - { - return tuple<>(); - } -}} - -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/make_tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ -#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ - typename detail::as_fusion_element::type - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_AS_FUSION_ELEMENT - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// +// With no variadics, we will use the C++03 version /////////////////////////////////////////////////////////////////////////////// +# include -#define N BOOST_PP_ITERATION() - - template - BOOST_FUSION_GPU_ENABLED - inline tuple - make_tuple(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) - { - return tuple( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) +#endif diff --git a/3party/boost/boost/fusion/tuple/tuple.hpp b/3party/boost/boost/fusion/tuple/tuple.hpp index 953f2b6664..674c369132 100644 --- a/3party/boost/boost/fusion/tuple/tuple.hpp +++ b/3party/boost/boost/fusion/tuple/tuple.hpp @@ -1,122 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_TUPLE_10032005_0810) -#define FUSION_TUPLE_10032005_0810 +#ifndef FUSION_TUPLE_14122014_0102 +#define FUSION_TUPLE_14122014_0102 #include #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - template - struct tuple : vector - { - typedef vector< - BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)> - base_type; - - BOOST_FUSION_GPU_ENABLED tuple() - : base_type() {} - - BOOST_FUSION_GPU_ENABLED tuple(tuple const& rhs) - : base_type(rhs) {} - - template - BOOST_FUSION_GPU_ENABLED - tuple(std::pair const& rhs) - : base_type(rhs) {} - - #include - - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(T const& rhs) - { - base_type::operator=(rhs); - return *this; - } - - BOOST_FUSION_GPU_ENABLED - tuple& operator=(tuple const& rhs) - { - base_type::operator=(rhs); - return *this; - } - - template - BOOST_FUSION_GPU_ENABLED - tuple& operator=(std::pair const& rhs) - { - base_type::operator=(rhs); - return *this; - } - }; - - template - struct tuple_size : result_of::size {}; - - template - struct tuple_element : result_of::value_at_c {}; - - template - BOOST_FUSION_GPU_ENABLED - inline typename - lazy_disable_if< - is_const - , result_of::at_c - >::type - get(Tuple& tup) - { - return at_c(tup); - } - - template - BOOST_FUSION_GPU_ENABLED - inline typename result_of::at_c::type - get(Tuple const& tup) - { - return at_c(tup); - } -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +# include #endif diff --git a/3party/boost/boost/fusion/tuple/tuple_fwd.hpp b/3party/boost/boost/fusion/tuple/tuple_fwd.hpp index 68969183d1..0742023403 100644 --- a/3party/boost/boost/fusion/tuple/tuple_fwd.hpp +++ b/3party/boost/boost/fusion/tuple/tuple_fwd.hpp @@ -1,52 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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) ==============================================================================*/ -#if !defined(FUSION_TUPLE_FORWARD_10032005_0956) -#define FUSION_TUPLE_FORWARD_10032005_0956 +#ifndef FUSION_TUPLE_FORWARD_14122014_0051 +#define FUSION_TUPLE_FORWARD_14122014_0051 +#include #include -#include -#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/tuple" FUSION_MAX_VECTOR_SIZE_STR "_fwd.hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ - struct void_; - - template < - BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( - FUSION_MAX_VECTOR_SIZE, typename T, void_) - > - struct tuple; -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES +/////////////////////////////////////////////////////////////////////////////// +// With no variadics, we will use the C++03 version +/////////////////////////////////////////////////////////////////////////////// +# include #endif diff --git a/3party/boost/boost/fusion/tuple/tuple_tie.hpp b/3party/boost/boost/fusion/tuple/tuple_tie.hpp index eeb0c15888..9202807048 100644 --- a/3party/boost/boost/fusion/tuple/tuple_tie.hpp +++ b/3party/boost/boost/fusion/tuple/tuple_tie.hpp @@ -1,76 +1,19 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2014 Kohei Takahashi 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_PP_IS_ITERATING -#if !defined(FUSION_TUPLE_TIE_10032005_0846) -#define FUSION_TUPLE_TIE_10032005_0846 +#ifndef FUSION_TUPLE_TIE_14122014_0115 +#define FUSION_TUPLE_TIE_14122014_0115 -#include -#include -#include -#include -#include +#include +#include -#if !defined(BOOST_FUSION_DONT_USE_PREPROCESSED_FILES) -#include -#else -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 2, line: 0, output: "detail/preprocessed/tuple_tie" FUSION_MAX_VECTOR_SIZE_STR ".hpp") -#endif - -/*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman - - 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) - - This is an auto-generated file. Do not edit! -==============================================================================*/ - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(preserve: 1) -#endif - -namespace boost { namespace fusion -{ -#define BOOST_FUSION_REF(z, n, data) BOOST_PP_CAT(T, n)& - -#define BOOST_PP_FILENAME_1 -#define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) -#include BOOST_PP_ITERATE() - -#undef BOOST_FUSION_REF - -}} - -#if defined(__WAVE__) && defined(BOOST_FUSION_CREATE_PREPROCESSED_FILES) -#pragma wave option(output: null) -#endif - -#endif // BOOST_FUSION_DONT_USE_PREPROCESSED_FILES - -#endif -#else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// +// With no variadics, we will use the C++03 version /////////////////////////////////////////////////////////////////////////////// +# include -#define N BOOST_PP_ITERATION() - - template - BOOST_FUSION_GPU_ENABLED - inline tuple - tie(BOOST_PP_ENUM_BINARY_PARAMS(N, T, & _)) - { - return tuple( - BOOST_PP_ENUM_PARAMS(N, _)); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) +#endif diff --git a/3party/boost/boost/fusion/view/detail/strictest_traversal.hpp b/3party/boost/boost/fusion/view/detail/strictest_traversal.hpp index 4092ea4da6..9ad1f7aa85 100644 --- a/3party/boost/boost/fusion/view/detail/strictest_traversal.hpp +++ b/3party/boost/boost/fusion/view/detail/strictest_traversal.hpp @@ -59,7 +59,7 @@ namespace boost { namespace fusion // never called, but needed for decltype-based result_of (C++0x) #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(StrictestSoFar&&, Next&&) const; #endif diff --git a/3party/boost/boost/fusion/view/filter_view/detail/begin_impl.hpp b/3party/boost/boost/fusion/view/filter_view/detail/begin_impl.hpp index 89f67d02ad..3ce439a41f 100644 --- a/3party/boost/boost/fusion/view/filter_view/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/view/filter_view/detail/begin_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion typedef typename Sequence::category category; typedef filter_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/3party/boost/boost/fusion/view/filter_view/detail/deref_data_impl.hpp b/3party/boost/boost/fusion/view/filter_view/detail/deref_data_impl.hpp index ba8631f501..e0d9a0edb0 100644 --- a/3party/boost/boost/fusion/view/filter_view/detail/deref_data_impl.hpp +++ b/3party/boost/boost/fusion/view/filter_view/detail/deref_data_impl.hpp @@ -26,7 +26,7 @@ namespace boost { namespace fusion { namespace extension result_of::deref_data::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/3party/boost/boost/fusion/view/filter_view/detail/end_impl.hpp b/3party/boost/boost/fusion/view/filter_view/detail/end_impl.hpp index fee9f6d459..1a2a5ba48d 100644 --- a/3party/boost/boost/fusion/view/filter_view/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/view/filter_view/detail/end_impl.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion typedef typename Sequence::category category; typedef filter_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/3party/boost/boost/fusion/view/filter_view/detail/next_impl.hpp b/3party/boost/boost/fusion/view/filter_view/detail/next_impl.hpp index 0091e897ea..4f17455766 100644 --- a/3party/boost/boost/fusion/view/filter_view/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/view/filter_view/detail/next_impl.hpp @@ -63,7 +63,7 @@ namespace boost { namespace fusion category, typename filter::type, last_type, pred_type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/filter_view/filter_view.hpp b/3party/boost/boost/fusion/view/filter_view/filter_view.hpp index dd710fabd1..db61cad60e 100644 --- a/3party/boost/boost/fusion/view/filter_view/filter_view.hpp +++ b/3party/boost/boost/fusion/view/filter_view/filter_view.hpp @@ -46,14 +46,14 @@ namespace boost { namespace fusion typedef typename result_of::end::type last_type; typedef Pred pred_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED filter_view(Sequence& in_seq) : seq(in_seq) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last_type last() const { return fusion::end(seq); } typename mpl::if_, Sequence, Sequence&>::type seq; diff --git a/3party/boost/boost/fusion/view/filter_view/filter_view_iterator.hpp b/3party/boost/boost/fusion/view/filter_view/filter_view_iterator.hpp index 14aaa46005..f1b9f54de3 100644 --- a/3party/boost/boost/fusion/view/filter_view/filter_view_iterator.hpp +++ b/3party/boost/boost/fusion/view/filter_view/filter_view_iterator.hpp @@ -55,7 +55,7 @@ namespace boost { namespace fusion typedef last_iter last_type; typedef Pred pred_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED filter_iterator(First const& in_first) : first(filter::iter_call(first_converter::call(in_first))) {} @@ -67,6 +67,15 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::filter_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/view/flatten_view/flatten_view.hpp b/3party/boost/boost/fusion/view/flatten_view/flatten_view.hpp index aa47240771..8e40158d1c 100644 --- a/3party/boost/boost/fusion/view/flatten_view/flatten_view.hpp +++ b/3party/boost/boost/fusion/view/flatten_view/flatten_view.hpp @@ -8,6 +8,7 @@ #define BOOST_FUSION_FLATTEN_VIEW_HPP_INCLUDED +#include #include #include #include @@ -23,7 +24,7 @@ namespace boost { namespace fusion { struct forward_traversal_tag; struct flatten_view_tag; - + template struct flatten_view : sequence_base > @@ -32,18 +33,21 @@ namespace boost { namespace fusion typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; typedef forward_traversal_tag category; - + typedef Sequence sequence_type; typedef typename result_of::begin::type first_type; typedef typename result_of::end::type last_type; - + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit flatten_view(Sequence& seq) : seq(seq) {} - + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last_type last() const { return fusion::end(seq); } - + typename mpl::if_, Sequence, Sequence&>::type seq; }; }} @@ -57,19 +61,20 @@ namespace boost { namespace fusion { namespace extension struct apply { typedef typename Sequence::first_type first_type; - + typedef typename result_of::begin< mpl::single_view< typename Sequence::sequence_type> >::type root_iterator; - + typedef detail::seek_descent seek_descent; - + typedef typename seek_descent::type type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(Sequence& seq) { @@ -77,7 +82,7 @@ namespace boost { namespace fusion { namespace extension } }; }; - + template<> struct end_impl { @@ -85,13 +90,14 @@ namespace boost { namespace fusion { namespace extension struct apply { typedef typename Sequence::last_type last_type; - + typedef typename result_of::end< mpl::single_view< typename Sequence::sequence_type> >::type type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(Sequence&) { diff --git a/3party/boost/boost/fusion/view/flatten_view/flatten_view_iterator.hpp b/3party/boost/boost/fusion/view/flatten_view/flatten_view_iterator.hpp index dfe613ac84..1ecf692822 100644 --- a/3party/boost/boost/fusion/view/flatten_view/flatten_view_iterator.hpp +++ b/3party/boost/boost/fusion/view/flatten_view/flatten_view_iterator.hpp @@ -8,6 +8,7 @@ #define BOOST_FUSION_FLATTEN_VIEW_ITERATOR_HPP_INCLUDED +#include #include #include #include @@ -23,22 +24,23 @@ namespace boost { namespace fusion { struct forward_traversal_tag; struct flatten_view_iterator_tag; - + template struct flatten_view_iterator : iterator_base > { typedef flatten_view_iterator_tag fusion_tag; typedef forward_traversal_tag category; - + typedef convert_iterator first_converter; typedef typename first_converter::type first_type; typedef Base base_type; - + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED flatten_view_iterator(First const& first, Base const& base) : first(first), base(base) {} - + first_type first; base_type base; }; @@ -50,13 +52,14 @@ namespace boost { namespace fusion { namespace detail struct make_descent_cons { typedef cons type; - + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(Iterator const& it) { return type(it); } }; - + template struct make_descent_cons::type>::type sub_sequence; - + typedef typename result_of::begin::type sub_begin; - + typedef cons::type> type; - + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(Iterator const& it) { return type(it, make_descent_cons::apply( fusion::begin(*it))); } }; - + template struct build_flatten_view_iterator; @@ -88,26 +92,28 @@ namespace boost { namespace fusion { namespace detail struct build_flatten_view_iterator, Base> { typedef flatten_view_iterator type; - + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(cons const& cons, Base const& base) { return type(cons.car, base); } }; - + template struct build_flatten_view_iterator, Base> { typedef flatten_view_iterator next_base; typedef build_flatten_view_iterator next; typedef typename next::type type; - + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(cons const& cons, Base const& base) { return next::apply(cons.cdr, next_base(cons.car, base)); } }; - + template struct seek_descent { @@ -117,14 +123,15 @@ namespace boost { namespace fusion { namespace detail build_flatten_view_iterator build_flatten_view_iterator_; typedef typename build_flatten_view_iterator_::type type; - + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(Base const& base, Iterator const& it) { return build_flatten_view_iterator_::apply( make_descent_cons_::apply(it), base); } }; - + template struct seek_descent::type>::type> >::type> { typedef typename result_of::next::type type; - + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type apply(Base const& base, Iterator const&) { return fusion::next(base); @@ -151,10 +159,11 @@ namespace boost { namespace fusion { namespace extension typedef typename Iterator::first_type first_type; typedef typename Iterator::base_type base_type; typedef typename result_of::next::type next_type; - + typedef detail::seek_descent seek_descent; typedef typename seek_descent::type type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(Iterator const& it) { @@ -162,7 +171,7 @@ namespace boost { namespace fusion { namespace extension } }; }; - + template<> struct deref_impl { @@ -173,6 +182,7 @@ namespace boost { namespace fusion { namespace extension result_of::deref::type type; + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static inline type call(Iterator const& it) { @@ -180,13 +190,13 @@ namespace boost { namespace fusion { namespace extension } }; }; - + template<> struct value_of_impl { template struct apply - { + { typedef typename result_of::value_of::type type; @@ -194,6 +204,15 @@ namespace boost { namespace fusion { namespace extension }; }}} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::flatten_view_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/view/iterator_range/detail/at_impl.hpp b/3party/boost/boost/fusion/view/iterator_range/detail/at_impl.hpp index 0626ae2ec5..20f1758310 100644 --- a/3party/boost/boost/fusion/view/iterator_range/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/view/iterator_range/detail/at_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion typedef typename result_of::advance::type pos; typedef typename result_of::deref::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& s) { diff --git a/3party/boost/boost/fusion/view/iterator_range/detail/begin_impl.hpp b/3party/boost/boost/fusion/view/iterator_range/detail/begin_impl.hpp index e34b6ede30..7e00dec091 100644 --- a/3party/boost/boost/fusion/view/iterator_range/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/view/iterator_range/detail/begin_impl.hpp @@ -7,6 +7,8 @@ #if !defined(FUSION_BEGIN_IMPL_05062005_1226) #define FUSION_BEGIN_IMPL_05062005_1226 +#include + namespace boost { namespace fusion { struct iterator_range_tag; @@ -24,7 +26,7 @@ namespace boost { namespace fusion { typedef typename Sequence::begin_type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/3party/boost/boost/fusion/view/iterator_range/detail/end_impl.hpp b/3party/boost/boost/fusion/view/iterator_range/detail/end_impl.hpp index 2428198cb8..b76aa91cd5 100644 --- a/3party/boost/boost/fusion/view/iterator_range/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/view/iterator_range/detail/end_impl.hpp @@ -7,6 +7,8 @@ #if !defined(FUSION_END_IMPL_05062005_1226) #define FUSION_END_IMPL_05062005_1226 +#include + namespace boost { namespace fusion { struct iterator_range_tag; @@ -24,7 +26,7 @@ namespace boost { namespace fusion { typedef typename Sequence::end_type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/3party/boost/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp b/3party/boost/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp index 7dc4506c79..d35e580f8e 100644 --- a/3party/boost/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp +++ b/3party/boost/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp @@ -48,8 +48,8 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , result_of::push_back @@ -57,8 +57,8 @@ namespace boost { namespace fusion push_back(Sequence const& seq, T const& x); template - BOOST_FUSION_GPU_ENABLED - typename + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline typename lazy_enable_if< traits::is_sequence , result_of::push_front @@ -152,7 +152,7 @@ namespace boost { namespace fusion { namespace detail > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { //return segment_sequence( @@ -199,7 +199,7 @@ namespace boost { namespace fusion { namespace detail > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin)))); @@ -212,7 +212,7 @@ namespace boost { namespace fusion { namespace detail { typedef typename Stack::cdr_type type; // nil_ - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const &stack) { return stack.cdr; @@ -298,7 +298,7 @@ namespace boost { namespace fusion { namespace detail > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { // return segment_sequence( @@ -345,7 +345,7 @@ namespace boost { namespace fusion { namespace detail > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end)))); @@ -358,7 +358,7 @@ namespace boost { namespace fusion { namespace detail { typedef typename Stack::cdr_type type; // nil_ - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Stack const& stack) { return stack.cdr; @@ -437,7 +437,7 @@ namespace boost { namespace fusion { namespace detail > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StackBegin stack_begin, StackEnd stack_end) { //return segment_sequence( @@ -471,7 +471,7 @@ namespace boost { namespace fusion { namespace detail typename impl::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StackBegin stack_begin, StackEnd stack_end) { return impl::call(stack_begin.cdr, stack_end.cdr); @@ -501,7 +501,7 @@ namespace boost { namespace fusion { namespace detail segment_sequence type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(StackBegin stack_begin, StackEnd stack_end) { //return segment_sequence( @@ -531,7 +531,7 @@ namespace boost { namespace fusion { namespace detail typedef typename impl::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Begin const& begin, End const& end) { return impl::call( diff --git a/3party/boost/boost/fusion/view/iterator_range/detail/segments_impl.hpp b/3party/boost/boost/fusion/view/iterator_range/detail/segments_impl.hpp index 9d570cf1f0..bbf4c45ad3 100644 --- a/3party/boost/boost/fusion/view/iterator_range/detail/segments_impl.hpp +++ b/3party/boost/boost/fusion/view/iterator_range/detail/segments_impl.hpp @@ -41,7 +41,7 @@ namespace boost { namespace fusion typename result_of::segments::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence & seq) { return fusion::segments(impl::call(seq.first, seq.last)); diff --git a/3party/boost/boost/fusion/view/iterator_range/iterator_range.hpp b/3party/boost/boost/fusion/view/iterator_range/iterator_range.hpp index f5aafd4a19..272abcd911 100644 --- a/3party/boost/boost/fusion/view/iterator_range/iterator_range.hpp +++ b/3party/boost/boost/fusion/view/iterator_range/iterator_range.hpp @@ -44,7 +44,7 @@ namespace boost { namespace fusion typedef typename traits::category_of::type category; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED iterator_range(First const& in_first, Last const& in_last) : first(convert_iterator::call(in_first)) , last(convert_iterator::call(in_last)) {} diff --git a/3party/boost/boost/fusion/view/joint_view/detail/begin_impl.hpp b/3party/boost/boost/fusion/view/joint_view/detail/begin_impl.hpp index f58d129042..b7a961a7f2 100644 --- a/3party/boost/boost/fusion/view/joint_view/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/view/joint_view/detail/begin_impl.hpp @@ -43,21 +43,21 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s, mpl::true_) { return s.concat(); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s, mpl::false_) { return type(s.first(), s.concat()); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/3party/boost/boost/fusion/view/joint_view/detail/deref_data_impl.hpp b/3party/boost/boost/fusion/view/joint_view/detail/deref_data_impl.hpp index 02780d99d9..2d5f8317e1 100644 --- a/3party/boost/boost/fusion/view/joint_view/detail/deref_data_impl.hpp +++ b/3party/boost/boost/fusion/view/joint_view/detail/deref_data_impl.hpp @@ -26,7 +26,7 @@ namespace boost { namespace fusion { namespace extension result_of::deref_data::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/3party/boost/boost/fusion/view/joint_view/detail/end_impl.hpp b/3party/boost/boost/fusion/view/joint_view/detail/end_impl.hpp index b9e0113815..0b4b9b0abd 100644 --- a/3party/boost/boost/fusion/view/joint_view/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/view/joint_view/detail/end_impl.hpp @@ -28,7 +28,7 @@ namespace boost { namespace fusion { typedef typename Sequence::concat_last_type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/3party/boost/boost/fusion/view/joint_view/detail/next_impl.hpp b/3party/boost/boost/fusion/view/joint_view/detail/next_impl.hpp index a3c066d1f3..a7d18757da 100644 --- a/3party/boost/boost/fusion/view/joint_view/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/view/joint_view/detail/next_impl.hpp @@ -45,21 +45,21 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i, mpl::true_) { return i.concat; } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i, mpl::false_) { return type(fusion::next(i.first), i.concat); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/joint_view/joint_view.hpp b/3party/boost/boost/fusion/view/joint_view/joint_view.hpp index 3ad3191420..676cbc54dd 100644 --- a/3party/boost/boost/fusion/view/joint_view/joint_view.hpp +++ b/3party/boost/boost/fusion/view/joint_view/joint_view.hpp @@ -56,17 +56,17 @@ namespace boost { namespace fusion result_of::size::value + result_of::size::value> size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED joint_view(Sequence1& in_seq1, Sequence2& in_seq2) : seq1(in_seq1) , seq2(in_seq2) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq1); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED concat_type concat() const { return fusion::begin(seq2); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED concat_last_type concat_last() const { return fusion::end(seq2); } private: diff --git a/3party/boost/boost/fusion/view/joint_view/joint_view_iterator.hpp b/3party/boost/boost/fusion/view/joint_view/joint_view_iterator.hpp index 9858474078..ddd1341ee1 100644 --- a/3party/boost/boost/fusion/view/joint_view/joint_view_iterator.hpp +++ b/3party/boost/boost/fusion/view/joint_view/joint_view_iterator.hpp @@ -41,7 +41,7 @@ namespace boost { namespace fusion typedef Category category; BOOST_STATIC_ASSERT((!result_of::equal_to::value)); - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED joint_view_iterator(First const& in_first, Concat const& in_concat) : first(first_converter::call(in_first)) , concat(concat_converter::call(in_concat)) @@ -56,6 +56,15 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::joint_view_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/view/nview/detail/advance_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/advance_impl.hpp index ad82983eac..7c74a386bb 100644 --- a/3party/boost/boost/fusion/view/nview/detail/advance_impl.hpp +++ b/3party/boost/boost/fusion/view/nview/detail/advance_impl.hpp @@ -12,7 +12,7 @@ #include #include -namespace boost { namespace fusion +namespace boost { namespace fusion { struct nview_iterator_tag; @@ -36,7 +36,7 @@ namespace boost { namespace fusion typedef nview_iterator::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/nview/detail/at_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/at_impl.hpp index 45f9faf6f6..b9f41defcd 100644 --- a/3party/boost/boost/fusion/view/nview/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/view/nview/detail/at_impl.hpp @@ -11,7 +11,7 @@ #include #include -namespace boost { namespace fusion +namespace boost { namespace fusion { struct nview_tag; @@ -32,8 +32,8 @@ namespace boost { namespace fusion typedef typename result_of::at::type index; typedef typename result_of::at::type type; - BOOST_FUSION_GPU_ENABLED - static type + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type call(Sequence& seq) { return fusion::at(seq.seq); diff --git a/3party/boost/boost/fusion/view/nview/detail/begin_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/begin_impl.hpp index ca600b9a16..bab5e221c9 100644 --- a/3party/boost/boost/fusion/view/nview/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/view/nview/detail/begin_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typedef nview_iterator::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s); diff --git a/3party/boost/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp new file mode 100644 index 0000000000..08c6c9d738 --- /dev/null +++ b/3party/boost/boost/fusion/view/nview/detail/cpp03/nview_impl.hpp @@ -0,0 +1,78 @@ +/*============================================================================= + Copyright (c) 2009 Hartmut Kaiser + + 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_PP_IS_ITERATING + +#if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM) +#define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM + +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_PP_ITERATION_PARAMS_1 \ + (3, (1, FUSION_MAX_VECTOR_SIZE, \ + "boost/fusion/view/nview/detail/cpp03/nview_impl.hpp")) \ + /**/ + +/////////////////////////////////////////////////////////////////////////////// +namespace boost { namespace fusion { namespace result_of +{ + template + struct as_nview + { + typedef mpl::vector_c< + int, BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, I) + > index_type; + typedef nview type; + }; +}}} + +#include BOOST_PP_ITERATE() + +#endif + +/////////////////////////////////////////////////////////////////////////////// +// Preprocessor vertical repetition code +/////////////////////////////////////////////////////////////////////////////// +#else // defined(BOOST_PP_IS_ITERATING) + +#define N BOOST_PP_ITERATION() + +#if N < FUSION_MAX_VECTOR_SIZE +namespace boost { namespace fusion { namespace result_of +{ + template + struct as_nview + { + typedef mpl::vector_c index_type; + typedef nview type; + }; +}}} +#endif + +namespace boost { namespace fusion +{ + template + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + inline nview > + as_nview(Sequence& s) + { + typedef mpl::vector_c index_type; + return nview(s); + } + +}} + +#undef N + +#endif diff --git a/3party/boost/boost/fusion/view/nview/detail/deref_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/deref_impl.hpp index bbdb982528..85991021b6 100644 --- a/3party/boost/boost/fusion/view/nview/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/view/nview/detail/deref_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion typedef typename result_of::at< typename sequence_type::sequence_type, index>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return at(i.seq.seq); diff --git a/3party/boost/boost/fusion/view/nview/detail/distance_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/distance_impl.hpp index e3e5a9a086..a036300f77 100644 --- a/3party/boost/boost/fusion/view/nview/detail/distance_impl.hpp +++ b/3party/boost/boost/fusion/view/nview/detail/distance_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion typename First::first_type, typename Last::first_type >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& /*first*/, Last const& /*last*/) { diff --git a/3party/boost/boost/fusion/view/nview/detail/end_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/end_impl.hpp index d36260dbb7..0a6efe560d 100644 --- a/3party/boost/boost/fusion/view/nview/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/view/nview/detail/end_impl.hpp @@ -36,7 +36,7 @@ namespace boost { namespace fusion typedef nview_iterator::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { return type(s); diff --git a/3party/boost/boost/fusion/view/nview/detail/next_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/next_impl.hpp index 5193bfe655..3c30409647 100644 --- a/3party/boost/boost/fusion/view/nview/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/view/nview/detail/next_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typedef nview_iterator::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/nview/detail/nview_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/nview_impl.hpp index 6c7a3e21d1..40674e3551 100644 --- a/3party/boost/boost/fusion/view/nview/detail/nview_impl.hpp +++ b/3party/boost/boost/fusion/view/nview/detail/nview_impl.hpp @@ -1,78 +1,18 @@ /*============================================================================= - Copyright (c) 2009 Hartmut Kaiser + Copyright (c) 2014 Kohei Takahashi 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_FUSION_NVIEW_IMPL_17122014_1948 +#define BOOST_FUSION_NVIEW_IMPL_17122014_1948 -#ifndef BOOST_PP_IS_ITERATING - -#if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM) -#define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM - -#include -#include -#include -#include -#include -#include -#include - -#define BOOST_PP_ITERATION_PARAMS_1 \ - (3, (1, FUSION_MAX_VECTOR_SIZE, \ - "boost/fusion/view/nview/detail/nview_impl.hpp")) \ - /**/ +#include /////////////////////////////////////////////////////////////////////////////// -namespace boost { namespace fusion { namespace result_of -{ - template - struct as_nview - { - typedef mpl::vector_c< - int, BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, I) - > index_type; - typedef nview type; - }; -}}} - -#include BOOST_PP_ITERATE() +// Without variadics, we will use the PP version +/////////////////////////////////////////////////////////////////////////////// +# include #endif -/////////////////////////////////////////////////////////////////////////////// -// Preprocessor vertical repetition code -/////////////////////////////////////////////////////////////////////////////// -#else // defined(BOOST_PP_IS_ITERATING) - -#define N BOOST_PP_ITERATION() - -#if N < FUSION_MAX_VECTOR_SIZE -namespace boost { namespace fusion { namespace result_of -{ - template - struct as_nview - { - typedef mpl::vector_c index_type; - typedef nview type; - }; -}}} -#endif - -namespace boost { namespace fusion -{ - template - BOOST_FUSION_GPU_ENABLED - inline nview > - as_nview(Sequence& s) - { - typedef mpl::vector_c index_type; - return nview(s); - } - -}} - -#undef N - -#endif diff --git a/3party/boost/boost/fusion/view/nview/detail/prior_impl.hpp b/3party/boost/boost/fusion/view/nview/detail/prior_impl.hpp index 374b45f669..470c5bd323 100644 --- a/3party/boost/boost/fusion/view/nview/detail/prior_impl.hpp +++ b/3party/boost/boost/fusion/view/nview/detail/prior_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typedef nview_iterator::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/nview/nview.hpp b/3party/boost/boost/fusion/view/nview/nview.hpp index 45b7380bdf..2e257c81de 100644 --- a/3party/boost/boost/fusion/view/nview/nview.hpp +++ b/3party/boost/boost/fusion/view/nview/nview.hpp @@ -40,7 +40,7 @@ namespace boost { namespace fusion #ifdef BOOST_NO_CXX11_RVALUE_REFERENCES template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type operator()(T& x) const { @@ -48,7 +48,7 @@ namespace boost { namespace fusion } #else template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(T&& x) const { @@ -68,7 +68,7 @@ namespace boost { namespace fusion {}; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type operator()(T& x) const { @@ -76,7 +76,7 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename add_reference::type>::type operator()(T const& x) const { @@ -108,7 +108,8 @@ namespace boost { namespace fusion typedef typename result_of::as_vector::type sequence_type; - BOOST_FUSION_GPU_ENABLED explicit nview(Sequence& val) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit nview(Sequence& val) : seq(sequence_type(transform_view_type(val, transform_type()))) {} diff --git a/3party/boost/boost/fusion/view/nview/nview_iterator.hpp b/3party/boost/boost/fusion/view/nview/nview_iterator.hpp index c614cbbb92..aeaf4620b8 100644 --- a/3party/boost/boost/fusion/view/nview/nview_iterator.hpp +++ b/3party/boost/boost/fusion/view/nview/nview_iterator.hpp @@ -42,7 +42,8 @@ namespace boost { namespace fusion typedef Sequence sequence_type; typedef mpl_iterator first_type; - BOOST_FUSION_GPU_ENABLED explicit nview_iterator(Sequence& in_seq) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit nview_iterator(Sequence& in_seq) : seq(in_seq) {} Sequence& seq; @@ -54,6 +55,15 @@ namespace boost { namespace fusion }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::nview_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/view/repetitive_view/detail/begin_impl.hpp b/3party/boost/boost/fusion/view/repetitive_view/detail/begin_impl.hpp index 3da6b21dbf..9a27156c85 100644 --- a/3party/boost/boost/fusion/view/repetitive_view/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/view/repetitive_view/detail/begin_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typedef repetitive_view_iterator::type > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(View const& v) { return type(v.seq); diff --git a/3party/boost/boost/fusion/view/repetitive_view/detail/deref_impl.hpp b/3party/boost/boost/fusion/view/repetitive_view/detail/deref_impl.hpp index c54ff38ef8..c96ef5eba5 100644 --- a/3party/boost/boost/fusion/view/repetitive_view/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/view/repetitive_view/detail/deref_impl.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion result_of::deref::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return *i.pos; diff --git a/3party/boost/boost/fusion/view/repetitive_view/detail/end_impl.hpp b/3party/boost/boost/fusion/view/repetitive_view/detail/end_impl.hpp index ca1c270f95..af1fa6ee44 100644 --- a/3party/boost/boost/fusion/view/repetitive_view/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/view/repetitive_view/detail/end_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typedef repetitive_view_iterator::type > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(View const& v) { return type(v.seq,end(v.seq)); diff --git a/3party/boost/boost/fusion/view/repetitive_view/detail/next_impl.hpp b/3party/boost/boost/fusion/view/repetitive_view/detail/next_impl.hpp index acefd513c0..fab7540814 100644 --- a/3party/boost/boost/fusion/view/repetitive_view/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/view/repetitive_view/detail/next_impl.hpp @@ -42,7 +42,7 @@ namespace boost { namespace fusion > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq, next(i.pos)); @@ -59,7 +59,7 @@ namespace boost { namespace fusion > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i.seq); @@ -80,7 +80,7 @@ namespace boost { namespace fusion typedef Iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { return type(i); diff --git a/3party/boost/boost/fusion/view/repetitive_view/repetitive_view.hpp b/3party/boost/boost/fusion/view/repetitive_view/repetitive_view.hpp index 89678755f4..32718e047e 100644 --- a/3party/boost/boost/fusion/view/repetitive_view/repetitive_view.hpp +++ b/3party/boost/boost/fusion/view/repetitive_view/repetitive_view.hpp @@ -5,7 +5,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(BOOST_FUSION_REPETITIVE_REPETITIVE_VIEW_VIEW_HPP_INCLUDED) +#ifndef BOOST_FUSION_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP_INCLUDED #define BOOST_FUSION_REPETITIVE_VIEW_REPETITIVE_VIEW_HPP_INCLUDED #include @@ -38,7 +38,7 @@ namespace boost { namespace fusion mpl::if_, Sequence, sequence_type&>::type stored_seq_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED repetitive_view(Sequence& in_seq) : seq(in_seq) {} diff --git a/3party/boost/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp b/3party/boost/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp index 7d5d139d66..74cc723e41 100644 --- a/3party/boost/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp +++ b/3party/boost/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED) -#define BOOST_FUSION_REPETITIVE_VIEW_HPP_ITERATOR_INCLUDED +#ifndef BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED +#define BOOST_FUSION_REPETITIVE_VIEW_ITERATOR_HPP_INCLUDED #include #include @@ -36,16 +36,16 @@ namespace boost { namespace fusion typedef typename convert_iterator::type>::type end_type; typedef single_pass_traversal_tag category; - BOOST_FUSION_GPU_ENABLED explicit repetitive_view_iterator(Sequence& in_seq) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit repetitive_view_iterator(Sequence& in_seq) : seq(in_seq), pos(begin(in_seq)) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED repetitive_view_iterator(Sequence& in_seq, pos_type const& in_pos) : seq(in_seq), pos(in_pos) {} Sequence& seq; pos_type pos; - private: // silence MSVC warning C4512: assignment operator could not be generated @@ -53,5 +53,14 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::repetitive_view_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/view/reverse_view/detail/advance_impl.hpp b/3party/boost/boost/fusion/view/reverse_view/detail/advance_impl.hpp index 1304d0a9c2..42b3bd1908 100644 --- a/3party/boost/boost/fusion/view/reverse_view/detail/advance_impl.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/detail/advance_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion { typedef typename result_of::advance::type advanced_type; typedef reverse_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/reverse_view/detail/at_impl.hpp b/3party/boost/boost/fusion/view/reverse_view/detail/at_impl.hpp index ebad8f3524..d1fc7715e8 100644 --- a/3party/boost/boost/fusion/view/reverse_view/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/detail/at_impl.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion { namespace extension result_of::at::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/view/reverse_view/detail/begin_impl.hpp b/3party/boost/boost/fusion/view/reverse_view/detail/begin_impl.hpp index 2f20df57a4..913725ede4 100644 --- a/3party/boost/boost/fusion/view/reverse_view/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/detail/begin_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { typedef reverse_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& s) { diff --git a/3party/boost/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp b/3party/boost/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp index 20d381baba..e93b8fba9c 100644 --- a/3party/boost/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp @@ -26,7 +26,7 @@ namespace boost { namespace fusion { namespace extension result_of::deref_data::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/3party/boost/boost/fusion/view/reverse_view/detail/deref_impl.hpp b/3party/boost/boost/fusion/view/reverse_view/detail/deref_impl.hpp index 530921fe3a..9ea60d812d 100644 --- a/3party/boost/boost/fusion/view/reverse_view/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/detail/deref_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/reverse_view/detail/distance_impl.hpp b/3party/boost/boost/fusion/view/reverse_view/detail/distance_impl.hpp index 3a5fdc6114..49436c26b6 100644 --- a/3party/boost/boost/fusion/view/reverse_view/detail/distance_impl.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/detail/distance_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion { typedef typename Last::first_type last_type; typedef typename result_of::distance::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& first, Last const& last) { diff --git a/3party/boost/boost/fusion/view/reverse_view/detail/end_impl.hpp b/3party/boost/boost/fusion/view/reverse_view/detail/end_impl.hpp index 1747d64f33..06602c0eda 100644 --- a/3party/boost/boost/fusion/view/reverse_view/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/detail/end_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { typedef reverse_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& s) { diff --git a/3party/boost/boost/fusion/view/reverse_view/detail/next_impl.hpp b/3party/boost/boost/fusion/view/reverse_view/detail/next_impl.hpp index 1aaa692023..58c1f5f71a 100644 --- a/3party/boost/boost/fusion/view/reverse_view/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/detail/next_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion typedef reverse_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/reverse_view/detail/prior_impl.hpp b/3party/boost/boost/fusion/view/reverse_view/detail/prior_impl.hpp index 4007ad4d97..69d18501cd 100644 --- a/3party/boost/boost/fusion/view/reverse_view/detail/prior_impl.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/detail/prior_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion typedef reverse_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/reverse_view/reverse_view.hpp b/3party/boost/boost/fusion/view/reverse_view/reverse_view.hpp index 3b134d5f26..0a9aca27f1 100644 --- a/3party/boost/boost/fusion/view/reverse_view/reverse_view.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/reverse_view.hpp @@ -50,14 +50,14 @@ namespace boost { namespace fusion bidirectional_traversal_tag , typename traits::category_of::type>::value)); - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED reverse_view(Sequence& in_seq) : seq(in_seq) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last_type last() const { return fusion::end(seq); } typename mpl::if_, Sequence, Sequence&>::type seq; diff --git a/3party/boost/boost/fusion/view/reverse_view/reverse_view_iterator.hpp b/3party/boost/boost/fusion/view/reverse_view/reverse_view_iterator.hpp index 9de2169ef1..a73e4eeafb 100644 --- a/3party/boost/boost/fusion/view/reverse_view/reverse_view_iterator.hpp +++ b/3party/boost/boost/fusion/view/reverse_view/reverse_view_iterator.hpp @@ -42,7 +42,7 @@ namespace boost { namespace fusion bidirectional_traversal_tag , category>::value)); - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED reverse_view_iterator(First const& in_first) : first(converter::call(in_first)) {} @@ -54,5 +54,14 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::reverse_view_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/view/single_view/detail/advance_impl.hpp b/3party/boost/boost/fusion/view/single_view/detail/advance_impl.hpp index 9dd9e4d712..5af22321b9 100644 --- a/3party/boost/boost/fusion/view/single_view/detail/advance_impl.hpp +++ b/3party/boost/boost/fusion/view/single_view/detail/advance_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion typename mpl::plus::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/single_view/detail/at_impl.hpp b/3party/boost/boost/fusion/view/single_view/detail/at_impl.hpp index b63497c8d2..6c4c7579b6 100644 --- a/3party/boost/boost/fusion/view/single_view/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/view/single_view/detail/at_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion BOOST_MPL_ASSERT((mpl::equal_to >)); typedef typename Sequence::value_type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { diff --git a/3party/boost/boost/fusion/view/single_view/detail/begin_impl.hpp b/3party/boost/boost/fusion/view/single_view/detail/begin_impl.hpp index 63e4292348..d6bca8f6b5 100644 --- a/3party/boost/boost/fusion/view/single_view/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/view/single_view/detail/begin_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion { typedef single_view_iterator > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { diff --git a/3party/boost/boost/fusion/view/single_view/detail/deref_impl.hpp b/3party/boost/boost/fusion/view/single_view/detail/deref_impl.hpp index ad50a41357..acb90d836b 100644 --- a/3party/boost/boost/fusion/view/single_view/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/view/single_view/detail/deref_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion BOOST_MPL_ASSERT((mpl::equal_to >)); typedef typename Iterator::value_type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/single_view/detail/distance_impl.hpp b/3party/boost/boost/fusion/view/single_view/detail/distance_impl.hpp index 73231b4152..9cd85fdc31 100644 --- a/3party/boost/boost/fusion/view/single_view/detail/distance_impl.hpp +++ b/3party/boost/boost/fusion/view/single_view/detail/distance_impl.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion typedef typename mpl::minus::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& /*first*/, Last const& /*last*/) { diff --git a/3party/boost/boost/fusion/view/single_view/detail/end_impl.hpp b/3party/boost/boost/fusion/view/single_view/detail/end_impl.hpp index 50a7c56240..d662ac246b 100644 --- a/3party/boost/boost/fusion/view/single_view/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/view/single_view/detail/end_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion { typedef single_view_iterator > type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& seq) { diff --git a/3party/boost/boost/fusion/view/single_view/detail/next_impl.hpp b/3party/boost/boost/fusion/view/single_view/detail/next_impl.hpp index d5e0ac8037..41c658f322 100644 --- a/3party/boost/boost/fusion/view/single_view/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/view/single_view/detail/next_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typename mpl::next::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/single_view/detail/prior_impl.hpp b/3party/boost/boost/fusion/view/single_view/detail/prior_impl.hpp index c34e481a27..823f96e5a5 100644 --- a/3party/boost/boost/fusion/view/single_view/detail/prior_impl.hpp +++ b/3party/boost/boost/fusion/view/single_view/detail/prior_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion typename mpl::prior::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/single_view/single_view.hpp b/3party/boost/boost/fusion/view/single_view/single_view.hpp index 36c2c931c0..a4437902c1 100644 --- a/3party/boost/boost/fusion/view/single_view/single_view.hpp +++ b/3party/boost/boost/fusion/view/single_view/single_view.hpp @@ -43,18 +43,19 @@ namespace boost { namespace fusion typedef mpl::int_<1> size; typedef T value_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED single_view() : val() {} - BOOST_FUSION_GPU_ENABLED explicit single_view(typename detail::call_param::type in_val) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit single_view(typename detail::call_param::type in_val) : val(in_val) {} value_type val; }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline single_view::type> make_single_view(T const& v) { diff --git a/3party/boost/boost/fusion/view/single_view/single_view_iterator.hpp b/3party/boost/boost/fusion/view/single_view/single_view_iterator.hpp index 128c1cae66..0f3e2744b5 100644 --- a/3party/boost/boost/fusion/view/single_view/single_view_iterator.hpp +++ b/3party/boost/boost/fusion/view/single_view/single_view_iterator.hpp @@ -40,7 +40,8 @@ namespace boost { namespace fusion typedef Pos position; typedef SingleView single_view_type; - BOOST_FUSION_GPU_ENABLED explicit single_view_iterator(single_view_type& in_view) + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + explicit single_view_iterator(single_view_type& in_view) : view(in_view) {} SingleView& view; @@ -50,6 +51,15 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::single_view_iterator > + { }; +} +#endif + #if defined (BOOST_MSVC) # pragma warning(pop) #endif diff --git a/3party/boost/boost/fusion/view/transform_view/detail/advance_impl.hpp b/3party/boost/boost/fusion/view/transform_view/detail/advance_impl.hpp index ae8a84ce63..12dfabec92 100644 --- a/3party/boost/boost/fusion/view/transform_view/detail/advance_impl.hpp +++ b/3party/boost/boost/fusion/view/transform_view/detail/advance_impl.hpp @@ -39,7 +39,7 @@ namespace boost { namespace fusion typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -62,7 +62,7 @@ namespace boost { namespace fusion typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator2 type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/transform_view/detail/at_impl.hpp b/3party/boost/boost/fusion/view/transform_view/detail/at_impl.hpp index 5c6dd8fb0d..d2045bc280 100644 --- a/3party/boost/boost/fusion/view/transform_view/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/view/transform_view/detail/at_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion { typedef typename boost::fusion::result_of::at::type value_type; typedef typename mpl::apply::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return seq.f(boost::fusion::at(seq.seq)); @@ -53,7 +53,7 @@ namespace boost { namespace fusion { typedef typename boost::fusion::result_of::at::type value2_type; typedef typename mpl::apply::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { return seq.f(boost::fusion::at(seq.seq1), boost::fusion::at(seq.seq2)); diff --git a/3party/boost/boost/fusion/view/transform_view/detail/begin_impl.hpp b/3party/boost/boost/fusion/view/transform_view/detail/begin_impl.hpp index 7c40505ae2..da3f763ab1 100644 --- a/3party/boost/boost/fusion/view/transform_view/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/view/transform_view/detail/begin_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion typedef typename Sequence::transform_type transform_type; typedef transform_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { @@ -55,7 +55,7 @@ namespace boost { namespace fusion typedef typename Sequence::transform_type transform_type; typedef transform_view_iterator2 type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/3party/boost/boost/fusion/view/transform_view/detail/deref_impl.hpp b/3party/boost/boost/fusion/view/transform_view/detail/deref_impl.hpp index 35dacbd1d7..646da57c22 100644 --- a/3party/boost/boost/fusion/view/transform_view/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/view/transform_view/detail/deref_impl.hpp @@ -37,7 +37,7 @@ namespace boost { namespace fusion typedef detail::apply_transform_result transform_type; typedef typename mpl::apply::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -63,7 +63,7 @@ namespace boost { namespace fusion typedef detail::apply_transform_result transform_type; typedef typename mpl::apply::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/transform_view/detail/distance_impl.hpp b/3party/boost/boost/fusion/view/transform_view/detail/distance_impl.hpp index ecbc8c5dd0..644430559d 100644 --- a/3party/boost/boost/fusion/view/transform_view/detail/distance_impl.hpp +++ b/3party/boost/boost/fusion/view/transform_view/detail/distance_impl.hpp @@ -29,7 +29,7 @@ namespace boost { namespace fusion { struct apply : result_of::distance { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename result_of::distance::type call(First const& first, Last const& last) @@ -47,7 +47,7 @@ namespace boost { namespace fusion { struct apply : result_of::distance { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename result_of::distance::type call(First const& first, Last const& last) diff --git a/3party/boost/boost/fusion/view/transform_view/detail/end_impl.hpp b/3party/boost/boost/fusion/view/transform_view/detail/end_impl.hpp index 58e161b1f6..3a84e04093 100644 --- a/3party/boost/boost/fusion/view/transform_view/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/view/transform_view/detail/end_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion typedef typename Sequence::transform_type transform_type; typedef transform_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { @@ -55,7 +55,7 @@ namespace boost { namespace fusion typedef typename Sequence::transform_type transform_type; typedef transform_view_iterator2 type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/3party/boost/boost/fusion/view/transform_view/detail/next_impl.hpp b/3party/boost/boost/fusion/view/transform_view/detail/next_impl.hpp index cebba59526..ce22d19edc 100644 --- a/3party/boost/boost/fusion/view/transform_view/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/view/transform_view/detail/next_impl.hpp @@ -38,7 +38,7 @@ namespace boost { namespace fusion typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -61,7 +61,7 @@ namespace boost { namespace fusion typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator2 type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/transform_view/detail/prior_impl.hpp b/3party/boost/boost/fusion/view/transform_view/detail/prior_impl.hpp index 19c802c622..ed6d742eef 100644 --- a/3party/boost/boost/fusion/view/transform_view/detail/prior_impl.hpp +++ b/3party/boost/boost/fusion/view/transform_view/detail/prior_impl.hpp @@ -39,7 +39,7 @@ namespace boost { namespace fusion typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { @@ -62,7 +62,7 @@ namespace boost { namespace fusion typedef typename Iterator::transform_type transform_type; typedef transform_view_iterator2 type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/3party/boost/boost/fusion/view/transform_view/transform_view.hpp b/3party/boost/boost/fusion/view/transform_view/transform_view.hpp index d18f49c61c..4a6fc5b18c 100644 --- a/3party/boost/boost/fusion/view/transform_view/transform_view.hpp +++ b/3party/boost/boost/fusion/view/transform_view/transform_view.hpp @@ -56,20 +56,20 @@ namespace boost { namespace fusion typedef Sequence2 sequence2_type; typedef F transform_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view(Sequence1& in_seq1, Sequence2& in_seq2, F const& binop) : f(binop) , seq1(in_seq1) , seq2(in_seq2) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first1_type first1() const { return fusion::begin(seq1); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first2_type first2() const { return fusion::begin(seq2); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last1_type last1() const { return fusion::end(seq1); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last2_type last2() const { return fusion::end(seq2); } transform_type f; @@ -100,15 +100,15 @@ namespace boost { namespace fusion typedef Sequence sequence_type; typedef F transform_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view(Sequence& in_seq, F const& in_f) : seq(in_seq) , f(in_f) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last_type last() const { return fusion::end(seq); } typename mpl::if_, Sequence, Sequence&>::type seq; transform_type f; diff --git a/3party/boost/boost/fusion/view/transform_view/transform_view_iterator.hpp b/3party/boost/boost/fusion/view/transform_view/transform_view_iterator.hpp index 0762228fca..ab40bd748f 100644 --- a/3party/boost/boost/fusion/view/transform_view/transform_view_iterator.hpp +++ b/3party/boost/boost/fusion/view/transform_view/transform_view_iterator.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typedef typename traits::category_of::type category; typedef F transform_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view_iterator(First const& in_first, F const& in_f) : first(converter::call(in_first)), f(in_f) {} @@ -62,7 +62,7 @@ namespace boost { namespace fusion typedef typename traits::category_of::type category; typedef F transform_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view_iterator2(First1 const& in_first1, First2 const& in_first2, F const& in_f) : first1(converter1::call(in_first1)), first2(converter2::call(in_first2)), f(in_f) {} @@ -76,5 +76,17 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::transform_view_iterator > + { }; + template + struct iterator_traits< ::boost::fusion::transform_view_iterator2 > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/fusion/view/zip_view/detail/advance_impl.hpp b/3party/boost/boost/fusion/view/zip_view/detail/advance_impl.hpp index 17012ac8b6..69134d949f 100644 --- a/3party/boost/boost/fusion/view/zip_view/detail/advance_impl.hpp +++ b/3party/boost/boost/fusion/view/zip_view/detail/advance_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion { }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(const It& it) const { @@ -57,7 +57,7 @@ namespace boost { namespace fusion { typedef zip_view_iterator< typename result_of::transform >::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/3party/boost/boost/fusion/view/zip_view/detail/at_impl.hpp b/3party/boost/boost/fusion/view/zip_view/detail/at_impl.hpp index f92c981725..55c0fef177 100644 --- a/3party/boost/boost/fusion/view/zip_view/detail/at_impl.hpp +++ b/3party/boost/boost/fusion/view/zip_view/detail/at_impl.hpp @@ -44,7 +44,7 @@ namespace boost { namespace fusion }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq& seq) const { @@ -52,14 +52,14 @@ namespace boost { namespace fusion } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq const& seq) const { return fusion::at(seq); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); @@ -82,7 +82,7 @@ namespace boost { namespace fusion typename result_of::transform< typename Seq::sequences, detail::poly_at >::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/3party/boost/boost/fusion/view/zip_view/detail/begin_impl.hpp b/3party/boost/boost/fusion/view/zip_view/detail/begin_impl.hpp index 32be2c7d33..75e1375134 100644 --- a/3party/boost/boost/fusion/view/zip_view/detail/begin_impl.hpp +++ b/3party/boost/boost/fusion/view/zip_view/detail/begin_impl.hpp @@ -41,7 +41,7 @@ namespace boost { namespace fusion { }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq& seq) const { @@ -49,14 +49,14 @@ namespace boost { namespace fusion { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq const& seq) const { return fusion::begin(seq); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); @@ -79,7 +79,7 @@ namespace boost { namespace fusion { typename result_of::transform::type, typename Sequence::category> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& sequence) { diff --git a/3party/boost/boost/fusion/view/zip_view/detail/deref_impl.hpp b/3party/boost/boost/fusion/view/zip_view/detail/deref_impl.hpp index e9f091c3b5..df7e91ae12 100644 --- a/3party/boost/boost/fusion/view/zip_view/detail/deref_impl.hpp +++ b/3party/boost/boost/fusion/view/zip_view/detail/deref_impl.hpp @@ -43,14 +43,14 @@ namespace boost { namespace fusion { }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(const It& it) const { return fusion::deref(it); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); @@ -72,7 +72,7 @@ namespace boost { namespace fusion { typedef typename result_of::as_vector< typename result_of::transform::type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/3party/boost/boost/fusion/view/zip_view/detail/distance_impl.hpp b/3party/boost/boost/fusion/view/zip_view/detail/distance_impl.hpp index 8beaccca44..f306e1b4a3 100644 --- a/3party/boost/boost/fusion/view/zip_view/detail/distance_impl.hpp +++ b/3party/boost/boost/fusion/view/zip_view/detail/distance_impl.hpp @@ -70,7 +70,7 @@ namespace boost { namespace fusion { struct apply : detail::zip_view_iterator_distance::type { - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static typename detail::zip_view_iterator_distance::type call(It1 const& /*it1*/, It2 const& /*it2*/) { diff --git a/3party/boost/boost/fusion/view/zip_view/detail/end_impl.hpp b/3party/boost/boost/fusion/view/zip_view/detail/end_impl.hpp index d57b08fbd7..28549cb7d9 100644 --- a/3party/boost/boost/fusion/view/zip_view/detail/end_impl.hpp +++ b/3party/boost/boost/fusion/view/zip_view/detail/end_impl.hpp @@ -55,7 +55,7 @@ namespace boost { namespace fusion { }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq& seq) const { @@ -63,14 +63,14 @@ namespace boost { namespace fusion { } template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(Seq const& seq) const { return fusion::advance(fusion::begin(seq)); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); @@ -93,7 +93,7 @@ namespace boost { namespace fusion { typename result_of::transform >::type, typename Sequence::category> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& sequence) { diff --git a/3party/boost/boost/fusion/view/zip_view/detail/next_impl.hpp b/3party/boost/boost/fusion/view/zip_view/detail/next_impl.hpp index e9236b4200..4bcd90a5a5 100644 --- a/3party/boost/boost/fusion/view/zip_view/detail/next_impl.hpp +++ b/3party/boost/boost/fusion/view/zip_view/detail/next_impl.hpp @@ -42,14 +42,14 @@ namespace boost { namespace fusion { }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(const It& it) const { return fusion::next(it); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); @@ -72,7 +72,7 @@ namespace boost { namespace fusion { typename result_of::transform::type, typename Iterator::category> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) { diff --git a/3party/boost/boost/fusion/view/zip_view/detail/prior_impl.hpp b/3party/boost/boost/fusion/view/zip_view/detail/prior_impl.hpp index aa69229565..655b509237 100644 --- a/3party/boost/boost/fusion/view/zip_view/detail/prior_impl.hpp +++ b/3party/boost/boost/fusion/view/zip_view/detail/prior_impl.hpp @@ -41,14 +41,14 @@ namespace boost { namespace fusion { }; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED typename result::type operator()(const It& it) const { return fusion::prior(it); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED unused_type operator()(unused_type const&) const { return unused_type(); @@ -71,7 +71,7 @@ namespace boost { namespace fusion { typename result_of::transform::type, typename Iterator::category> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& it) diff --git a/3party/boost/boost/fusion/view/zip_view/zip_view.hpp b/3party/boost/boost/fusion/view/zip_view/zip_view.hpp index 4e807f732b..cf6f6d2716 100644 --- a/3party/boost/boost/fusion/view/zip_view/zip_view.hpp +++ b/3party/boost/boost/fusion/view/zip_view/zip_view.hpp @@ -122,7 +122,7 @@ namespace boost { namespace fusion { typedef typename fusion::result_of::as_vector::type sequences; typedef typename detail::min_size::type size; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED zip_view( const Sequences& seqs) : sequences_(seqs) diff --git a/3party/boost/boost/fusion/view/zip_view/zip_view_iterator.hpp b/3party/boost/boost/fusion/view/zip_view/zip_view_iterator.hpp index fec50e6f18..cf2d763011 100644 --- a/3party/boost/boost/fusion/view/zip_view/zip_view_iterator.hpp +++ b/3party/boost/boost/fusion/view/zip_view/zip_view_iterator.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion { typedef Traversal category; template - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED zip_view_iterator( const InitSeq& iterator_seq) : iterators_(iterator_seq) @@ -46,4 +46,13 @@ namespace boost { namespace fusion { }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template + struct iterator_traits< ::boost::fusion::zip_view_iterator > + { }; +} +#endif + #endif diff --git a/3party/boost/boost/generator_iterator.hpp b/3party/boost/boost/generator_iterator.hpp index ebf478b25b..0fe1569c5a 100644 --- a/3party/boost/boost/generator_iterator.hpp +++ b/3party/boost/boost/generator_iterator.hpp @@ -17,6 +17,7 @@ #include namespace boost { +namespace iterators { template class generator_iterator @@ -33,7 +34,7 @@ class generator_iterator , single_pass_traversal_tag , typename Generator::result_type const& > super_t; - + public: generator_iterator() {} generator_iterator(Generator* g) : m_g(g), m_value((*m_g)()) {} @@ -73,8 +74,12 @@ make_generator_iterator(Generator & gen) return result_t(&gen); } +} // namespace iterators + +using iterators::generator_iterator; +using iterators::generator_iterator_generator; +using iterators::make_generator_iterator; + } // namespace boost - #endif // BOOST_ITERATOR_ADAPTOR_GENERATOR_ITERATOR_HPP - diff --git a/3party/boost/boost/geometry/algorithms/append.hpp b/3party/boost/boost/geometry/algorithms/append.hpp index 6ffb5f9587..894f52c68b 100644 --- a/3party/boost/boost/geometry/algorithms/append.hpp +++ b/3party/boost/boost/geometry/algorithms/append.hpp @@ -327,7 +327,7 @@ struct append > int ring_index, int multi_index) { - apply_visitor( + boost::apply_visitor( visitor( range_or_point, ring_index, diff --git a/3party/boost/boost/geometry/algorithms/assign.hpp b/3party/boost/boost/geometry/algorithms/assign.hpp index 2f325448ad..b17e305f2a 100644 --- a/3party/boost/boost/geometry/algorithms/assign.hpp +++ b/3party/boost/boost/geometry/algorithms/assign.hpp @@ -281,7 +281,7 @@ struct assign, Geometry2> apply(variant& geometry1, Geometry2 const& geometry2) { - return apply_visitor(visitor(geometry2), geometry1); + return boost::apply_visitor(visitor(geometry2), geometry1); } }; @@ -313,7 +313,7 @@ struct assign > apply(Geometry1& geometry1, variant const& geometry2) { - return apply_visitor(visitor(geometry1), geometry2); + return boost::apply_visitor(visitor(geometry1), geometry2); } }; @@ -341,7 +341,7 @@ struct assign, variant& geometry1, variant const& geometry2) { - return apply_visitor(visitor(), geometry1, geometry2); + return boost::apply_visitor(visitor(), geometry1, geometry2); } }; diff --git a/3party/boost/boost/geometry/algorithms/buffer.hpp b/3party/boost/boost/geometry/algorithms/buffer.hpp index 16db8578d9..e776072a2f 100644 --- a/3party/boost/boost/geometry/algorithms/buffer.hpp +++ b/3party/boost/boost/geometry/algorithms/buffer.hpp @@ -271,8 +271,8 @@ inline void buffer(GeometryIn const& geometry_in, } model::box box; - envelope(geometry_in, box); - buffer(box, box, distance_strategy.max_distance(join_strategy, end_strategy)); + geometry::envelope(geometry_in, box); + geometry::buffer(box, box, distance_strategy.max_distance(join_strategy, end_strategy)); rescale_policy_type rescale_policy = boost::geometry::get_rescale_policy(box); diff --git a/3party/boost/boost/geometry/algorithms/centroid.hpp b/3party/boost/boost/geometry/algorithms/centroid.hpp index 329c2fd675..1b99ab2ef3 100644 --- a/3party/boost/boost/geometry/algorithms/centroid.hpp +++ b/3party/boost/boost/geometry/algorithms/centroid.hpp @@ -624,7 +624,7 @@ inline void centroid(Geometry const& geometry, Point& c, template inline void centroid(Geometry const& geometry, Point& c) { - centroid(geometry, c, default_strategy()); + geometry::centroid(geometry, c, default_strategy()); } @@ -643,7 +643,7 @@ template inline Point return_centroid(Geometry const& geometry) { Point c; - centroid(geometry, c); + geometry::centroid(geometry, c); return c; } @@ -666,7 +666,7 @@ template inline Point return_centroid(Geometry const& geometry, Strategy const& strategy) { Point c; - centroid(geometry, c, strategy); + geometry::centroid(geometry, c, strategy); return c; } diff --git a/3party/boost/boost/geometry/algorithms/clear.hpp b/3party/boost/boost/geometry/algorithms/clear.hpp index 22b61e7c30..54b2162767 100644 --- a/3party/boost/boost/geometry/algorithms/clear.hpp +++ b/3party/boost/boost/geometry/algorithms/clear.hpp @@ -162,7 +162,7 @@ struct clear > static inline void apply(variant& geometry) { - apply_visitor(visitor(), geometry); + boost::apply_visitor(visitor(), geometry); } }; diff --git a/3party/boost/boost/geometry/algorithms/convert.hpp b/3party/boost/boost/geometry/algorithms/convert.hpp index 5d68854a45..78618aed2d 100644 --- a/3party/boost/boost/geometry/algorithms/convert.hpp +++ b/3party/boost/boost/geometry/algorithms/convert.hpp @@ -522,7 +522,7 @@ struct convert, Geometry2> Geometry2& geometry2 ) { - apply_visitor(visitor(geometry2), geometry1); + boost::apply_visitor(visitor(geometry2), geometry1); } }; diff --git a/3party/boost/boost/geometry/algorithms/convex_hull.hpp b/3party/boost/boost/geometry/algorithms/convex_hull.hpp index 9d07387002..71c18bb5f3 100644 --- a/3party/boost/boost/geometry/algorithms/convex_hull.hpp +++ b/3party/boost/boost/geometry/algorithms/convex_hull.hpp @@ -327,7 +327,7 @@ template inline void convex_hull(Geometry const& geometry, OutputGeometry& hull) { - convex_hull(geometry, hull, default_strategy()); + geometry::convex_hull(geometry, hull, default_strategy()); } #ifndef DOXYGEN_NO_DETAIL diff --git a/3party/boost/boost/geometry/algorithms/crosses.hpp b/3party/boost/boost/geometry/algorithms/crosses.hpp index 7c80700020..9546a5335b 100644 --- a/3party/boost/boost/geometry/algorithms/crosses.hpp +++ b/3party/boost/boost/geometry/algorithms/crosses.hpp @@ -88,18 +88,17 @@ namespace resolve_variant Geometry2 const& m_geometry2; visitor(Geometry2 const& geometry2) - : m_geometry2(geometry2) + : m_geometry2(geometry2) {} template result_type operator()(Geometry1 const& geometry1) const { return crosses - < - Geometry1, - Geometry2 - >::apply - (geometry1, m_geometry2); + < + Geometry1, + Geometry2 + >::apply(geometry1, m_geometry2); } }; @@ -107,7 +106,7 @@ namespace resolve_variant apply(variant const& geometry1, Geometry2 const& geometry2) { - return apply_visitor(visitor(geometry2), geometry1); + return boost::apply_visitor(visitor(geometry2), geometry1); } }; @@ -120,27 +119,25 @@ namespace resolve_variant Geometry1 const& m_geometry1; visitor(Geometry1 const& geometry1) - : m_geometry1(geometry1) + : m_geometry1(geometry1) {} template result_type operator()(Geometry2 const& geometry2) const { return crosses - < - Geometry1, - Geometry2 - >::apply - (m_geometry1, geometry2); + < + Geometry1, + Geometry2 + >::apply(m_geometry1, geometry2); } }; static inline bool - apply( - Geometry1 const& geometry1, + apply(Geometry1 const& geometry1, const variant& geometry2) { - return apply_visitor(visitor(geometry1), geometry2); + return boost::apply_visitor(visitor(geometry1), geometry2); } }; @@ -151,25 +148,22 @@ namespace resolve_variant struct visitor: static_visitor { template - result_type operator()( - Geometry1 const& geometry1, + result_type operator()(Geometry1 const& geometry1, Geometry2 const& geometry2) const { return crosses - < - Geometry1, - Geometry2 - >::apply - (geometry1, geometry2); + < + Geometry1, + Geometry2 + >::apply(geometry1, geometry2); } }; static inline bool - apply( - const variant& geometry1, + apply(const variant& geometry1, const variant& geometry2) { - return apply_visitor(visitor(), geometry1, geometry2); + return boost::apply_visitor(visitor(), geometry1, geometry2); } }; diff --git a/3party/boost/boost/geometry/algorithms/detail/andoyer_inverse.hpp b/3party/boost/boost/geometry/algorithms/detail/andoyer_inverse.hpp index c806aeec1a..eb8485b8e1 100644 --- a/3party/boost/boost/geometry/algorithms/detail/andoyer_inverse.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/andoyer_inverse.hpp @@ -17,9 +17,11 @@ #include #include +#include #include #include +#include namespace boost { namespace geometry { namespace detail @@ -34,28 +36,28 @@ namespace boost { namespace geometry { namespace detail - Technical Report: PAUL D. THOMAS, SPHEROIDAL GEODESICS, REFERENCE SYSTEMS, AND LOCAL GEOMETRY, 1970 http://www.dtic.mil/docs/citations/AD703541 */ -template -class andoyer_inverse + +template +struct andoyer_inverse { -public: + typedef result_inverse result_type; + template - andoyer_inverse(T1 const& lon1, - T1 const& lat1, - T2 const& lon2, - T2 const& lat2, - Spheroid const& spheroid) - : m_a(get_radius<0>(spheroid)) - , m_b(get_radius<2>(spheroid)) - , m_f(detail::flattening(spheroid)) - , m_is_result_zero(false) + static inline result_type apply(T1 const& lon1, + T1 const& lat1, + T2 const& lon2, + T2 const& lat2, + Spheroid const& spheroid) { + result_type result; + // coordinates in radians if ( math::equals(lon1, lon2) && math::equals(lat1, lat2) ) { - m_is_result_zero = true; - return; + result.set(CT(0), CT(0)); + return result; } CT const pi_half = math::pi() / CT(2); @@ -63,109 +65,96 @@ public: if ( math::equals(math::abs(lat1), pi_half) && math::equals(math::abs(lat2), pi_half) ) { - m_is_result_zero = true; - return; + result.set(CT(0), CT(0)); + return result; } CT const dlon = lon2 - lon1; - m_sin_dlon = sin(dlon); - m_cos_dlon = cos(dlon); - m_sin_lat1 = sin(lat1); - m_cos_lat1 = cos(lat1); - m_sin_lat2 = sin(lat2); - m_cos_lat2 = cos(lat2); + CT const sin_dlon = sin(dlon); + CT const cos_dlon = cos(dlon); + CT const sin_lat1 = sin(lat1); + CT const cos_lat1 = cos(lat1); + CT const sin_lat2 = sin(lat2); + CT const cos_lat2 = cos(lat2); // H,G,T = infinity if cos_d = 1 or cos_d = -1 // lat1 == +-90 && lat2 == +-90 // lat1 == lat2 && lon1 == lon2 - m_cos_d = m_sin_lat1*m_sin_lat2 + m_cos_lat1*m_cos_lat2*m_cos_dlon; - m_d = acos(m_cos_d); - m_sin_d = sin(m_d); + CT const cos_d = sin_lat1*sin_lat2 + cos_lat1*cos_lat2*cos_dlon; + CT const d = acos(cos_d); + CT const sin_d = sin(d); // just in case since above lat1 and lat2 is checked // the check below is equal to cos_d == 1 || cos_d == -1 || d == 0 - if ( math::equals(m_sin_d, CT(0)) ) + if ( math::equals(sin_d, CT(0)) ) { - m_is_result_zero = true; - return; - } - } - - inline CT distance() const - { - if ( m_is_result_zero ) - { - // TODO return some approximated value - return CT(0); + result.set(CT(0), CT(0)); + return result; } - CT const K = math::sqr(m_sin_lat1-m_sin_lat2); - CT const L = math::sqr(m_sin_lat1+m_sin_lat2); - CT const three_sin_d = CT(3) * m_sin_d; - // H or G = infinity if cos_d = 1 or cos_d = -1 - CT const H = (m_d+three_sin_d)/(CT(1)-m_cos_d); - CT const G = (m_d-three_sin_d)/(CT(1)+m_cos_d); - - // for e.g. lat1=-90 && lat2=90 here we have G*L=INF*0 - CT const dd = -(m_f/CT(4))*(H*K+G*L); - - return m_a * (m_d + dd); - } - - inline CT azimuth() const - { - // it's a situation when the endpoints are on the poles +-90 deg + // if the function returned before this place + // and endpoints were on the poles +-90 deg // in this case the azimuth could either be 0 or +-pi - if ( m_is_result_zero ) + + CT const f = detail::flattening(spheroid); + + if ( BOOST_GEOMETRY_CONDITION(EnableDistance) ) { - return CT(0); + CT const K = math::sqr(sin_lat1-sin_lat2); + CT const L = math::sqr(sin_lat1+sin_lat2); + CT const three_sin_d = CT(3) * sin_d; + // H or G = infinity if cos_d = 1 or cos_d = -1 + CT const H = (d+three_sin_d)/(CT(1)-cos_d); + CT const G = (d-three_sin_d)/(CT(1)+cos_d); + + // for e.g. lat1=-90 && lat2=90 here we have G*L=INF*0 + CT const dd = -(f/CT(4))*(H*K+G*L); + + CT const a = get_radius<0>(spheroid); + + result.distance = a * (d + dd); + } + else + { + result.distance = CT(0); } - CT A = CT(0); - CT U = CT(0); - if ( ! math::equals(m_cos_lat2, CT(0)) ) + if ( BOOST_GEOMETRY_CONDITION(EnableAzimuth) ) { - CT const tan_lat2 = m_sin_lat2/m_cos_lat2; - CT const M = m_cos_lat1*tan_lat2-m_sin_lat1*m_cos_dlon; - A = atan2(m_sin_dlon, M); - CT const sin_2A = sin(CT(2)*A); - U = (m_f/CT(2))*math::sqr(m_cos_lat1)*sin_2A; + CT A = CT(0); + CT U = CT(0); + if ( ! math::equals(cos_lat2, CT(0)) ) + { + CT const tan_lat2 = sin_lat2/cos_lat2; + CT const M = cos_lat1*tan_lat2-sin_lat1*cos_dlon; + A = atan2(sin_dlon, M); + CT const sin_2A = sin(CT(2)*A); + U = (f/CT(2))*math::sqr(cos_lat1)*sin_2A; + } + + CT V = CT(0); + if ( ! math::equals(cos_lat1, CT(0)) ) + { + CT const tan_lat1 = sin_lat1/cos_lat1; + CT const N = cos_lat2*tan_lat1-sin_lat2*cos_dlon; + CT const B = atan2(sin_dlon, N); + CT const sin_2B = sin(CT(2)*B); + V = (f/CT(2))*math::sqr(cos_lat2)*sin_2B; + } + + // infinity if sin_d = 0, so cos_d = 1 or cos_d = -1 + CT const T = d / sin_d; + CT const dA = V*T-U; + + result.azimuth = A - dA; + } + else + { + result.azimuth = CT(0); } - CT V = CT(0); - if ( ! math::equals(m_cos_lat1, CT(0)) ) - { - CT const tan_lat1 = m_sin_lat1/m_cos_lat1; - CT const N = m_cos_lat2*tan_lat1-m_sin_lat2*m_cos_dlon; - CT const B = atan2(m_sin_dlon, N); - CT const sin_2B = sin(CT(2)*B); - V = (m_f/CT(2))*math::sqr(m_cos_lat2)*sin_2B; - } - - // infinity if sin_d = 0, so cos_d = 1 or cos_d = -1 - CT const T = m_d / m_sin_d; - CT const dA = V*T-U; - - return A - dA; + return result; } - -private: - CT const m_a; - CT const m_b; - CT const m_f; - - CT m_sin_dlon; - CT m_cos_dlon; - CT m_sin_lat1; - CT m_cos_lat1; - CT m_sin_lat2; - CT m_cos_lat2; - - CT m_cos_d; - CT m_d; - CT m_sin_d; - - bool m_is_result_zero; }; }}} // namespace boost::geometry::detail diff --git a/3party/boost/boost/geometry/algorithms/detail/azimuth.hpp b/3party/boost/boost/geometry/algorithms/detail/azimuth.hpp index 3e9c398f7d..f0a8d65c86 100644 --- a/3party/boost/boost/geometry/algorithms/detail/azimuth.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/azimuth.hpp @@ -49,10 +49,10 @@ struct azimuth template static inline ReturnType apply(P1 const& p1, P2 const& p2, Spheroid const& spheroid) { - return geometry::detail::vincenty_inverse + return geometry::detail::vincenty_inverse ( get_as_radian<0>(p1), get_as_radian<1>(p1), get_as_radian<0>(p2), get_as_radian<1>(p2), - spheroid ).azimuth(); + spheroid ).azimuth; } template diff --git a/3party/boost/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp b/3party/boost/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp index d08c704fa8..b25bcc7fb5 100644 --- a/3party/boost/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/buffer/buffer_inserter.hpp @@ -512,7 +512,7 @@ struct buffer_inserter typename PointStrategy, typename RobustPolicy > - static inline void apply(RingInput const& ring, + static inline strategy::buffer::result_code apply(RingInput const& ring, Collection& collection, DistanceStrategy const& distance, SideStrategy const& side_strategy, @@ -559,6 +559,7 @@ struct buffer_inserter collection, distance, point_strategy ); } + return code; } }; @@ -648,7 +649,7 @@ struct buffer_inserter typename PointStrategy, typename RobustPolicy > - static inline void apply(Linestring const& linestring, Collection& collection, + static inline strategy::buffer::result_code apply(Linestring const& linestring, Collection& collection, DistanceStrategy const& distance, SideStrategy const& side_strategy, JoinStrategy const& join_strategy, @@ -690,6 +691,7 @@ struct buffer_inserter collection, distance, point_strategy ); } + return code; } }; @@ -733,9 +735,16 @@ private: for (Iterator it = begin; it != end; ++it) { collection.start_new_ring(); - policy::apply(*it, collection, distance, side_strategy, + strategy::buffer::result_code const code + = policy::apply(*it, collection, distance, side_strategy, join_strategy, end_strategy, point_strategy, robust_policy); + + if (code == strategy::buffer::result_error_numerical) + { + collection.abort_ring(); + return; + } collection.finish_ring(is_interior); } } @@ -789,11 +798,21 @@ public: { { collection.start_new_ring(); - policy::apply(exterior_ring(polygon), collection, + + strategy::buffer::result_code const code + = policy::apply(exterior_ring(polygon), collection, distance, side_strategy, join_strategy, end_strategy, point_strategy, robust_policy); - collection.finish_ring(false, geometry::num_interior_rings(polygon) > 0u); + + if (code == strategy::buffer::result_error_numerical) + { + collection.abort_ring(); + } + else + { + collection.finish_ring(false, geometry::num_interior_rings(polygon) > 0u); + } } apply_interior_rings(interior_rings(polygon), diff --git a/3party/boost/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp b/3party/boost/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp index 380fbe67d8..255ac797dc 100644 --- a/3party/boost/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/buffer/buffer_policies.hpp @@ -9,7 +9,9 @@ #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_BUFFER_BUFFER_POLICIES_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_BUFFER_BUFFER_POLICIES_HPP -#define BOOST_GEOMETRY_BUFFER_USE_SIDE_OF_INTERSECTION +#if ! defined(BOOST_GEOMETRY_NO_ROBUSTNESS) +# define BOOST_GEOMETRY_BUFFER_USE_SIDE_OF_INTERSECTION +#endif #include diff --git a/3party/boost/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp b/3party/boost/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp index 46a7c0f7ab..545d89cb9b 100644 --- a/3party/boost/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/buffer/buffered_piece_collection.hpp @@ -799,6 +799,29 @@ struct buffered_piece_collection m_first_piece_index = static_cast(boost::size(m_pieces)); } + inline void abort_ring() + { + // Remove all created pieces for this ring, sections, last offsetted + while (! m_pieces.empty() + && m_pieces.back().first_seg_id.multi_index + == current_segment_id.multi_index) + { + m_pieces.erase(m_pieces.end() - 1); + } + + while (! monotonic_sections.empty() + && monotonic_sections.back().ring_id.multi_index + == current_segment_id.multi_index) + { + monotonic_sections.erase(monotonic_sections.end() - 1); + } + + offsetted_rings.erase(offsetted_rings.end() - 1); + current_robust_ring.clear(); + + m_first_piece_index = -1; + } + inline void update_closing_point() { BOOST_GEOMETRY_ASSERT(! offsetted_rings.empty()); @@ -979,8 +1002,7 @@ struct buffered_piece_collection return; } - geometry::detail::envelope::envelope_range<>::apply(pc.robust_ring, - pc.robust_envelope); + geometry::envelope(pc.robust_ring, pc.robust_envelope); geometry::assign_inverse(pc.robust_offsetted_envelope); for (signed_size_type i = 0; i < pc.offsetted_count; i++) diff --git a/3party/boost/boost/geometry/algorithms/detail/comparable_distance/interface.hpp b/3party/boost/boost/geometry/algorithms/detail/comparable_distance/interface.hpp index c443a54e58..86eec4c036 100644 --- a/3party/boost/boost/geometry/algorithms/detail/comparable_distance/interface.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/comparable_distance/interface.hpp @@ -164,7 +164,7 @@ struct comparable_distance Geometry2 const& geometry2, Strategy const& strategy) { - return apply_visitor(visitor(geometry2, strategy), geometry1); + return boost::apply_visitor(visitor(geometry2, strategy), geometry1); } }; @@ -225,7 +225,7 @@ struct comparable_distance boost::variant const& geometry2, Strategy const& strategy) { - return apply_visitor(visitor(geometry1, strategy), geometry2); + return boost::apply_visitor(visitor(geometry1, strategy), geometry2); } }; @@ -287,7 +287,7 @@ struct comparable_distance boost::variant const& geometry2, Strategy const& strategy) { - return apply_visitor(visitor(strategy), geometry1, geometry2); + return boost::apply_visitor(visitor(strategy), geometry1, geometry2); } }; @@ -353,7 +353,7 @@ comparable_distance(Geometry1 const& geometry1, Geometry2 const& geometry2) concept::check(); concept::check(); - return comparable_distance(geometry1, geometry2, default_strategy()); + return geometry::comparable_distance(geometry1, geometry2, default_strategy()); } diff --git a/3party/boost/boost/geometry/algorithms/detail/disjoint/interface.hpp b/3party/boost/boost/geometry/algorithms/detail/disjoint/interface.hpp index 96d6881296..18c010731e 100644 --- a/3party/boost/boost/geometry/algorithms/detail/disjoint/interface.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/disjoint/interface.hpp @@ -175,7 +175,7 @@ struct disjoint< */ template inline bool disjoint(Geometry1 const& geometry1, - Geometry2 const& geometry2) + Geometry2 const& geometry2) { return resolve_variant::disjoint::apply(geometry1, geometry2); } diff --git a/3party/boost/boost/geometry/algorithms/detail/distance/interface.hpp b/3party/boost/boost/geometry/algorithms/detail/distance/interface.hpp index fa8cbd69ee..1e7cc433ef 100644 --- a/3party/boost/boost/geometry/algorithms/detail/distance/interface.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/distance/interface.hpp @@ -198,7 +198,7 @@ struct distance, Geometry2> Geometry2 const& geometry2, Strategy const& strategy) { - return apply_visitor(visitor(geometry2, strategy), geometry1); + return boost::apply_visitor(visitor(geometry2, strategy), geometry1); } }; @@ -253,7 +253,7 @@ struct distance > const variant& geometry2, Strategy const& strategy) { - return apply_visitor(visitor(geometry1, strategy), geometry2); + return boost::apply_visitor(visitor(geometry1, strategy), geometry2); } }; @@ -312,7 +312,7 @@ struct distance boost::variant const& geometry2, Strategy const& strategy) { - return apply_visitor(visitor(strategy), geometry1, geometry2); + return boost::apply_visitor(visitor(strategy), geometry1, geometry2); } }; @@ -395,7 +395,7 @@ distance(Geometry1 const& geometry1, concept::check(); concept::check(); - return distance(geometry1, geometry2, default_strategy()); + return geometry::distance(geometry1, geometry2, default_strategy()); } }} // namespace boost::geometry diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/box.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/box.hpp index 0b3f177093..3790262948 100644 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/box.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/box.hpp @@ -9,25 +9,25 @@ // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_BOX_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_BOX_HPP +#include + #include +#include #include #include -#include +#include -#include -#include +#include #include +#include #include @@ -40,37 +40,97 @@ namespace detail { namespace envelope { -struct envelope_box_on_spheroid +template +< + std::size_t Index, + std::size_t Dimension, + std::size_t DimensionCount +> +struct envelope_indexed_box { - template + template static inline void apply(BoxIn const& box_in, BoxOut& mbr) { - BoxIn box_in_normalized = detail::return_normalized(box_in); + detail::indexed_point_view box_in_corner(box_in); + detail::indexed_point_view mbr_corner(mbr); - geometry::transform(box_in_normalized, mbr); + detail::conversion::point_to_point + < + detail::indexed_point_view, + detail::indexed_point_view, + Dimension, + DimensionCount + >::apply(box_in_corner, mbr_corner); + } +}; + +template +< + std::size_t Index, + std::size_t DimensionCount +> +struct envelope_indexed_box_on_spheroid +{ + template + static inline void apply(BoxIn const& box_in, BoxOut& mbr) + { + // transform() does not work with boxes of dimension higher + // than 2; to account for such boxes we transform the min/max + // points of the boxes using the indexed_point_view + detail::indexed_point_view box_in_corner(box_in); + detail::indexed_point_view mbr_corner(mbr); + + // first transform the units + transform_units(box_in_corner, mbr_corner); + + // now transform the remaining coordinates + detail::conversion::point_to_point + < + detail::indexed_point_view, + detail::indexed_point_view, + 2, + DimensionCount + >::apply(box_in_corner, mbr_corner); } }; -template struct envelope_box { template static inline void apply(BoxIn const& box_in, BoxOut& mbr) { - geometry::convert(box_in, mbr); + envelope_indexed_box + < + min_corner, 0, dimension::value + >::apply(box_in, mbr); + + envelope_indexed_box + < + max_corner, 0, dimension::value + >::apply(box_in, mbr); } }; -template <> -struct envelope_box - : envelope_box_on_spheroid -{}; -template <> -struct envelope_box - : envelope_box_on_spheroid -{}; +struct envelope_box_on_spheroid +{ + template + static inline void apply(BoxIn const& box_in, BoxOut& mbr) + { + BoxIn box_in_normalized = detail::return_normalized(box_in); + + envelope_indexed_box_on_spheroid + < + min_corner, dimension::value + >::apply(box_in_normalized, mbr); + + envelope_indexed_box_on_spheroid + < + max_corner, dimension::value + >::apply(box_in_normalized, mbr); + } +}; }} // namespace detail::envelope @@ -81,14 +141,26 @@ namespace dispatch { +template +struct envelope + : detail::envelope::envelope_box +{}; + + template -struct envelope - : detail::envelope::envelope_box::type> +struct envelope + : detail::envelope::envelope_box_on_spheroid +{}; + + +template +struct envelope + : detail::envelope::envelope_box_on_spheroid {}; } // namespace dispatch -#endif +#endif // DOXYGEN_NO_DISPATCH }} // namespace boost::geometry diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/implementation.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/implementation.hpp index c88adac7a6..c1dbf8e589 100644 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/implementation.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/implementation.hpp @@ -12,21 +12,21 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_IMPLEMENTATION_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_IMPLEMENTATION_HPP #include +#include #include -#include +#include #include -#include -#include +#include #include #include #include @@ -43,27 +43,28 @@ namespace detail { namespace envelope { -struct exterior_ring_expand_policy -{ - template - static inline void apply(Box& mbr, Geometry const& geometry) - { - Box ring_mbr; - envelope_range<>::apply(exterior_ring(geometry), ring_mbr); - geometry::expand(mbr, ring_mbr); - } -}; - - struct envelope_polygon { template - static inline void apply(Polygon const& poly, Box& mbr) + static inline void apply(Polygon const& polygon, Box& mbr) { - // For polygon, inspecting outer ring is sufficient - envelope_range<>::apply(exterior_ring(poly), mbr); - } + typename ring_return_type::type ext_ring + = exterior_ring(polygon); + if (geometry::is_empty(ext_ring)) + { + // if the exterior ring is empty, consider the interior rings + envelope_multi_range + < + envelope_range + >::apply(interior_rings(polygon), mbr); + } + else + { + // otherwise, consider only the exterior ring + envelope_range::apply(ext_ring, mbr); + } + } }; @@ -77,7 +78,7 @@ namespace dispatch template struct envelope - : detail::envelope::envelope_range<> + : detail::envelope::envelope_range {}; @@ -89,15 +90,16 @@ struct envelope template struct envelope - : detail::envelope::envelope_range + : detail::envelope::envelope_multi_range < - detail::envelope::exterior_ring_expand_policy + detail::envelope::envelope_polygon > {}; } // namespace dispatch -#endif +#endif // DOXYGEN_NO_DISPATCH + }} // namespace boost::geometry diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/initialize.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/initialize.hpp new file mode 100644 index 0000000000..d8e252b53a --- /dev/null +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/initialize.hpp @@ -0,0 +1,86 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2015, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle + +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INITIALIZE_HPP +#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INITIALIZE_HPP + +#include + +#include + +#include +#include +#include + + +namespace boost { namespace geometry +{ + +#ifndef DOXYGEN_NO_DETAIL +namespace detail { namespace envelope +{ + +template +struct initialize_loop +{ + template + static inline void apply(Box& box, + CoordinateType min_value, + CoordinateType max_value) + { + geometry::set(box, min_value); + geometry::set(box, max_value); + + initialize_loop + < + Dimension + 1, DimensionCount + >::apply(box, min_value, max_value); + } +}; + +template +struct initialize_loop +{ + template + static inline void apply(Box&, CoordinateType, CoordinateType) + { + } +}; + + +template +< + typename Box, + std::size_t Dimension = 0, + std::size_t DimensionCount = dimension::value +> +struct initialize +{ + typedef typename coordinate_type::type coordinate_type; + + static inline void apply(Box& box, + coordinate_type min_value + = boost::numeric::bounds::highest(), + coordinate_type max_value + = boost::numeric::bounds::lowest()) + { + initialize_loop + < + Dimension, DimensionCount + >::apply(box, min_value, max_value); + } +}; + +}} // namespace detail::envelope +#endif // DOXYGEN_NO_DETAIL + +}} // namespace boost::geometry + +#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INITIALIZE_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/interface.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/interface.hpp index 3c1b2b9fe7..997ac1b23e 100644 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/interface.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/interface.hpp @@ -12,8 +12,8 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INTERFACE_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/intersects_antimeridian.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/intersects_antimeridian.hpp index 4bd9177961..47937bf740 100644 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/intersects_antimeridian.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/intersects_antimeridian.hpp @@ -4,8 +4,9 @@ // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Licensed under the Boost Software License version 1.0. -// http://www.boost.org/users/license.html +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INTERSECTS_ANTIMERIDIAN_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_INTERSECTS_ANTIMERIDIAN_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/linear.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/linear.hpp new file mode 100644 index 0000000000..49c3cf3135 --- /dev/null +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/linear.hpp @@ -0,0 +1,96 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. + +// This file was modified by Oracle on 2015. +// Modifications copyright (c) 2015, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle + +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_LINEAR_HPP +#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_LINEAR_HPP + +#include +#include + +#include + +#include + +#include + + +namespace boost { namespace geometry +{ + +#ifndef DOXYGEN_NO_DETAIL +namespace detail { namespace envelope +{ + + +struct envelope_linestring_on_spheroid +{ + template + static inline void apply(Linestring const& linestring, Box& mbr) + { + envelope_range::apply(geometry::segments_begin(linestring), + geometry::segments_end(linestring), + mbr); + } +}; + + +}} // namespace detail::envelope +#endif // DOXYGEN_NO_DETAIL + + +#ifndef DOXYGEN_NO_DISPATCH +namespace dispatch +{ + + +template +struct envelope + : detail::envelope::envelope_range +{}; + +template +struct envelope + : detail::envelope::envelope_linestring_on_spheroid +{}; + + +template +struct envelope + < + MultiLinestring, multi_linestring_tag, CS_Tag + > : detail::envelope::envelope_multi_range + < + detail::envelope::envelope_range + > +{}; + +template +struct envelope + < + MultiLinestring, multi_linestring_tag, spherical_equatorial_tag + > : detail::envelope::envelope_multi_range_on_spheroid + < + detail::envelope::envelope_linestring_on_spheroid + > +{}; + + +} // namespace dispatch +#endif // DOXYGEN_NO_DISPATCH + + +}} // namespace boost::geometry + +#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_LINEAR_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/linestring.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/linestring.hpp deleted file mode 100644 index 379bd78902..0000000000 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/linestring.hpp +++ /dev/null @@ -1,182 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_LINESTRING_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_LINESTRING_HPP - -#include -#include - -#include -#include -#include -#include -#include -#include - -#include - -#include - -#include -#include - -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -struct envelope_linear_on_spheroid -{ - template - static inline OutputIterator push_interval(Longitude const& lon1, - Longitude const& lon2, - OutputIterator oit) - { - typedef longitude_interval interval_type; - - typedef math::detail::constants_on_spheroid - < - Longitude, Units - > constants; - - BOOST_GEOMETRY_ASSERT(! math::larger(lon1, lon2)); - BOOST_GEOMETRY_ASSERT(! math::larger(lon1, constants::max_longitude())); - - if (math::larger(lon2, constants::max_longitude())) - { - *oit++ = interval_type(lon1, constants::max_longitude()); - *oit++ = interval_type(constants::min_longitude(), - lon2 - constants::period()); - } - else - { - *oit++ = interval_type(lon1, lon2); - } - return oit; - } - - template - static inline void apply(Linear const& linear, Box& mbr) - { - typedef typename coordinate_type::type box_coordinate_type; - typedef longitude_interval interval_type; - - typedef typename geometry::segment_iterator - < - Linear const - > iterator_type; - - BOOST_GEOMETRY_ASSERT(! geometry::is_empty(linear)); - - std::vector longitude_intervals; - std::back_insert_iterator - < - std::vector - > oit(longitude_intervals); - - box_coordinate_type lat_min = 0, lat_max = 0; - bool first = true; - for (iterator_type seg_it = geometry::segments_begin(linear); - seg_it != geometry::segments_end(linear); - ++seg_it, first = false) - { - Box segment_mbr; - dispatch::envelope - < - typename std::iterator_traits::value_type - >::apply(*seg_it, segment_mbr); - - oit = push_interval - < - typename coordinate_system::type::units - >(geometry::get(segment_mbr), - geometry::get(segment_mbr), - oit); - - if (first) - { - lat_min = geometry::get(segment_mbr); - lat_max = geometry::get(segment_mbr); - } - - // update min and max latitude, if needed - if (math::smaller(geometry::get(segment_mbr), - lat_min)) - { - lat_min = geometry::get(segment_mbr); - } - - if (math::larger(geometry::get(segment_mbr), - lat_max)) - { - lat_max = geometry::get(segment_mbr); - } - } - - box_coordinate_type lon_min = 0, lon_max = 0; - envelope_range_of_longitudes - < - typename coordinate_system::type::units - >::apply(longitude_intervals, lon_min, lon_max); - - assign_values(mbr, lon_min, lat_min, lon_max, lat_max); - } -}; - - -template -struct envelope_linestring - : envelope_range<> -{}; - -template <> -struct envelope_linestring - : envelope_linear_on_spheroid -{}; - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct envelope - : detail::envelope::envelope_linestring::type> -{}; - -} // namespace dispatch -#endif - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_LINESTRING_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/multilinestring.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/multilinestring.hpp deleted file mode 100644 index fc15baa471..0000000000 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/multilinestring.hpp +++ /dev/null @@ -1,86 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2015. -// Modifications copyright (c) 2015, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_MULTILINESTRING_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_MULTILINESTRING_HPP - -#include -#include - -#include - -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace envelope -{ - - -struct envelope_range_expand_policy -{ - template - static inline void apply(Box& mbr, Geometry const& geometry) - { - Box mbr2; - envelope_range<>::apply(geometry, mbr2); - geometry::expand(mbr, mbr2); - } -}; - - -template -struct envelope_multilinestring - : envelope_range -{}; - -template <> -struct envelope_multilinestring - : envelope_linear_on_spheroid -{}; - - -}} // namespace detail::envelope -#endif // DOXYGEN_NO_DETAIL - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct envelope - : detail::envelope::envelope_multilinestring - < - typename cs_tag::type - > -{}; - - -} // namespace dispatch -#endif - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_MULTILINESTRING_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/multipoint.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/multipoint.hpp index 3574e54202..210debfdba 100644 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/multipoint.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/multipoint.hpp @@ -4,12 +4,14 @@ // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Licensed under the Boost Software License version 1.0. -// http://www.boost.org/users/license.html +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_MULTIPOINT_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_MULTIPOINT_HPP +#include #include #include #include @@ -28,14 +30,13 @@ #include -#include - -#include -#include - #include +#include +#include #include +#include + #include @@ -50,14 +51,14 @@ namespace detail { namespace envelope class envelope_multipoint_on_spheroid { private: - template + template struct coordinate_less { template inline bool operator()(Point const& point1, Point const& point2) const { - return math::smaller(geometry::get(point1), - geometry::get(point2)); + return math::smaller(geometry::get(point1), + geometry::get(point2)); } }; @@ -230,6 +231,10 @@ public: { typedef typename point_type::type point_type; typedef typename coordinate_type::type coordinate_type; + typedef typename boost::range_iterator + < + MultiPoint const + >::type iterator_type; typedef math::detail::constants_on_spheroid < @@ -237,12 +242,14 @@ public: typename coordinate_system::type::units > constants; - if (boost::empty(multipoint)) { + initialize::value>::apply(mbr); return; } + initialize::apply(mbr); + if (boost::size(multipoint) == 1) { return dispatch::envelope @@ -302,16 +309,37 @@ public: lat_max); } - typename helper_geometry + typedef typename helper_geometry < Box, coordinate_type, typename coordinate_system::type::units - >::type helper_mbr; + >::type helper_box_type; - assign_values(helper_mbr, lon_min, lat_min, lon_max, lat_max); + helper_box_type helper_mbr; - geometry::transform(helper_mbr, mbr); + geometry::set(helper_mbr, lon_min); + geometry::set(helper_mbr, lat_min); + geometry::set(helper_mbr, lon_max); + geometry::set(helper_mbr, lat_max); + + // now transform to output MBR (per index) + envelope_indexed_box_on_spheroid::apply(helper_mbr, mbr); + envelope_indexed_box_on_spheroid::apply(helper_mbr, mbr); + + // compute envelope for higher coordinates + iterator_type it = boost::begin(multipoint); + envelope_one_point<2, dimension::value>::apply(*it, mbr); + + for (++it; it != boost::end(multipoint); ++it) + { + detail::expand::point_loop + < + strategy::compare::default_strategy, + strategy::compare::default_strategy, + 2, dimension::value + >::apply(mbr, *it); + } } }; @@ -319,6 +347,8 @@ public: }} // namespace detail::envelope #endif // DOXYGEN_NO_DETAIL + + #ifndef DOXYGEN_NO_DISPATCH namespace dispatch { @@ -326,7 +356,7 @@ namespace dispatch template struct envelope - : detail::envelope::envelope_range<> + : detail::envelope::envelope_range {}; template @@ -341,7 +371,7 @@ struct envelope } // namespace dispatch -#endif +#endif // DOXYGEN_NO_DISPATCH }} // namespace boost::geometry diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/point.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/point.hpp index 9e9b01d223..e914e7e8a0 100644 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/point.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/point.hpp @@ -9,27 +9,28 @@ // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_POINT_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_POINT_HPP +#include + +#include #include +#include #include #include -#include - -#include -#include +#include +#include #include +#include + #include @@ -40,6 +41,32 @@ namespace boost { namespace geometry namespace detail { namespace envelope { + +template +struct envelope_one_point +{ + template + static inline void apply(Point const& point, Box& mbr) + { + detail::indexed_point_view box_corner(mbr); + detail::conversion::point_to_point + < + Point, + detail::indexed_point_view, + Dimension, + DimensionCount + >::apply(point, box_corner); + } + + template + static inline void apply(Point const& point, Box& mbr) + { + apply(point, mbr); + apply(point, mbr); + } +}; + + struct envelope_point_on_spheroid { template @@ -49,34 +76,23 @@ struct envelope_point_on_spheroid typename point_type::type box_point; - // transform input point to a point of the same type as box's point - geometry::transform(normalized_point, box_point); + // transform units of input point to units of a box point + transform_units(normalized_point, box_point); - geometry::convert(box_point, mbr); + geometry::set(mbr, geometry::get<0>(box_point)); + geometry::set(mbr, geometry::get<1>(box_point)); + + geometry::set(mbr, geometry::get<0>(box_point)); + geometry::set(mbr, geometry::get<1>(box_point)); + + envelope_one_point + < + 2, dimension::value + >::apply(normalized_point, mbr); } }; -template -struct envelope_one_point -{ - template - static inline void apply(Point const& point, Box& mbr) - { - geometry::convert(point, mbr); - } -}; - -template <> -struct envelope_one_point - : envelope_point_on_spheroid -{}; - -template <> -struct envelope_one_point - : envelope_point_on_spheroid -{}; - }} // namespace detail::envelope #endif // DOXYGEN_NO_DETAIL @@ -85,14 +101,26 @@ namespace dispatch { +template +struct envelope + : detail::envelope::envelope_one_point<0, dimension::value> +{}; + + template -struct envelope - : detail::envelope::envelope_one_point::type> +struct envelope + : detail::envelope::envelope_point_on_spheroid +{}; + + +template +struct envelope + : detail::envelope::envelope_point_on_spheroid {}; } // namespace dispatch -#endif +#endif // DOXYGEN_NO_DISPATCH }} // namespace boost::geometry diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/range.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/range.hpp index b2023f338a..63b518114b 100644 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/range.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/range.hpp @@ -12,17 +12,30 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_HPP +#include +#include + #include + +#include + #include -#include +#include + +#include +#include + +#include +#include +#include #include @@ -35,51 +48,124 @@ namespace detail { namespace envelope { -struct default_expand_policy +// implementation for simple ranges +struct envelope_range { - template - static inline void apply(Box& mbr, Geometry const& geometry) + template + static inline void apply(Iterator first, Iterator last, Box& mbr) { - geometry::expand(mbr, geometry); + typedef typename std::iterator_traits::value_type value_type; + + // initialize MBR + initialize::value>::apply(mbr); + + Iterator it = first; + if (it != last) + { + // initialize box with first element in range + dispatch::envelope::apply(*it, mbr); + + // consider now the remaining elements in the range (if any) + for (++it; it != last; ++it) + { + dispatch::expand::apply(mbr, *it); + } + } + } + + template + static inline void apply(Range const& range, Box& mbr) + { + return apply(boost::begin(range), boost::end(range), mbr); } }; -template -inline void envelope_iterators(Iterator first, Iterator last, Box& mbr) +// implementation for multi-ranges +template +struct envelope_multi_range { - for (Iterator it = first; it != last; ++it) + template + static inline void apply(MultiRange const& multirange, Box& mbr) { - ExpandPolicy::apply(mbr, *it); - } -} + typedef typename boost::range_iterator + < + MultiRange const + >::type iterator_type; - -template -struct envelope_range -{ - /// Calculate envelope of range using a strategy - template - static inline void apply(Range const& range, Box& mbr) - { - typename boost::range_iterator::type it - = boost::begin(range); - - if (it != boost::end(range)) + bool initialized = false; + for (iterator_type it = boost::begin(multirange); + it != boost::end(multirange); + ++it) { - // initialize box with first element in range - dispatch::envelope - < - typename boost::range_value::type - >::apply(*it, mbr); + if (! geometry::is_empty(*it)) + { + if (initialized) + { + Box helper_mbr; + EnvelopePolicy::apply(*it, helper_mbr); - // consider now the remaining elements in the range (if any) - ++it; - envelope_iterators - < - ExpandPolicy - >(it, boost::end(range), mbr); + dispatch::expand::apply(mbr, helper_mbr); + } + else + { + // compute the initial envelope + EnvelopePolicy::apply(*it, mbr); + initialized = true; + } + } } + + if (! initialized) + { + // if not already initialized, initialize MBR + initialize::value>::apply(mbr); + } + } +}; + + +// implementation for multi-range on a spheroid (longitude is periodic) +template +struct envelope_multi_range_on_spheroid +{ + template + static inline void apply(MultiRange const& multirange, Box& mbr) + { + typedef typename boost::range_iterator + < + MultiRange const + >::type iterator_type; + + // due to the periodicity of longitudes we need to compute the boxes + // of all the single geometries and keep them in a container + std::vector boxes; + for (iterator_type it = boost::begin(multirange); + it != boost::end(multirange); + ++it) + { + if (! geometry::is_empty(*it)) + { + Box helper_box; + EnvelopePolicy::apply(*it, helper_box); + boxes.push_back(helper_box); + } + } + + // now we need to compute the envelope of the range of boxes + // (cannot be done in an incremental fashion as in the + // Cartesian coordinate system) + // if all single geometries are empty no boxes have been found + // and the MBR is simply initialized + if (! boxes.empty()) + { + envelope_range_of_boxes::apply(boxes, mbr); + } + else + { + initialize::value>::apply(mbr); + } + } }; diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/range_of_boxes.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/range_of_boxes.hpp index 90a1b099bc..64bdb9b9cb 100644 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/range_of_boxes.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/range_of_boxes.hpp @@ -4,8 +4,9 @@ // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Licensed under the Boost Software License version 1.0. -// http://www.boost.org/users/license.html +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_OF_BOXES_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_RANGE_OF_BOXES_HPP @@ -23,9 +24,11 @@ #include #include +#include -#include +#include #include +#include namespace boost { namespace geometry @@ -92,8 +95,6 @@ struct envelope_range_of_longitudes Longitude const zero = 0; Longitude const period = constants::period(); - Longitude const min_longitude = constants::min_longitude(); - Longitude const max_longitude = constants::max_longitude(); lon_min = lon_max = zero; @@ -118,12 +119,17 @@ struct envelope_range_of_longitudes max_gap_right); BOOST_GEOMETRY_ASSERT(! math::larger(lon_min, lon_max)); - BOOST_GEOMETRY_ASSERT(! math::larger(lon_max, max_longitude)); - BOOST_GEOMETRY_ASSERT(! math::smaller(lon_min, min_longitude)); + BOOST_GEOMETRY_ASSERT + (! math::larger(lon_max, constants::max_longitude())); + BOOST_GEOMETRY_ASSERT + (! math::smaller(lon_min, constants::min_longitude())); - BOOST_GEOMETRY_ASSERT(! math::larger(max_gap_left, max_gap_right)); - BOOST_GEOMETRY_ASSERT(! math::larger(max_gap_right, max_longitude)); - BOOST_GEOMETRY_ASSERT(! math::smaller(max_gap_left, min_longitude)); + BOOST_GEOMETRY_ASSERT + (! math::larger(max_gap_left, max_gap_right)); + BOOST_GEOMETRY_ASSERT + (! math::larger(max_gap_right, constants::max_longitude())); + BOOST_GEOMETRY_ASSERT + (! math::smaller(max_gap_left, constants::min_longitude())); if (math::larger(max_gap, zero)) { @@ -140,6 +146,72 @@ struct envelope_range_of_longitudes }; +template +struct envelope_range_of_boxes_by_expansion +{ + template + static inline void apply(RangeOfBoxes const& range_of_boxes, Box& mbr) + { + typedef typename boost::range_value::type box_type; + + typedef typename boost::range_iterator + < + RangeOfBoxes const + >::type iterator_type; + + // first initialize MBR + detail::indexed_point_view mbr_min(mbr); + detail::indexed_point_view mbr_max(mbr); + + detail::indexed_point_view + first_box_min(range::front(range_of_boxes)); + + detail::indexed_point_view + first_box_max(range::front(range_of_boxes)); + + detail::conversion::point_to_point + < + detail::indexed_point_view, + detail::indexed_point_view, + Dimension, + DimensionCount + >::apply(first_box_min, mbr_min); + + detail::conversion::point_to_point + < + detail::indexed_point_view, + detail::indexed_point_view, + Dimension, + DimensionCount + >::apply(first_box_max, mbr_max); + + // now expand using the remaining boxes + iterator_type it = boost::begin(range_of_boxes); + for (++it; it != boost::end(range_of_boxes); ++it) + { + detail::expand::indexed_loop + < + strategy::compare::default_strategy, + strategy::compare::default_strategy, + min_corner, + Dimension, + DimensionCount + >::apply(mbr, *it); + + detail::expand::indexed_loop + < + strategy::compare::default_strategy, + strategy::compare::default_strategy, + max_corner, + Dimension, + DimensionCount + >::apply(mbr, *it); + } + } + +}; + + struct envelope_range_of_boxes { template @@ -217,7 +289,8 @@ struct envelope_range_of_boxes } } - coordinate_type lon_min(0), lon_max(0); + coordinate_type lon_min = 0; + coordinate_type lon_max = 0; envelope_range_of_longitudes < units_type @@ -225,11 +298,22 @@ struct envelope_range_of_boxes // do not convert units; conversion will be performed at a // higher level - assign_values(mbr, - lon_min, - geometry::get(*it_min), - lon_max, - geometry::get(*it_max)); + + // assign now the min/max longitude/latitude values + detail::indexed_point_view mbr_min(mbr); + detail::indexed_point_view mbr_max(mbr); + + geometry::set<0>(mbr_min, lon_min); + geometry::set<1>(mbr_min, geometry::get(*it_min)); + geometry::set<0>(mbr_max, lon_max); + geometry::set<1>(mbr_max, geometry::get(*it_max)); + + // what remains to be done is to compute the envelope range + // for the remaining dimensions (if any) + envelope_range_of_boxes_by_expansion + < + 2, dimension::value + >::apply(range_of_boxes, mbr); } }; diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/segment.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/segment.hpp index 9b53c84f9d..570f0e1a43 100644 --- a/3party/boost/boost/geometry/algorithms/detail/envelope/segment.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/segment.hpp @@ -9,16 +9,14 @@ // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_SEGMENT_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_SEGMENT_HPP +#include #include #include @@ -35,15 +33,15 @@ #include -#include - -#include -#include -#include +#include +#include #include #include +#include + +#include #include @@ -55,6 +53,25 @@ namespace boost { namespace geometry namespace detail { namespace envelope { + +template +struct envelope_one_segment +{ + template + static inline void apply(Point const& p1, Point const& p2, Box& mbr) + { + envelope_one_point::apply(p1, mbr); + detail::expand::point_loop + < + strategy::compare::default_strategy, + strategy::compare::default_strategy, + Dimension, + DimensionCount + >::apply(mbr, p2); + } +}; + + // Computes the MBR of a segment given by (lon1, lat1) and (lon2, // lat2), and with azimuths a1 and a2 at the two endpoints of the // segment. @@ -255,29 +272,47 @@ public: { typedef typename coordinate_type::type box_coordinate_type; - typename helper_geometry + typedef typename helper_geometry < Box, box_coordinate_type, radian - >::type radian_mbr; + >::type helper_box_type; + + helper_box_type radian_mbr; apply(lon1, lat1, lon2, lat2); - assign_values(radian_mbr, - boost::numeric_cast(lon1), - boost::numeric_cast(lat1), - boost::numeric_cast(lon2), - boost::numeric_cast(lat2)); + geometry::set + < + min_corner, 0 + >(radian_mbr, boost::numeric_cast(lon1)); - geometry::transform(radian_mbr, mbr); + geometry::set + < + min_corner, 1 + >(radian_mbr, boost::numeric_cast(lat1)); + + geometry::set + < + max_corner, 0 + >(radian_mbr, boost::numeric_cast(lon2)); + + geometry::set + < + max_corner, 1 + >(radian_mbr, boost::numeric_cast(lat2)); + + transform_units(radian_mbr, mbr); } }; -struct envelope_segment_on_spheroid +template +struct envelope_segment_on_sphere { template static inline void apply(Point const& p1, Point const& p2, Box& mbr) { + // first compute the envelope range for the first two coordinates Point p1_normalized = detail::return_normalized(p1); Point p2_normalized = detail::return_normalized(p2); @@ -286,25 +321,37 @@ struct envelope_segment_on_spheroid geometry::get_as_radian<0>(p2_normalized), geometry::get_as_radian<1>(p2_normalized), mbr); - } -}; -template -struct envelope_one_segment -{ - template - static inline void apply(Point const& p1, Point const& p2, Box& mbr) + // now compute the envelope range for coordinates of + // dimension 2 and higher + envelope_one_segment<2, DimensionCount>::apply(p1, p2, mbr); + } + + template + static inline void apply(Segment const& segment, Box& mbr) { - envelope_one_point::apply(p1, mbr); - geometry::expand(mbr, p2); + typename point_type::type p[2]; + detail::assign_point_from_index<0>(segment, p[0]); + detail::assign_point_from_index<1>(segment, p[1]); + apply(p[0], p[1], mbr); } }; -template <> -struct envelope_one_segment - : envelope_segment_on_spheroid + + +template +struct envelope_segment + : envelope_one_segment<0, DimensionCount> {}; + +template +struct envelope_segment + : envelope_segment_on_sphere +{}; + + + }} // namespace detail::envelope #endif // DOXYGEN_NO_DETAIL @@ -314,8 +361,8 @@ namespace dispatch { -template -struct envelope +template +struct envelope { template static inline void apply(Segment const& segment, Box& mbr) @@ -323,16 +370,16 @@ struct envelope typename point_type::type p[2]; detail::assign_point_from_index<0>(segment, p[0]); detail::assign_point_from_index<1>(segment, p[1]); - detail::envelope::envelope_one_segment + detail::envelope::envelope_segment < - typename cs_tag::type + dimension::value, CS_Tag >::apply(p[0], p[1], mbr); } }; } // namespace dispatch -#endif +#endif // DOXYGEN_NO_DISPATCH }} // namespace boost::geometry diff --git a/3party/boost/boost/geometry/algorithms/detail/envelope/transform_units.hpp b/3party/boost/boost/geometry/algorithms/detail/envelope/transform_units.hpp new file mode 100644 index 0000000000..0c5382a47b --- /dev/null +++ b/3party/boost/boost/geometry/algorithms/detail/envelope/transform_units.hpp @@ -0,0 +1,103 @@ +// Boost.Geometry (aka GGL, Generic Geometry Library) + +// Copyright (c) 2015, Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle + +// 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_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_TRANSFORM_UNITS_HPP +#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_TRANSFORM_UNITS_HPP + +#include + +#include +#include + +#include + +#include +#include + +#include +#include + + +namespace boost { namespace geometry +{ + +#ifndef DOXYGEN_NO_DETAIL +namespace detail { namespace envelope +{ + + +template +< + typename GeometryIn, + typename GeometryOut, + typename TagIn = typename tag::type, + typename TagOut = typename tag::type +> +struct transform_units_impl + : not_implemented +{}; + +template +struct transform_units_impl +{ + static inline void apply(PointIn const& point_in, PointOut& point_out) + { + detail::two_dimensional_view view_in(point_in); + detail::two_dimensional_view view_out(point_out); + + geometry::transform(view_in, view_out); + } +}; + +template +struct transform_units_impl +{ + template + static inline void apply(BoxIn const& box_in, BoxOut& box_out) + { + typedef detail::indexed_point_view view_in_type; + typedef detail::indexed_point_view view_out_type; + + view_in_type view_in(box_in); + view_out_type view_out(box_out); + + transform_units_impl + < + view_in_type, view_out_type + >::apply(view_in, view_out); + } + + static inline void apply(BoxIn const& box_in, BoxOut& box_out) + { + apply(box_in, box_out); + apply(box_in, box_out); + } +}; + + +// Short utility to transform the units of the first two coordinates of +// geometry_in to the units of geometry_out +template +inline void transform_units(GeometryIn const& geometry_in, + GeometryOut& geometry_out) +{ + transform_units_impl + < + GeometryIn, GeometryOut + >::apply(geometry_in, geometry_out); +}; + + +}} // namespace detail::envelope +#endif // DOXYGEN_NO_DETAIL + +}} // namespace boost:geometry + +#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_ENVELOPE_TRANSFORM_UNITS_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/expand/box.hpp b/3party/boost/boost/geometry/algorithms/detail/expand/box.hpp index 94ea10d507..4c89e6f1d4 100644 --- a/3party/boost/boost/geometry/algorithms/detail/expand/box.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/expand/box.hpp @@ -10,24 +10,27 @@ // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_BOX_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_BOX_HPP +#include #include -#include +#include +#include + +#include #include #include #include + #include + #include @@ -72,10 +75,19 @@ template > struct expand < - BoxOut, BoxIn, StrategyLess, StrategyGreater, - box_tag, box_tag, CSTagOut, CSTag - > : detail::expand::expand_indexed -{}; + BoxOut, BoxIn, + StrategyLess, StrategyGreater, + box_tag, box_tag, + CSTagOut, CSTag + > : detail::expand::expand_indexed + < + 0, dimension::value, StrategyLess, StrategyGreater + > +{ + BOOST_MPL_ASSERT_MSG((boost::is_same::value), + COORDINATE_SYSTEMS_MUST_BE_THE_SAME, + (types())); +}; template < @@ -84,8 +96,10 @@ template > struct expand < - BoxOut, BoxIn, StrategyLess, StrategyGreater, - box_tag, box_tag, spherical_equatorial_tag, spherical_equatorial_tag + BoxOut, BoxIn, + StrategyLess, StrategyGreater, + box_tag, box_tag, + spherical_equatorial_tag, spherical_equatorial_tag > : detail::expand::box_on_spheroid {}; @@ -96,8 +110,10 @@ template > struct expand < - BoxOut, BoxIn, StrategyLess, StrategyGreater, - box_tag, box_tag, geographic_tag, geographic_tag + BoxOut, BoxIn, + StrategyLess, StrategyGreater, + box_tag, box_tag, + geographic_tag, geographic_tag > : detail::expand::box_on_spheroid {}; diff --git a/3party/boost/boost/geometry/algorithms/detail/expand/implementation.hpp b/3party/boost/boost/geometry/algorithms/detail/expand/implementation.hpp index c48f2e681f..95de1b5049 100644 --- a/3party/boost/boost/geometry/algorithms/detail/expand/implementation.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/expand/implementation.hpp @@ -13,8 +13,8 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_IMPLEMENTATION_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/expand/indexed.hpp b/3party/boost/boost/geometry/algorithms/detail/expand/indexed.hpp index 10b85b1837..bdd6eb4506 100644 --- a/3party/boost/boost/geometry/algorithms/detail/expand/indexed.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/expand/indexed.hpp @@ -13,8 +13,8 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_INDEXED_HPP @@ -23,7 +23,6 @@ #include #include -#include #include #include @@ -113,6 +112,7 @@ struct indexed_loop // Changes a box such that the other box is also contained by the box template < + std::size_t Dimension, std::size_t DimensionCount, typename StrategyLess, typename StrategyGreater > struct expand_indexed @@ -123,13 +123,13 @@ struct expand_indexed indexed_loop < StrategyLess, StrategyGreater, - 0, 0, dimension::type::value + 0, Dimension, DimensionCount >::apply(box, geometry); indexed_loop < StrategyLess, StrategyGreater, - 1, 0, dimension::type::value + 1, Dimension, DimensionCount >::apply(box, geometry); } }; diff --git a/3party/boost/boost/geometry/algorithms/detail/expand/interface.hpp b/3party/boost/boost/geometry/algorithms/detail/expand/interface.hpp index 3064f12363..01936387a7 100644 --- a/3party/boost/boost/geometry/algorithms/detail/expand/interface.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/expand/interface.hpp @@ -13,8 +13,8 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_INTERFACE_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/expand/point.hpp b/3party/boost/boost/geometry/algorithms/detail/expand/point.hpp index a510e37ed3..56b7f1c738 100644 --- a/3party/boost/boost/geometry/algorithms/detail/expand/point.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/expand/point.hpp @@ -13,8 +13,8 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_POINT_HPP @@ -23,6 +23,9 @@ #include #include +#include +#include + #include #include #include @@ -33,14 +36,10 @@ #include #include -#include #include -#include -#include - #include -#include +#include #include @@ -53,11 +52,81 @@ namespace detail { namespace expand { -struct point_on_spheroid +template +< + typename StrategyLess, typename StrategyGreater, + std::size_t Dimension, std::size_t DimensionCount +> +struct point_loop +{ + template + static inline void apply(Box& box, Point const& source) + { + typedef typename strategy::compare::detail::select_strategy + < + StrategyLess, 1, Point, Dimension + >::type less_type; + + typedef typename strategy::compare::detail::select_strategy + < + StrategyGreater, -1, Point, Dimension + >::type greater_type; + + typedef typename select_coordinate_type + < + Point, Box + >::type coordinate_type; + + less_type less; + greater_type greater; + + coordinate_type const coord = get(source); + + if (less(coord, get(box))) + { + set(box, coord); + } + + if (greater(coord, get(box))) + { + set(box, coord); + } + + point_loop + < + StrategyLess, StrategyGreater, Dimension + 1, DimensionCount + >::apply(box, source); + } +}; + + +template +< + typename StrategyLess, typename StrategyGreater, std::size_t DimensionCount +> +struct point_loop + < + StrategyLess, StrategyGreater, DimensionCount, DimensionCount + > +{ + template + static inline void apply(Box&, Point const&) {} +}; + + +// implementation for the spherical equatorial and geographic coordinate systems +template +< + typename StrategyLess, + typename StrategyGreater, + std::size_t DimensionCount +> +struct point_loop_on_spheroid { template static inline void apply(Box& box, Point const& point) { + typedef typename point_type::type box_point_type; typedef typename coordinate_type::type box_coordinate_type; typedef math::detail::constants_on_spheroid @@ -70,9 +139,9 @@ struct point_on_spheroid Point p_normalized = detail::return_normalized(point); detail::normalize(box, box); - // transform input point to be the same type as the box point - typename point_type::type box_point; - geometry::transform(p_normalized, box_point); + // transform input point to be of the same type as the box point + box_point_type box_point; + detail::envelope::transform_units(p_normalized, box_point); box_coordinate_type p_lon = geometry::get<0>(box_point); box_coordinate_type p_lat = geometry::get<1>(box_point); @@ -89,11 +158,8 @@ struct point_on_spheroid // south pole; the only important coordinate here is the // pole's latitude, as the longitude can be anything; // we, thus, take into account the point's latitude only and return - assign_values(box, - b_lon_min, - (std::min)(p_lat, b_lat_min), - b_lon_max, - (std::max)(p_lat, b_lat_max)); + geometry::set(box, (std::min)(p_lat, b_lat_min)); + geometry::set(box, (std::max)(p_lat, b_lat_max)); return; } @@ -104,11 +170,10 @@ struct point_on_spheroid // the only important coordinate here is the pole's latitude, // as the longitude can be anything; // we thus take into account the box's latitude only and return - assign_values(box, - p_lon, - (std::min)(p_lat, b_lat_min), - p_lon, - (std::max)(p_lat, b_lat_max)); + geometry::set(box, p_lon); + geometry::set(box, (std::min)(p_lat, b_lat_min)); + geometry::set(box, p_lon); + geometry::set(box, (std::max)(p_lat, b_lat_max)); return; } @@ -151,71 +216,19 @@ struct point_on_spheroid } } - assign_values(box, b_lon_min, b_lat_min, b_lon_max, b_lat_max); - } -}; - - -template -< - typename StrategyLess, typename StrategyGreater, - std::size_t Dimension, std::size_t DimensionCount -> -struct point_loop -{ - template - static inline void apply(Box& box, Point const& source) - { - typedef typename strategy::compare::detail::select_strategy - < - StrategyLess, 1, Point, Dimension - >::type less_type; - - typedef typename strategy::compare::detail::select_strategy - < - StrategyGreater, -1, Point, Dimension - >::type greater_type; - - typedef typename select_coordinate_type::type coordinate_type; - - less_type less; - greater_type greater; - - coordinate_type const coord = get(source); - - if (less(coord, get(box))) - { - set(box, coord); - } - - if (greater(coord, get(box))) - { - set(box, coord); - } + geometry::set(box, b_lon_min); + geometry::set(box, b_lat_min); + geometry::set(box, b_lon_max); + geometry::set(box, b_lat_max); point_loop < - StrategyLess, StrategyGreater, - Dimension + 1, DimensionCount - >::apply(box, source); + StrategyLess, StrategyGreater, 2, DimensionCount + >::apply(box, point); } }; -template -< - typename StrategyLess, typename StrategyGreater, std::size_t DimensionCount -> -struct point_loop - < - StrategyLess, StrategyGreater, DimensionCount, DimensionCount - > -{ - template - static inline void apply(Box&, Point const&) {} -}; - - }} // namespace detail::expand #endif // DOXYGEN_NO_DETAIL @@ -223,6 +236,7 @@ struct point_loop namespace dispatch { + // Box + point -> new box containing also point template < @@ -232,12 +246,34 @@ template > struct expand < - BoxOut, Point, StrategyLess, StrategyGreater, - box_tag, point_tag, CSTagOut, CSTag + BoxOut, Point, + StrategyLess, StrategyGreater, + box_tag, point_tag, + CSTagOut, CSTag > : detail::expand::point_loop < - StrategyLess, StrategyGreater, - 0, dimension::type::value + StrategyLess, StrategyGreater, 0, dimension::value + > +{ + BOOST_MPL_ASSERT_MSG((boost::is_same::value), + COORDINATE_SYSTEMS_MUST_BE_THE_SAME, + (types())); +}; + +template +< + typename BoxOut, typename Point, + typename StrategyLess, typename StrategyGreater +> +struct expand + < + BoxOut, Point, + StrategyLess, StrategyGreater, + box_tag, point_tag, + spherical_equatorial_tag, spherical_equatorial_tag + > : detail::expand::point_loop_on_spheroid + < + StrategyLess, StrategyGreater, dimension::value > {}; @@ -248,22 +284,16 @@ template > struct expand < - BoxOut, Point, StrategyLess, StrategyGreater, - box_tag, point_tag, spherical_equatorial_tag, spherical_equatorial_tag - > : detail::expand::point_on_spheroid + BoxOut, Point, + StrategyLess, StrategyGreater, + box_tag, point_tag, + geographic_tag, geographic_tag + > : detail::expand::point_loop_on_spheroid + < + StrategyLess, StrategyGreater, dimension::value + > {}; -template -< - typename BoxOut, typename Point, - typename StrategyLess, typename StrategyGreater -> -struct expand - < - BoxOut, Point, StrategyLess, StrategyGreater, - box_tag, point_tag, geographic_tag, geographic_tag - > : detail::expand::point_on_spheroid -{}; } // namespace dispatch #endif // DOXYGEN_NO_DISPATCH diff --git a/3party/boost/boost/geometry/algorithms/detail/expand/segment.hpp b/3party/boost/boost/geometry/algorithms/detail/expand/segment.hpp index 917ab20021..041c1e175f 100644 --- a/3party/boost/boost/geometry/algorithms/detail/expand/segment.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/expand/segment.hpp @@ -10,21 +10,25 @@ // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_SEGMENT_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_EXPAND_SEGMENT_HPP +#include +#include + +#include #include +#include +#include #include -#include + #include + #include @@ -36,14 +40,24 @@ namespace detail { namespace expand { -struct segment_on_spheroid +struct segment_on_sphere { template static inline void apply(Box& box, Segment const& segment) { - Box segment_envelope; - dispatch::envelope::apply(segment, segment_envelope); - box_on_spheroid::apply(box, segment_envelope); + Box mbrs[2]; + + // compute the envelope of the segment + detail::envelope::envelope_segment_on_sphere + < + dimension::value + >::apply(segment, mbrs[0]); + + // normalize the box + detail::envelope::envelope_box_on_spheroid::apply(box, mbrs[1]); + + // compute the envelope of the two boxes + detail::envelope::envelope_range_of_boxes::apply(mbrs, box); } }; @@ -64,10 +78,19 @@ template > struct expand < - Box, Segment, StrategyLess, StrategyGreater, - box_tag, segment_tag, CSTagOut, CSTag - > : detail::expand::expand_indexed -{}; + Box, Segment, + StrategyLess, StrategyGreater, + box_tag, segment_tag, + CSTagOut, CSTag + > : detail::expand::expand_indexed + < + 0, dimension::value, StrategyLess, StrategyGreater + > +{ + BOOST_MPL_ASSERT_MSG((boost::is_same::value), + COORDINATE_SYSTEMS_MUST_BE_THE_SAME, + (types())); +}; template < @@ -76,10 +99,11 @@ template > struct expand < - Box, Segment, StrategyLess, StrategyGreater, + Box, Segment, + StrategyLess, StrategyGreater, box_tag, segment_tag, spherical_equatorial_tag, spherical_equatorial_tag - > : detail::expand::segment_on_spheroid + > : detail::expand::segment_on_sphere {}; diff --git a/3party/boost/boost/geometry/algorithms/detail/get_left_turns.hpp b/3party/boost/boost/geometry/algorithms/detail/get_left_turns.hpp index 3361b139c3..95ab98c236 100644 --- a/3party/boost/boost/geometry/algorithms/detail/get_left_turns.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/get_left_turns.hpp @@ -156,8 +156,8 @@ template inline void get_left_turns(AngleCollection const& sorted_angles, Turns& turns) { - std::set good_incoming; - std::set good_outgoing; + std::set good_incoming; + std::set good_outgoing; for (typename boost::range_iterator::type it = sorted_angles.begin(); it != sorted_angles.end(); ++it) @@ -244,14 +244,14 @@ inline void block_turns(AngleCollection& sorted, std::size_t cluster_size) for (typename boost::range_iterator::type it = sorted.begin(); it != sorted.end(); ++it) { - int cluster_index = it->cluster_index; - int previous_index = cluster_index - 1; + signed_size_type cluster_index = static_cast(it->cluster_index); + signed_size_type previous_index = cluster_index - 1; if (previous_index < 0) { previous_index = cluster_size - 1; } - int next_index = cluster_index + 1; - if (next_index >= static_cast(cluster_size)) + signed_size_type next_index = cluster_index + 1; + if (next_index >= static_cast(cluster_size)) { next_index = 0; } diff --git a/3party/boost/boost/geometry/algorithms/detail/intersection/interface.hpp b/3party/boost/boost/geometry/algorithms/detail/intersection/interface.hpp index d57535e61f..2af618d974 100644 --- a/3party/boost/boost/geometry/algorithms/detail/intersection/interface.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/intersection/interface.hpp @@ -120,7 +120,8 @@ struct intersection >::type rescale_policy_type; rescale_policy_type robust_policy - = geometry::get_rescale_policy(geometry1, geometry2); + = geometry::get_rescale_policy(geometry1, + geometry2); typedef strategy_intersection < @@ -151,8 +152,8 @@ struct intersection, Geometry2> visitor(Geometry2 const& geometry2, GeometryOut& geometry_out) - : m_geometry2(geometry2), - m_geometry_out(geometry_out) + : m_geometry2(geometry2) + , m_geometry_out(geometry_out) {} template @@ -176,7 +177,7 @@ struct intersection, Geometry2> Geometry2 const& geometry2, GeometryOut& geometry_out) { - return apply_visitor(visitor(geometry2, geometry_out), geometry1); + return boost::apply_visitor(visitor(geometry2, geometry_out), geometry1); } }; @@ -192,8 +193,8 @@ struct intersection > visitor(Geometry1 const& geometry1, GeometryOut& geometry_out) - : m_geometry1(geometry1), - m_geometry_out(geometry_out) + : m_geometry1(geometry1) + , m_geometry_out(geometry_out) {} template @@ -213,12 +214,11 @@ struct intersection > template static inline bool - apply( - Geometry1 const& geometry1, + apply(Geometry1 const& geometry1, const variant& geometry2, GeometryOut& geometry_out) { - return apply_visitor(visitor(geometry1, geometry_out), geometry2); + return boost::apply_visitor(visitor(geometry1, geometry_out), geometry2); } }; @@ -232,12 +232,11 @@ struct intersection, variant - result_type operator()( - Geometry1 const& geometry1, + result_type operator()(Geometry1 const& geometry1, Geometry2 const& geometry2) const { return intersection @@ -254,12 +253,11 @@ struct intersection, variant static inline bool - apply( - const variant& geometry1, + apply(const variant& geometry1, const variant& geometry2, GeometryOut& geometry_out) { - return apply_visitor(visitor(geometry_out), geometry1, geometry2); + return boost::apply_visitor(visitor(geometry_out), geometry1, geometry2); } }; diff --git a/3party/boost/boost/geometry/algorithms/detail/is_simple/linear.hpp b/3party/boost/boost/geometry/algorithms/detail/is_simple/linear.hpp index 50866d67ab..0f77a49498 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_simple/linear.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_simple/linear.hpp @@ -33,7 +33,7 @@ #include #include -#include +#include #include #include @@ -60,7 +60,7 @@ namespace detail { namespace is_simple template inline bool check_segment_indices(Turn const& turn, - signed_index_type last_index) + signed_size_type last_index) { return (turn.operations[0].seg_id.segment_index == 0 diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/box.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/box.hpp index 139502af78..e7a67252ba 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/box.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/box.hpp @@ -3,6 +3,7 @@ // Copyright (c) 2014-2015, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle +// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html @@ -12,6 +13,8 @@ #include +#include + #include #include #include @@ -57,6 +60,8 @@ struct has_valid_corners template static inline bool apply(Box const&, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + return visitor.template apply(); } }; diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/complement_graph.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/complement_graph.hpp index 07fe6a4c47..f08e70242c 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/complement_graph.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/complement_graph.hpp @@ -104,12 +104,12 @@ private: , m_parent_id(num_nodes, -1) {} - inline signed_index_type parent_id(vertex_handle v) const + inline signed_size_type parent_id(vertex_handle v) const { return m_parent_id[v->id()]; } - inline void set_parent_id(vertex_handle v, signed_index_type id) + inline void set_parent_id(vertex_handle v, signed_size_type id) { m_parent_id[v->id()] = id; } @@ -125,7 +125,7 @@ private: } private: std::vector m_visited; - std::vector m_parent_id; + std::vector m_parent_id; }; @@ -145,7 +145,7 @@ private: = m_neighbors[v->id()].begin(); nit != m_neighbors[v->id()].end(); ++nit) { - if ( static_cast((*nit)->id()) != data.parent_id(v) ) + if ( static_cast((*nit)->id()) != data.parent_id(v) ) { if ( data.visited(*nit) ) { @@ -153,7 +153,7 @@ private: } else { - data.set_parent_id(*nit, static_cast(v->id())); + data.set_parent_id(*nit, static_cast(v->id())); stack.push(*nit); } } @@ -173,7 +173,7 @@ public: // inserts a ring vertex in the graph and returns its handle // ring id's are zero-based (so the first interior ring has id 1) - inline vertex_handle add_vertex(signed_index_type id) + inline vertex_handle add_vertex(signed_size_type id) { return m_vertices.insert(vertex(static_cast(id))).first; } diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/has_duplicates.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/has_duplicates.hpp index 6aa8c98c9c..685a4aac35 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/has_duplicates.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/has_duplicates.hpp @@ -10,6 +10,7 @@ #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_IS_VALID_HAS_DUPLICATES_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_IS_VALID_HAS_DUPLICATES_HPP +#include #include #include @@ -35,6 +36,8 @@ struct has_duplicates template static inline bool apply(Range const& range, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + typedef typename closeable_view::type view_type; typedef typename boost::range_const_iterator < diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/has_spikes.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/has_spikes.hpp index 090c026e8b..aa90e52db6 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/has_spikes.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/has_spikes.hpp @@ -12,9 +12,11 @@ #include +#include #include #include +#include #include #include #include @@ -76,10 +78,23 @@ struct not_equal_to template struct has_spikes { + template + static inline Iterator find_different_from_first(Iterator first, + Iterator last) + { + typedef not_equal_to::type> not_equal; + + BOOST_GEOMETRY_ASSERT(first != last); + + Iterator second = first; + ++second; + return std::find_if(second, last, not_equal(*first)); + } + template static inline bool apply(Range const& range, VisitPolicy& visitor) { - typedef not_equal_to::type> not_equal; + boost::ignore_unused(visitor); typedef typename closeable_view::type view_type; typedef typename boost::range_iterator::type iterator; @@ -91,23 +106,23 @@ struct has_spikes iterator prev = boost::begin(view); - iterator cur = std::find_if(prev, boost::end(view), not_equal(*prev)); - if ( cur == boost::end(view) ) + iterator cur = find_different_from_first(prev, boost::end(view)); + if (cur == boost::end(view)) { // the range has only one distinct point, so it // cannot have a spike return ! visitor.template apply(); } - iterator next = std::find_if(cur, boost::end(view), not_equal(*cur)); - if ( next == boost::end(view) ) + iterator next = find_different_from_first(cur, boost::end(view)); + if (next == boost::end(view)) { // the range has only two distinct points, so it // cannot have a spike return ! visitor.template apply(); } - while ( next != boost::end(view) ) + while (next != boost::end(view)) { if ( geometry::detail::point_is_spike_or_equal(*prev, *next, @@ -118,20 +133,19 @@ struct has_spikes } prev = cur; cur = next; - next = std::find_if(cur, boost::end(view), not_equal(*cur)); + next = find_different_from_first(cur, boost::end(view)); } - if ( geometry::equals(range::front(view), range::back(view)) ) + if (geometry::equals(range::front(view), range::back(view))) { iterator cur = boost::begin(view); typename boost::range_reverse_iterator < view_type const - >::type prev = std::find_if(boost::rbegin(view), - boost::rend(view), - not_equal(range::back(view))); - iterator next = - std::find_if(cur, boost::end(view), not_equal(*cur)); + >::type prev = find_different_from_first(boost::rbegin(view), + boost::rend(view)); + + iterator next = find_different_from_first(cur, boost::end(view)); if (detail::point_is_spike_or_equal(*prev, *next, *cur)) { return diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/has_valid_self_turns.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/has_valid_self_turns.hpp index ef1e9fc487..0a81213743 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/has_valid_self_turns.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/has_valid_self_turns.hpp @@ -12,6 +12,7 @@ #include +#include #include #include @@ -73,6 +74,8 @@ public: Turns& turns, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + rescale_policy_type robust_policy = geometry::get_rescale_policy(geometry); diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/interface.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/interface.hpp index f83b09c437..0ec13b1b38 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/interface.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/interface.hpp @@ -97,7 +97,7 @@ template inline bool is_valid(Geometry const& geometry) { is_valid_default_policy<> policy_visitor; - return is_valid(geometry, policy_visitor); + return geometry::is_valid(geometry, policy_visitor); } @@ -121,7 +121,7 @@ template inline bool is_valid(Geometry const& geometry, validity_failure_type& failure) { failure_type_policy<> policy_visitor; - bool result = is_valid(geometry, policy_visitor); + bool result = geometry::is_valid(geometry, policy_visitor); failure = policy_visitor.failure(); return result; } @@ -148,7 +148,7 @@ inline bool is_valid(Geometry const& geometry, std::string& message) { std::ostringstream stream; failing_reason_policy<> policy_visitor(stream); - bool result = is_valid(geometry, policy_visitor); + bool result = geometry::is_valid(geometry, policy_visitor); message = stream.str(); return result; } diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/linear.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/linear.hpp index 69243563ec..e30064faf0 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/linear.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/linear.hpp @@ -3,6 +3,7 @@ // Copyright (c) 2014-2015, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle +// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html @@ -18,6 +19,7 @@ #include #include +#include #include #include @@ -138,7 +140,8 @@ public: static inline bool apply(MultiLinestring const& multilinestring, VisitPolicy& visitor) { - if (AllowEmptyMultiGeometries && boost::empty(multilinestring)) + if (BOOST_GEOMETRY_CONDITION( + AllowEmptyMultiGeometries && boost::empty(multilinestring))) { return visitor.template apply(); } diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/multipolygon.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/multipolygon.hpp index 9362bfca0e..0025445c2c 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/multipolygon.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/multipolygon.hpp @@ -3,6 +3,7 @@ // Copyright (c) 2014-2015, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle +// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html @@ -13,6 +14,7 @@ #include #include +#include #include #include @@ -21,6 +23,7 @@ #include #include +#include #include #include @@ -80,8 +83,10 @@ private: TurnIterator turns_beyond, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + // collect all polygons that have turns - std::set multi_indices; + std::set multi_indices; for (TurnIterator tit = turns_first; tit != turns_beyond; ++tit) { multi_indices.insert(tit->operations[0].seg_id.multi_index); @@ -90,7 +95,7 @@ private: // put polygon iterators without turns in a vector std::vector polygon_iterators; - signed_index_type multi_index = 0; + signed_size_type multi_index = 0; for (PolygonIterator it = polygons_first; it != polygons_beyond; ++it, ++multi_index) { @@ -124,7 +129,7 @@ private: class has_multi_index { public: - has_multi_index(signed_index_type multi_index) + has_multi_index(signed_size_type multi_index) : m_multi_index(multi_index) {} @@ -136,7 +141,7 @@ private: } private: - signed_index_type const m_multi_index; + signed_size_type const m_multi_index; }; @@ -156,7 +161,7 @@ private: TurnIterator turns_beyond, VisitPolicy& visitor) { - signed_index_type multi_index = 0; + signed_size_type multi_index = 0; for (PolygonIterator it = polygons_first; it != polygons_beyond; ++it, ++multi_index) { @@ -250,7 +255,8 @@ public: { typedef debug_validity_phase debug_phase; - if (AllowEmptyMultiGeometries && boost::empty(multipolygon)) + if (BOOST_GEOMETRY_CONDITION( + AllowEmptyMultiGeometries && boost::empty(multipolygon))) { return visitor.template apply(); } diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/pointlike.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/pointlike.hpp index 8e5ebaadcc..e51ab74643 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/pointlike.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/pointlike.hpp @@ -3,6 +3,7 @@ // Copyright (c) 2014-2015, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle +// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html @@ -10,6 +11,7 @@ #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_IS_VALID_POINTLIKE_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_IS_VALID_POINTLIKE_HPP +#include #include #include @@ -17,6 +19,8 @@ #include #include +#include + namespace boost { namespace geometry { @@ -34,6 +38,7 @@ struct is_valid template static inline bool apply(Point const&, VisitPolicy& visitor) { + boost::ignore_unused(visitor); return visitor.template apply(); } }; @@ -51,7 +56,10 @@ struct is_valid static inline bool apply(MultiPoint const& multipoint, VisitPolicy& visitor) { - if (AllowEmptyMultiGeometries || boost::size(multipoint) > 0) + boost::ignore_unused(multipoint, visitor); + + if (BOOST_GEOMETRY_CONDITION( + AllowEmptyMultiGeometries || !boost::empty(multipoint))) { // we allow empty multi-geometries, so an empty multipoint // is considered valid diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/polygon.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/polygon.hpp index eb5d62e033..6e87273aa1 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/polygon.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/polygon.hpp @@ -18,6 +18,7 @@ #include #include +#include #include #include @@ -185,9 +186,11 @@ protected: TurnIterator turns_beyond, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + // collect the interior ring indices that have turns with the // exterior ring - std::set ring_indices; + std::set ring_indices; for (TurnIterator tit = turns_first; tit != turns_beyond; ++tit) { if (tit->operations[0].seg_id.ring_index == -1) @@ -202,7 +205,7 @@ protected: } } - signed_index_type ring_index = 0; + signed_size_type ring_index = 0; for (RingIterator it = rings_first; it != rings_beyond; ++it, ++ring_index) { @@ -303,6 +306,8 @@ protected: TurnIterator beyond, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + typedef typename std::iterator_traits < TurnIterator diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/ring.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/ring.hpp index c663a96d28..c35e843418 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/ring.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/ring.hpp @@ -3,6 +3,7 @@ // Copyright (c) 2014-2015, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle +// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html @@ -12,6 +13,8 @@ #include +#include + #include #include #include @@ -53,6 +56,8 @@ struct is_topologically_closed template static inline bool apply(Ring const&, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + return visitor.template apply(); } }; @@ -63,6 +68,8 @@ struct is_topologically_closed template static inline bool apply(Ring const& ring, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + if (geometry::equals(range::front(ring), range::back(ring))) { return visitor.template apply(); @@ -112,6 +119,8 @@ struct is_properly_oriented template static inline bool apply(Ring const& ring, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + typename ring_area_predicate < area_result_type, IsInteriorRing diff --git a/3party/boost/boost/geometry/algorithms/detail/is_valid/segment.hpp b/3party/boost/boost/geometry/algorithms/detail/is_valid/segment.hpp index 0b60890dc0..a93d2bfe9e 100644 --- a/3party/boost/boost/geometry/algorithms/detail/is_valid/segment.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/is_valid/segment.hpp @@ -3,6 +3,7 @@ // Copyright (c) 2014-2015, Oracle and/or its affiliates. // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle +// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html @@ -10,6 +11,8 @@ #ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_IS_VALID_SEGMENT_HPP #define BOOST_GEOMETRY_ALGORITHMS_DETAIL_IS_VALID_SEGMENT_HPP +#include + #include #include @@ -44,6 +47,8 @@ struct is_valid template static inline bool apply(Segment const& segment, VisitPolicy& visitor) { + boost::ignore_unused(visitor); + typename point_type::type p[2]; detail::assign_point_from_index<0>(segment, p[0]); detail::assign_point_from_index<1>(segment, p[1]); diff --git a/3party/boost/boost/geometry/algorithms/detail/occupation_info.hpp b/3party/boost/boost/geometry/algorithms/detail/occupation_info.hpp index be995e5854..4048d59d75 100644 --- a/3party/boost/boost/geometry/algorithms/detail/occupation_info.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/occupation_info.hpp @@ -37,7 +37,7 @@ struct angle_info typedef Point point_type; segment_identifier seg_id; - int turn_index; + std::size_t turn_index; int operation_index; std::size_t cluster_index; Point intersection_point; @@ -58,7 +58,7 @@ class occupation_info public : typedef std::vector collection_type; - int count; + std::size_t count; inline occupation_info() : count(0) @@ -68,7 +68,7 @@ public : inline void add(RobustPoint const& incoming_point, RobustPoint const& outgoing_point, RobustPoint const& intersection_point, - int turn_index, int operation_index, + std::size_t turn_index, int operation_index, segment_identifier const& seg_id) { geometry::equal_to comparator; @@ -126,11 +126,19 @@ private : }; template -inline void move_index(Pieces const& pieces, int& index, int& piece_index, int direction) +inline void move_index(Pieces const& pieces, signed_size_type& index, signed_size_type& piece_index, int direction) { BOOST_GEOMETRY_ASSERT(direction == 1 || direction == -1); - BOOST_GEOMETRY_ASSERT(piece_index >= 0 && piece_index < static_cast(boost::size(pieces)) ); - BOOST_GEOMETRY_ASSERT(index >= 0 && index < static_cast(boost::size(pieces[piece_index].robust_ring))); + BOOST_GEOMETRY_ASSERT( + piece_index >= 0 + && piece_index < static_cast(boost::size(pieces)) ); + BOOST_GEOMETRY_ASSERT( + index >= 0 + && index < static_cast(boost::size(pieces[piece_index].robust_ring))); + + // NOTE: both index and piece_index must be in valid range + // this means that then they could be of type std::size_t + // if the code below was refactored index += direction; if (direction == -1 && index < 0) @@ -143,10 +151,10 @@ inline void move_index(Pieces const& pieces, int& index, int& piece_index, int d index = boost::size(pieces[piece_index].robust_ring) - 1; } if (direction == 1 - && index >= static_cast(boost::size(pieces[piece_index].robust_ring))) + && index >= static_cast(boost::size(pieces[piece_index].robust_ring))) { piece_index++; - if (piece_index >= static_cast(boost::size(pieces))) + if (piece_index >= static_cast(boost::size(pieces))) { piece_index = 0; } @@ -177,8 +185,8 @@ inline void add_incoming_and_outgoing_angles( RobustPoint direction_points[2]; for (int i = 0; i < 2; i++) { - int index = turn.operations[operation_index].index_in_robust_ring; - int piece_index = turn.operations[operation_index].piece_index; + signed_size_type index = turn.operations[operation_index].index_in_robust_ring; + signed_size_type piece_index = turn.operations[operation_index].piece_index; while(comparator(pieces[piece_index].robust_ring[index], intersection_point)) { move_index(pieces, index, piece_index, i == 0 ? -1 : 1); diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp index f294cbcca2..dbf3770357 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/copy_segment_point.hpp @@ -43,8 +43,8 @@ struct copy_segment_point_range { detail::normalized_view view(range); - signed_index_type const n = boost::size(view); - signed_index_type index = seg_id.segment_index; + signed_size_type const n = boost::size(view); + signed_size_type index = seg_id.segment_index; if (second) { index++; @@ -95,7 +95,7 @@ struct copy_segment_point_box SegmentIdentifier const& seg_id, bool second, PointOut& point) { - signed_index_type index = seg_id.segment_index; + signed_size_type index = seg_id.segment_index; if (second) { index++; diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/copy_segments.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/copy_segments.hpp index 98393af1b4..2eefa03c67 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/copy_segments.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/copy_segments.hpp @@ -61,7 +61,7 @@ struct copy_segments_ring > static inline void apply(Ring const& ring, SegmentIdentifier const& seg_id, - signed_index_type to_index, + signed_size_type to_index, RobustPolicy const& robust_policy, RangeOut& current_output) { @@ -90,10 +90,10 @@ struct copy_segments_ring // So we use the ever-circling iterator and determine when to step out - signed_index_type const from_index = seg_id.segment_index + 1; + signed_size_type const from_index = seg_id.segment_index + 1; // Sanity check - BOOST_GEOMETRY_ASSERT(from_index < static_cast(boost::size(view))); + BOOST_GEOMETRY_ASSERT(from_index < static_cast(boost::size(view))); ec_iterator it(boost::begin(view), boost::end(view), boost::begin(view) + from_index); @@ -101,12 +101,12 @@ struct copy_segments_ring // [2..4] -> 4 - 2 + 1 = 3 -> {2,3,4} -> OK // [4..2],size=6 -> 6 - 4 + 2 + 1 = 5 -> {4,5,0,1,2} -> OK // [1..1], travel the whole ring round - signed_index_type const count = from_index <= to_index + signed_size_type const count = from_index <= to_index ? to_index - from_index + 1 - : static_cast(boost::size(view)) + : static_cast(boost::size(view)) - from_index + to_index + 1; - for (signed_index_type i = 0; i < count; ++i, ++it) + for (signed_size_type i = 0; i < count; ++i, ++it) { detail::overlay::append_no_dups_or_spikes(current_output, *it, robust_policy); } @@ -148,26 +148,26 @@ public: > static inline void apply(LineString const& ls, SegmentIdentifier const& seg_id, - signed_index_type to_index, + signed_size_type to_index, RobustPolicy const& robust_policy, RangeOut& current_output) { - signed_index_type const from_index = seg_id.segment_index + 1; + signed_size_type const from_index = seg_id.segment_index + 1; // Sanity check if ( from_index > to_index || from_index < 0 - || to_index >= static_cast(boost::size(ls)) ) + || to_index >= static_cast(boost::size(ls)) ) { return; } - signed_index_type const count = to_index - from_index + 1; + signed_size_type const count = to_index - from_index + 1; typename boost::range_iterator::type it = boost::begin(ls) + from_index; - for (signed_index_type i = 0; i < count; ++i, ++it) + for (signed_size_type i = 0; i < count; ++i, ++it) { append_to_output(current_output, *it, robust_policy, boost::integral_constant()); @@ -187,7 +187,7 @@ struct copy_segments_polygon > static inline void apply(Polygon const& polygon, SegmentIdentifier const& seg_id, - signed_index_type to_index, + signed_size_type to_index, RobustPolicy const& robust_policy, RangeOut& current_output) { @@ -217,14 +217,14 @@ struct copy_segments_box > static inline void apply(Box const& box, SegmentIdentifier const& seg_id, - signed_index_type to_index, + signed_size_type to_index, RobustPolicy const& robust_policy, RangeOut& current_output) { - signed_index_type index = seg_id.segment_index + 1; + signed_size_type index = seg_id.segment_index + 1; BOOST_GEOMETRY_ASSERT(index < 5); - signed_index_type const count = index <= to_index + signed_size_type const count = index <= to_index ? to_index - index + 1 : 5 - index + to_index + 1; @@ -235,7 +235,7 @@ struct copy_segments_box // (possibly cyclic) copy to output // (see comments in ring-version) - for (signed_index_type i = 0; i < count; i++, index++) + for (signed_size_type i = 0; i < count; i++, index++) { detail::overlay::append_no_dups_or_spikes(current_output, bp[index % 5], robust_policy); @@ -257,7 +257,7 @@ struct copy_segments_multi > static inline void apply(MultiGeometry const& multi_geometry, SegmentIdentifier const& seg_id, - signed_index_type to_index, + signed_size_type to_index, RobustPolicy const& robust_policy, RangeOut& current_output) { @@ -265,7 +265,7 @@ struct copy_segments_multi BOOST_GEOMETRY_ASSERT ( seg_id.multi_index >= 0 - && seg_id.multi_index < int(boost::size(multi_geometry)) + && static_cast(seg_id.multi_index) < boost::size(multi_geometry) ); // Call the single-version @@ -345,7 +345,7 @@ template > inline void copy_segments(Geometry const& geometry, SegmentIdentifier const& seg_id, - signed_index_type to_index, + signed_size_type to_index, RobustPolicy const& robust_policy, RangeOut& range_out) { diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp index 3d65449551..3f81c4dca9 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/enrich_intersection_points.hpp @@ -357,14 +357,14 @@ inline void enrich_assign(Container& operations, = turn_points[it->turn_index].operations[it->operation_index]; prev_op.enriched.travels_to_ip_index - = static_cast(it->turn_index); + = static_cast(it->turn_index); prev_op.enriched.travels_to_vertex_index = it->subject->seg_id.segment_index; if (! first && prev_op.seg_id.segment_index == op.seg_id.segment_index) { - prev_op.enriched.next_ip_index = static_cast(it->turn_index); + prev_op.enriched.next_ip_index = static_cast(it->turn_index); } first = false; } diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/enrichment_info.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/enrichment_info.hpp index ef32edeefa..5964f3ba44 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/enrichment_info.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/enrichment_info.hpp @@ -37,13 +37,13 @@ struct enrichment_info // vertex to which is free travel after this IP, // so from "segment_index+1" to "travels_to_vertex_index", without IP-s, // can be -1 - signed_index_type travels_to_vertex_index; + signed_size_type travels_to_vertex_index; // same but now IP index, so "next IP index" but not on THIS segment - int travels_to_ip_index; + signed_size_type travels_to_ip_index; // index of next IP on this segment, -1 if there is no one - int next_ip_index; + signed_size_type next_ip_index; }; diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/follow.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/follow.hpp index acf38d09ab..22807b5140 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/follow.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/follow.hpp @@ -163,7 +163,7 @@ struct action_selector static inline void enter(LineStringOut& current_piece, LineString const& , segment_identifier& segment_id, - signed_index_type , Point const& point, + signed_size_type , Point const& point, Operation const& operation, RobustPolicy const& , OutputIterator& ) @@ -186,7 +186,7 @@ struct action_selector static inline void leave(LineStringOut& current_piece, LineString const& linestring, segment_identifier& segment_id, - signed_index_type index, Point const& point, + signed_size_type index, Point const& point, Operation const& , RobustPolicy const& robust_policy, OutputIterator& out) @@ -217,7 +217,7 @@ struct action_selector static inline void isolated_point(LineStringOut&, LineString const&, segment_identifier&, - signed_index_type, Point const& point, + signed_size_type, Point const& point, Operation const& , OutputIterator& out) { LineStringOut isolated_point_ls; @@ -268,7 +268,7 @@ struct action_selector static inline void enter(LineStringOut& current_piece, LineString const& linestring, segment_identifier& segment_id, - signed_index_type index, Point const& point, + signed_size_type index, Point const& point, Operation const& operation, RobustPolicy const& robust_policy, OutputIterator& out) @@ -289,7 +289,7 @@ struct action_selector static inline void leave(LineStringOut& current_piece, LineString const& linestring, segment_identifier& segment_id, - signed_index_type index, Point const& point, + signed_size_type index, Point const& point, Operation const& operation, RobustPolicy const& robust_policy, OutputIterator& out) @@ -309,7 +309,7 @@ struct action_selector static inline void isolated_point(LineStringOut&, LineString const&, segment_identifier&, - signed_index_type, Point const&, + signed_size_type, Point const&, Operation const&, OutputIterator&) { } @@ -496,7 +496,7 @@ public : false, RemoveSpikes >::apply(linestring, current_segment_id, - static_cast(boost::size(linestring) - 1), + static_cast(boost::size(linestring) - 1), robust_policy, current_piece); } diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp index a3ebb58d86..b2c3836712 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/follow_linear_linear.hpp @@ -282,7 +282,7 @@ protected: false, false // do not reverse; do not remove spikes >::apply(linestring, current_segment_id, - static_cast(boost::size(linestring) - 1), + static_cast(boost::size(linestring) - 1), robust_policy, current_piece); } @@ -404,7 +404,7 @@ protected: }; template - static inline signed_index_type get_multi_index(TurnIterator it) + static inline signed_size_type get_multi_index(TurnIterator it) { return boost::begin(it->operations)->seg_id.multi_index; } @@ -412,10 +412,10 @@ protected: class has_other_multi_id { private: - signed_index_type m_multi_id; + signed_size_type m_multi_id; public: - has_other_multi_id(signed_index_type multi_id) + has_other_multi_id(signed_size_type multi_id) : m_multi_id(multi_id) {} template @@ -446,7 +446,7 @@ public: // Iterate through all intersection points (they are // ordered along the each linestring) - signed_index_type current_multi_id = get_multi_index(first); + signed_size_type current_multi_id = get_multi_index(first); oit = copy_linestrings::apply(ls_first, ls_first + current_multi_id, @@ -463,7 +463,7 @@ public: oit = Base::apply(*(ls_first + current_multi_id), linear, per_ls_current, per_ls_next, oit); - signed_index_type next_multi_id(-1); + signed_size_type next_multi_id = -1; linestring_iterator ls_next = ls_beyond; if ( per_ls_next != beyond ) { diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp index e0d75108b9..e4f8de42e1 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/get_turn_info_helpers.hpp @@ -42,7 +42,8 @@ template struct side_calculator { - typedef boost::geometry::strategy::side::side_by_triangle<> side; // todo: get from coordinate system + // todo: get from coordinate system + typedef boost::geometry::strategy::side::side_by_triangle<> side; inline side_calculator(Pi const& pi, Pj const& pj, Pk const& pk, Qi const& qi, Qj const& qj, Qk const& qk) @@ -71,8 +72,9 @@ struct robust_points { typedef typename geometry::robust_point_type < - Point1, RobustPolicy + Point1, RobustPolicy >::type robust_point1_type; + // TODO: define robust_point2_type using Point2? typedef robust_point1_type robust_point2_type; @@ -96,23 +98,23 @@ template class intersection_info_base : private robust_points { - typedef robust_points base_t; + typedef robust_points base; public: typedef Point1 point1_type; typedef Point2 point2_type; - typedef typename base_t::robust_point1_type robust_point1_type; - typedef typename base_t::robust_point2_type robust_point2_type; + typedef typename base::robust_point1_type robust_point1_type; + typedef typename base::robust_point2_type robust_point2_type; typedef side_calculator side_calculator_type; intersection_info_base(Point1 const& pi, Point1 const& pj, Point1 const& pk, Point2 const& qi, Point2 const& qj, Point2 const& qk, RobustPolicy const& robust_policy) - : base_t(pi, pj, pk, qi, qj, qk, robust_policy) - , m_side_calc(base_t::m_rpi, base_t::m_rpj, base_t::m_rpk, - base_t::m_rqi, base_t::m_rqj, base_t::m_rqk) + : base(pi, pj, pk, qi, qj, qk, robust_policy) + , m_side_calc(base::m_rpi, base::m_rpj, base::m_rpk, + base::m_rqi, base::m_rqj, base::m_rqk) , m_pi(pi), m_pj(pj), m_pk(pk) , m_qi(qi), m_qj(qj), m_qk(qk) {} @@ -125,13 +127,13 @@ public: inline Point2 const& qj() const { return m_qj; } inline Point2 const& qk() const { return m_qk; } - inline robust_point1_type const& rpi() const { return base_t::m_rpi; } - inline robust_point1_type const& rpj() const { return base_t::m_rpj; } - inline robust_point1_type const& rpk() const { return base_t::m_rpk; } + inline robust_point1_type const& rpi() const { return base::m_rpi; } + inline robust_point1_type const& rpj() const { return base::m_rpj; } + inline robust_point1_type const& rpk() const { return base::m_rpk; } - inline robust_point2_type const& rqi() const { return base_t::m_rqi; } - inline robust_point2_type const& rqj() const { return base_t::m_rqj; } - inline robust_point2_type const& rqk() const { return base_t::m_rqk; } + inline robust_point2_type const& rqi() const { return base::m_rqi; } + inline robust_point2_type const& rqj() const { return base::m_rqj; } + inline robust_point2_type const& rqk() const { return base::m_rqk; } inline side_calculator_type const& sides() const { return m_side_calc; } @@ -187,11 +189,17 @@ private: }; -template +template +< + typename Point1, + typename Point2, + typename TurnPoint, + typename RobustPolicy +> class intersection_info : public intersection_info_base { - typedef intersection_info_base base_t; + typedef intersection_info_base base; typedef typename strategy_intersection < @@ -205,7 +213,7 @@ class intersection_info public: typedef model::referring_segment segment_type1; typedef model::referring_segment segment_type2; - typedef typename base_t::side_calculator_type side_calculator_type; + typedef typename base::side_calculator_type side_calculator_type; typedef typename strategy::return_type result_type; typedef typename boost::tuples::element<0, result_type>::type i_info_type; // intersection_info @@ -214,10 +222,12 @@ public: intersection_info(Point1 const& pi, Point1 const& pj, Point1 const& pk, Point2 const& qi, Point2 const& qj, Point2 const& qk, RobustPolicy const& robust_policy) - : base_t(pi, pj, pk, qi, qj, qk, robust_policy) + : base(pi, pj, pk, qi, qj, qk, robust_policy) , m_result(strategy::apply(segment_type1(pi, pj), segment_type2(qi, qj), - robust_policy)) + robust_policy, + base::rpi(), base::rpj(), + base::rqi(), base::rqj())) , m_robust_policy(robust_policy) {} @@ -228,19 +238,22 @@ public: // TODO: it's more like is_spike_ip_p inline bool is_spike_p() const { - if ( base_t::sides().pk_wrt_p1() == 0 ) + if (base::sides().pk_wrt_p1() == 0) { - if ( ! is_ip_j<0>() ) - return false; - - int const qk_p1 = base_t::sides().qk_wrt_p1(); - int const qk_p2 = base_t::sides().qk_wrt_p2(); - - if ( qk_p1 == -qk_p2 ) + if (! is_ip_j<0>()) { - if ( qk_p1 == 0 ) + return false; + } + + int const qk_p1 = base::sides().qk_wrt_p1(); + int const qk_p2 = base::sides().qk_wrt_p2(); + + if (qk_p1 == -qk_p2) + { + if (qk_p1 == 0) { - return is_spike_of_collinear(base_t::pi(), base_t::pj(), base_t::pk()); + return is_spike_of_collinear(base::pi(), base::pj(), + base::pk()); } return true; @@ -253,19 +266,22 @@ public: // TODO: it's more like is_spike_ip_q inline bool is_spike_q() const { - if ( base_t::sides().qk_wrt_q1() == 0 ) + if (base::sides().qk_wrt_q1() == 0) { - if ( ! is_ip_j<1>() ) - return false; - - int const pk_q1 = base_t::sides().pk_wrt_q1(); - int const pk_q2 = base_t::sides().pk_wrt_q2(); - - if ( pk_q1 == -pk_q2 ) + if (! is_ip_j<1>()) { - if ( pk_q1 == 0 ) + return false; + } + + int const pk_q1 = base::sides().pk_wrt_q1(); + int const pk_q2 = base::sides().pk_wrt_q2(); + + if (pk_q1 == -pk_q2) + { + if (pk_q1 == 0) { - return is_spike_of_collinear(base_t::qi(), base_t::qj(), base_t::qk()); + return is_spike_of_collinear(base::qi(), base::qj(), + base::qk()); } return true; @@ -277,9 +293,10 @@ public: private: template - inline bool is_spike_of_collinear(Point const& i, Point const& j, Point const& k) const + inline bool is_spike_of_collinear(Point const& i, Point const& j, + Point const& k) const { - typedef model::referring_segment seg_t; + typedef model::referring_segment seg; typedef strategy_intersection < @@ -289,7 +306,7 @@ private: typedef typename si::segment_intersection_strategy_type strategy; typename strategy::return_type result - = strategy::apply(seg_t(i, j), seg_t(j, k), m_robust_policy); + = strategy::apply(seg(i, j), seg(j, k), m_robust_policy); return result.template get<0>().count == 2; } @@ -300,9 +317,9 @@ private: int arrival = d_info().arrival[OpId]; bool same_dirs = d_info().dir_a == 0 && d_info().dir_b == 0; - if ( same_dirs ) + if (same_dirs) { - if ( i_info().count == 2 ) + if (i_info().count == 2) { return arrival != -1; } diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/get_turns.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/get_turns.hpp index eac799b114..098c7b5642 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/get_turns.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/get_turns.hpp @@ -143,7 +143,7 @@ class get_turns_in_sections template static inline bool neighbouring(Section const& section, - int index1, int index2) + signed_size_type index1, signed_size_type index2) { // About n-2: // (square: range_count=5, indices 0,1,2,3 @@ -151,7 +151,7 @@ class get_turns_in_sections // Also tested for open polygons, and/or duplicates // About first condition: will be optimized by compiler (static) // It checks if it is areal (box,ring,(multi)polygon - int const n = int(section.range_count); + signed_size_type const n = static_cast(section.range_count); boost::ignore_unused_variable_warning(n); boost::ignore_unused_variable_warning(index1); @@ -208,8 +208,8 @@ public : int const dir1 = sec1.directions[0]; int const dir2 = sec2.directions[0]; - int index1 = sec1.begin_index; - int ndi1 = sec1.non_duplicate_index; + signed_size_type index1 = sec1.begin_index; + signed_size_type ndi1 = sec1.non_duplicate_index; bool const same_source = source_id1 == source_id2 @@ -237,8 +237,8 @@ public : begin_range_1, end_range_1, next1, true); advance_to_non_duplicate_next(nd_next1, it1, sec1, robust_policy); - int index2 = sec2.begin_index; - int ndi2 = sec2.non_duplicate_index; + signed_size_type index2 = sec2.begin_index; + signed_size_type ndi2 = sec2.non_duplicate_index; range2_iterator prev2, it2, end2; @@ -360,7 +360,7 @@ private : typename boost::range_iterator::type& it, typename boost::range_iterator::type& prev, typename boost::range_iterator::type& end, - int& index, int& ndi, + signed_size_type& index, signed_size_type& ndi, int dir, Box const& other_bounding_box, RobustPolicy const& robust_policy) { it = boost::begin(range) + section.begin_index; @@ -525,8 +525,8 @@ struct get_turns_cs RobustPolicy const& robust_policy, Turns& turns, InterruptPolicy& interrupt_policy, - signed_index_type multi_index = -1, - signed_index_type ring_index = -1) + signed_size_type multi_index = -1, + signed_size_type ring_index = -1) { if ( boost::size(range) <= 1) { @@ -553,7 +553,7 @@ struct get_turns_cs //char previous_side[2] = {0, 0}; - signed_index_type index = 0; + signed_size_type index = 0; for (iterator_type prev = it++; it != boost::end(view); @@ -697,7 +697,7 @@ struct get_turns_polygon_cs int source_id2, Box const& box, RobustPolicy const& robust_policy, Turns& turns, InterruptPolicy& interrupt_policy, - signed_index_type multi_index = -1) + signed_size_type multi_index = -1) { typedef typename geometry::ring_type::type ring_type; @@ -715,7 +715,7 @@ struct get_turns_polygon_cs turns, interrupt_policy, multi_index, -1); - signed_index_type i = 0; + signed_size_type i = 0; typename interior_return_type::type rings = interior_rings(polygon); @@ -754,7 +754,7 @@ struct get_turns_multi_polygon_cs Multi const >::type iterator_type; - signed_index_type i = 0; + signed_size_type i = 0; for (iterator_type it = boost::begin(multi); it != boost::end(multi); ++it, ++i) diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp index 5b9562674a..af0731f5a9 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/intersection_insert.hpp @@ -39,6 +39,7 @@ #include #include +#include #include #include @@ -284,7 +285,8 @@ namespace dispatch template < // real types - typename Geometry1, typename Geometry2, + typename Geometry1, + typename Geometry2, typename GeometryOut, overlay_type OverlayType, // orientation @@ -574,6 +576,46 @@ struct intersection_insert_reversed }; +// dispatch for intersection(areal, areal, linear) +template +< + typename Geometry1, typename Geometry2, + typename LinestringOut, + bool Reverse1, bool Reverse2, bool ReverseOut, + typename Tag1, typename Tag2 +> +struct intersection_insert + < + Geometry1, Geometry2, + LinestringOut, + overlay_intersection, + Reverse1, Reverse2, ReverseOut, + Tag1, Tag2, linestring_tag, + true, true, false + > +{ + template + < + typename RobustPolicy, typename OutputIterator, typename Strategy + > + static inline OutputIterator apply(Geometry1 const& geometry1, + Geometry2 const& geometry2, + RobustPolicy const& robust_policy, + OutputIterator oit, + Strategy const& strategy) + { + detail::boundary_view view1(geometry1); + detail::boundary_view view2(geometry2); + + return detail::overlay::linear_linear_linestring + < + detail::boundary_view, + detail::boundary_view, + LinestringOut, + overlay_intersection + >::apply(view1, view2, robust_policy, oit, strategy); + } +}; // dispatch for non-areal geometries template diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/linear_linear.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/linear_linear.hpp index 73cef84c69..34517f6590 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/linear_linear.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/linear_linear.hpp @@ -157,13 +157,18 @@ protected: < typename Turns, typename LinearGeometry1, - typename LinearGeometry2 + typename LinearGeometry2, + typename RobustPolicy > static inline void compute_turns(Turns& turns, LinearGeometry1 const& linear1, - LinearGeometry2 const& linear2) + LinearGeometry2 const& linear2, + RobustPolicy const& robust_policy) { turns.clear(); + + detail::get_turns::no_interrupt_policy interrupt_policy; + geometry::detail::relate::turns::get_turns < LinearGeometry1, @@ -173,8 +178,9 @@ protected: LinearGeometry1, LinearGeometry2, assign_policy - > - >::apply(turns, linear1, linear2); + >, + RobustPolicy + >::apply(turns, linear1, linear2, interrupt_policy, robust_policy); } @@ -229,19 +235,27 @@ public: > static inline OutputIterator apply(Linear1 const& linear1, Linear2 const& linear2, - RobustPolicy const&, + RobustPolicy const& robust_policy, OutputIterator oit, Strategy const& ) { typedef typename detail::relate::turns::get_turns < - Linear1, Linear2 + Linear1, + Linear2, + detail::get_turns::get_turn_info_type + < + Linear1, + Linear2, + assign_policy + >, + RobustPolicy >::turn_info turn_info; typedef std::vector turns_container; turns_container turns; - compute_turns(turns, linear1, linear2); + compute_turns(turns, linear1, linear2, robust_policy); if ( turns.empty() ) { diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/segment_identifier.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/segment_identifier.hpp index 516ec349e8..e77a163dd5 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/segment_identifier.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/segment_identifier.hpp @@ -19,7 +19,7 @@ #endif -#include +#include namespace boost { namespace geometry @@ -40,10 +40,10 @@ struct segment_identifier , segment_index(-1) {} - inline segment_identifier(signed_index_type src, - signed_index_type mul, - signed_index_type rin, - signed_index_type seg) + inline segment_identifier(signed_size_type src, + signed_size_type mul, + signed_size_type rin, + signed_size_type seg) : source_index(src) , multi_index(mul) , ring_index(rin) @@ -81,10 +81,10 @@ struct segment_identifier } #endif - signed_index_type source_index; - signed_index_type multi_index; - signed_index_type ring_index; - signed_index_type segment_index; + signed_size_type source_index; + signed_size_type multi_index; + signed_size_type ring_index; + signed_size_type segment_index; }; diff --git a/3party/boost/boost/geometry/algorithms/detail/overlay/traverse.hpp b/3party/boost/boost/geometry/algorithms/detail/overlay/traverse.hpp index e121fe5581..803a164711 100644 --- a/3party/boost/boost/geometry/algorithms/detail/overlay/traverse.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/overlay/traverse.hpp @@ -151,8 +151,8 @@ inline bool assign_next_ip(G1 const& g1, G2 const& g2, inline bool select_source(operation_type operation, - signed_index_type source1, - signed_index_type source2) + signed_size_type source1, + signed_size_type source2) { return (operation == operation_intersection && source1 != source2) || (operation == operation_union && source1 == source2) diff --git a/3party/boost/boost/geometry/algorithms/detail/relate/areal_areal.hpp b/3party/boost/boost/geometry/algorithms/detail/relate/areal_areal.hpp index 78fbb8ee84..cc9c1b67ca 100644 --- a/3party/boost/boost/geometry/algorithms/detail/relate/areal_areal.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/relate/areal_areal.hpp @@ -104,9 +104,9 @@ public: // Check if any interior ring is outside ring_identifier ring_id(0, -1, 0); - int const irings_count = boost::numeric_cast( - geometry::num_interior_rings(areal) ); - for ( ; ring_id.ring_index < irings_count ; ++ring_id.ring_index ) + std::size_t const irings_count = geometry::num_interior_rings(areal); + for ( ; static_cast(ring_id.ring_index) < irings_count ; + ++ring_id.ring_index ) { typename detail::sub_range_return_type::type range_ref = detail::sub_range(areal, ring_id); @@ -140,9 +140,9 @@ public: // Check if any interior ring is inside ring_identifier ring_id(0, -1, 0); - int const irings_count = boost::numeric_cast( - geometry::num_interior_rings(areal) ); - for ( ; ring_id.ring_index < irings_count ; ++ring_id.ring_index ) + std::size_t const irings_count = geometry::num_interior_rings(areal); + for ( ; static_cast(ring_id.ring_index) < irings_count ; + ++ring_id.ring_index ) { typename detail::sub_range_return_type::type range_ref = detail::sub_range(areal, ring_id); @@ -793,8 +793,8 @@ struct areal_areal { segment_identifier const& seg_id = turn.operations[OpId].seg_id; - signed_index_type - count = boost::numeric_cast( + signed_size_type + count = boost::numeric_cast( geometry::num_interior_rings( detail::single_geometry(analyser.geometry, seg_id))); @@ -804,8 +804,8 @@ struct areal_areal template static inline void for_no_turns_rings(Analyser & analyser, Turn const& turn, - signed_index_type first, - signed_index_type last) + signed_size_type first, + signed_size_type last) { segment_identifier seg_id = turn.operations[OpId].seg_id; diff --git a/3party/boost/boost/geometry/algorithms/detail/relate/follow_helpers.hpp b/3party/boost/boost/geometry/algorithms/detail/relate/follow_helpers.hpp index ce97879fc7..20122471e5 100644 --- a/3party/boost/boost/geometry/algorithms/detail/relate/follow_helpers.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/relate/follow_helpers.hpp @@ -101,7 +101,7 @@ struct for_each_disjoint_geometry_if std::vector detected_intersections(count, false); for ( TurnIt it = first ; it != last ; ++it ) { - signed_index_type multi_index = it->operations[OpId].seg_id.multi_index; + signed_size_type multi_index = it->operations[OpId].seg_id.multi_index; BOOST_GEOMETRY_ASSERT(multi_index >= 0); std::size_t const index = static_cast(multi_index); BOOST_GEOMETRY_ASSERT(index < count); diff --git a/3party/boost/boost/geometry/algorithms/detail/relate/linear_areal.hpp b/3party/boost/boost/geometry/algorithms/detail/relate/linear_areal.hpp index a1d5f0adbc..e7cbf6f6c2 100644 --- a/3party/boost/boost/geometry/algorithms/detail/relate/linear_areal.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/relate/linear_areal.hpp @@ -325,7 +325,7 @@ struct linear_areal // if there was some previous ring if ( prev_seg_id_ptr != NULL ) { - signed_index_type const next_ring_index = prev_seg_id_ptr->ring_index + 1; + signed_size_type const next_ring_index = prev_seg_id_ptr->ring_index + 1; BOOST_GEOMETRY_ASSERT(next_ring_index >= 0); // if one of the last rings of previous single geometry was ommited @@ -396,7 +396,7 @@ struct linear_areal // if there was some previous ring if ( prev_seg_id_ptr != NULL ) { - signed_index_type const next_ring_index = prev_seg_id_ptr->ring_index + 1; + signed_size_type const next_ring_index = prev_seg_id_ptr->ring_index + 1; BOOST_GEOMETRY_ASSERT(next_ring_index >= 0); // if one of the last rings of previous single geometry was ommited @@ -738,6 +738,8 @@ struct linear_areal // handle the interior overlap if ( m_interior_detected ) { + BOOST_GEOMETRY_ASSERT_MSG(m_previous_turn_ptr, "non-NULL ptr expected"); + // real interior overlap if ( ! turn_on_the_same_ip(*m_previous_turn_ptr, *it) ) { @@ -747,21 +749,16 @@ struct linear_areal // new range detected - reset previous state and check the boundary if ( first_in_range ) { - // actually it should be != NULL if m_interior_detected - // so an assert could be checked here - if ( m_previous_turn_ptr ) + segment_identifier const& prev_seg_id = m_previous_turn_ptr->operations[op_id].seg_id; + + bool const prev_back_b = is_endpoint_on_boundary( + range::back(sub_range(geometry, prev_seg_id)), + boundary_checker); + + // if there is a boundary on the last point + if ( prev_back_b ) { - segment_identifier const& prev_seg_id = m_previous_turn_ptr->operations[op_id].seg_id; - - bool const prev_back_b = is_endpoint_on_boundary( - range::back(sub_range(geometry, prev_seg_id)), - boundary_checker); - - // if there is a boundary on the last point - if ( prev_back_b ) - { - update(res); - } + update(res); } // The exit_watcher is reset below @@ -1334,8 +1331,8 @@ struct linear_areal if ( first == last ) return last; - signed_index_type const multi_index = first->operations[1].seg_id.multi_index; - signed_index_type const ring_index = first->operations[1].seg_id.ring_index; + signed_size_type const multi_index = first->operations[1].seg_id.multi_index; + signed_size_type const ring_index = first->operations[1].seg_id.ring_index; fun(*first); ++first; diff --git a/3party/boost/boost/geometry/algorithms/detail/relate/turns.hpp b/3party/boost/boost/geometry/algorithms/detail/relate/turns.hpp index 636c9756d8..d54948e1f5 100644 --- a/3party/boost/boost/geometry/algorithms/detail/relate/turns.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/relate/turns.hpp @@ -84,14 +84,30 @@ struct get_turns Geometry2 const& geometry2, InterruptPolicy & interrupt_policy) { - static const bool reverse1 = detail::overlay::do_reverse::value>::value; - static const bool reverse2 = detail::overlay::do_reverse::value>::value; - RobustPolicy robust_policy = geometry::get_rescale_policy < RobustPolicy >(geometry1, geometry2); + apply(turns, geometry1, geometry2, interrupt_policy, robust_policy); + } + + template + static inline void apply(Turns & turns, + Geometry1 const& geometry1, + Geometry2 const& geometry2, + InterruptPolicy & interrupt_policy, + RobustPolicy const& robust_policy) + { + static const bool reverse1 = detail::overlay::do_reverse + < + geometry::point_order::value + >::value; + + static const bool reverse2 = detail::overlay::do_reverse + < + geometry::point_order::value + >::value; dispatch::get_turns < @@ -255,9 +271,14 @@ struct less { static LessOp less_op; - return left.operations[OpId].fraction < right.operations[OpId].fraction - || ( left.operations[OpId].fraction == right.operations[OpId].fraction - && less_op(left, right) ); + return + geometry::math::equals(left.operations[OpId].fraction, + right.operations[OpId].fraction) + ? + less_op(left, right) + : + (left.operations[OpId].fraction < right.operations[OpId].fraction) + ; } template diff --git a/3party/boost/boost/geometry/algorithms/detail/result_inverse.hpp b/3party/boost/boost/geometry/algorithms/detail/result_inverse.hpp new file mode 100644 index 0000000000..01a1997e49 --- /dev/null +++ b/3party/boost/boost/geometry/algorithms/detail/result_inverse.hpp @@ -0,0 +1,44 @@ +// Boost.Geometry + +// Copyright (c) 2015 Oracle and/or its affiliates. + +// Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle + +// 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) + +#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_RESULT_INVERSE_HPP +#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_RESULT_INVERSE_HPP + + +#include + +#include +#include + +#include + +#include + + +namespace boost { namespace geometry { namespace detail +{ + +template +struct result_inverse +{ + void set(T const& d, T const& a) + { + distance = d; + azimuth = a; + } + + T distance; + T azimuth; +}; + +}}} // namespace boost::geometry::detail + + +#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_RESULT_INVERSE_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/ring_identifier.hpp b/3party/boost/boost/geometry/algorithms/detail/ring_identifier.hpp index bc3fe1fef3..9ba39e4a8b 100644 --- a/3party/boost/boost/geometry/algorithms/detail/ring_identifier.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/ring_identifier.hpp @@ -15,7 +15,7 @@ #endif -#include +#include namespace boost { namespace geometry @@ -32,9 +32,9 @@ struct ring_identifier , ring_index(-1) {} - inline ring_identifier(signed_index_type src, - signed_index_type mul, - signed_index_type rin) + inline ring_identifier(signed_size_type src, + signed_size_type mul, + signed_size_type rin) : source_index(src) , multi_index(mul) , ring_index(rin) @@ -68,9 +68,9 @@ struct ring_identifier #endif - signed_index_type source_index; - signed_index_type multi_index; - signed_index_type ring_index; + signed_size_type source_index; + signed_size_type multi_index; + signed_size_type ring_index; }; diff --git a/3party/boost/boost/geometry/algorithms/detail/sections/sectionalize.hpp b/3party/boost/boost/geometry/algorithms/detail/sections/sectionalize.hpp index a744ea0a34..1ced394353 100644 --- a/3party/boost/boost/geometry/algorithms/detail/sections/sectionalize.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/sections/sectionalize.hpp @@ -1,12 +1,12 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2014 Adam Wulkiewicz, Lodz, Poland. +// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. +// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. +// Copyright (c) 2014-2015 Adam Wulkiewicz, Lodz, Poland. -// This file was modified by Oracle on 2013, 2014. -// Modifications copyright (c) 2013, 2014 Oracle and/or its affiliates. +// This file was modified by Oracle on 2013, 2014, 2015. +// Modifications copyright (c) 2013-2015 Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle // Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle @@ -36,6 +36,7 @@ #include #include #include +#include #include #include @@ -80,12 +81,14 @@ struct section ring_identifier ring_id; Box bounding_box; - int begin_index; - int end_index; + // NOTE: size_type could be passed as template parameter + // NOTE: these probably also could be of type std::size_t + signed_size_type begin_index; + signed_size_type end_index; std::size_t count; std::size_t range_count; bool duplicate; - int non_duplicate_index; + signed_size_type non_duplicate_index; bool is_non_duplicate_first; bool is_non_duplicate_last; @@ -248,7 +251,7 @@ struct check_duplicate_loop template struct assign_loop { - static inline void apply(T dims[Count], int const value) + static inline void apply(T dims[Count], T const value) { dims[Index] = value; assign_loop::apply(dims, value); @@ -258,7 +261,7 @@ struct assign_loop template struct assign_loop { - static inline void apply(T [Count], int const) + static inline void apply(T [Count], T const) { } }; @@ -291,8 +294,8 @@ struct sectionalize_part typedef typename boost::range_value::type section_type; BOOST_STATIC_ASSERT ( - (static_cast(section_type::dimension_count) - == static_cast(boost::mpl::size::value)) + (static_cast(section_type::dimension_count) + == static_cast(boost::mpl::size::value)) ); typedef typename geometry::robust_point_type @@ -307,8 +310,8 @@ struct sectionalize_part return; } - int index = 0; - int ndi = 0; // non duplicate index + signed_size_type index = 0; + signed_size_type ndi = 0; // non duplicate index section_type section; bool mark_first_non_duplicated = true; diff --git a/3party/boost/boost/geometry/algorithms/detail/signed_index_type.hpp b/3party/boost/boost/geometry/algorithms/detail/signed_size_type.hpp similarity index 59% rename from 3party/boost/boost/geometry/algorithms/detail/signed_index_type.hpp rename to 3party/boost/boost/geometry/algorithms/detail/signed_size_type.hpp index cff1e98edc..db7344ec80 100644 --- a/3party/boost/boost/geometry/algorithms/detail/signed_index_type.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/signed_size_type.hpp @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014, Oracle and/or its affiliates. +// Copyright (c) 2014-2015, Oracle and/or its affiliates. // Contributed and/or modified by Adam Wulkiewicz, on behalf of Oracle @@ -8,8 +8,8 @@ // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_SIGNED_INDEX_TYPE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_SIGNED_INDEX_TYPE_HPP +#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_SIGNED_SIZE_TYPE_HPP +#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_SIGNED_SIZE_TYPE_HPP #include @@ -20,11 +20,9 @@ namespace boost { namespace geometry { -typedef boost::make_signed::type signed_index_type; typedef boost::make_signed::type signed_size_type; -//typedef std::ptrdiff_t signed_index_type; }} // namespace boost::geometry -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_SIGNED_INDEX_TYPE_HPP +#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_SIGNED_SIZE_TYPE_HPP diff --git a/3party/boost/boost/geometry/algorithms/detail/thomas_inverse.hpp b/3party/boost/boost/geometry/algorithms/detail/thomas_inverse.hpp index 1027cd065c..bcf0dfc4cc 100644 --- a/3party/boost/boost/geometry/algorithms/detail/thomas_inverse.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/thomas_inverse.hpp @@ -17,10 +17,11 @@ #include #include +#include #include #include - +#include namespace boost { namespace geometry { namespace detail { @@ -34,30 +35,31 @@ namespace boost { namespace geometry { namespace detail - Technical Report: PAUL D. THOMAS, SPHEROIDAL GEODESICS, REFERENCE SYSTEMS, AND LOCAL GEOMETRY, 1970 http://www.dtic.mil/docs/citations/AD703541 */ -template -class thomas_inverse +template +struct thomas_inverse { -public: + typedef result_inverse result_type; + template - thomas_inverse(T1 const& lon1, - T1 const& lat1, - T2 const& lon2, - T2 const& lat2, - Spheroid const& spheroid) - : m_a(get_radius<0>(spheroid)) - , m_f(detail::flattening(spheroid)) - , m_is_result_zero(false) + static inline result_type apply(T1 const& lon1, + T1 const& lat1, + T2 const& lon2, + T2 const& lat2, + Spheroid const& spheroid) { + result_type result; + // coordinates in radians if ( math::equals(lon1, lon2) && math::equals(lat1, lat2) ) { - m_is_result_zero = true; - return; + result.set(CT(0), CT(0)); + return result; } - CT const one_minus_f = CT(1) - m_f; + CT const f = detail::flattening(spheroid); + CT const one_minus_f = CT(1) - f; // CT const tan_theta1 = one_minus_f * tan(lat1); // CT const tan_theta2 = one_minus_f * tan(lat2); @@ -74,127 +76,113 @@ public: CT const theta_m = (theta1 + theta2) / CT(2); CT const d_theta_m = (theta2 - theta1) / CT(2); - m_d_lambda = lon2 - lon1; - CT const d_lambda_m = m_d_lambda / CT(2); + CT const d_lambda = lon2 - lon1; + CT const d_lambda_m = d_lambda / CT(2); - m_sin_theta_m = sin(theta_m); - m_cos_theta_m = cos(theta_m); - m_sin_d_theta_m = sin(d_theta_m); - m_cos_d_theta_m = cos(d_theta_m); - CT const sin2_theta_m = math::sqr(m_sin_theta_m); - CT const cos2_theta_m = math::sqr(m_cos_theta_m); - CT const sin2_d_theta_m = math::sqr(m_sin_d_theta_m); - CT const cos2_d_theta_m = math::sqr(m_cos_d_theta_m); + CT const sin_theta_m = sin(theta_m); + CT const cos_theta_m = cos(theta_m); + CT const sin_d_theta_m = sin(d_theta_m); + CT const cos_d_theta_m = cos(d_theta_m); + CT const sin2_theta_m = math::sqr(sin_theta_m); + CT const cos2_theta_m = math::sqr(cos_theta_m); + CT const sin2_d_theta_m = math::sqr(sin_d_theta_m); + CT const cos2_d_theta_m = math::sqr(cos_d_theta_m); CT const sin_d_lambda_m = sin(d_lambda_m); CT const sin2_d_lambda_m = math::sqr(sin_d_lambda_m); CT const H = cos2_theta_m - sin2_d_theta_m; CT const L = sin2_d_theta_m + H * sin2_d_lambda_m; - m_cos_d = CT(1) - CT(2) * L; - CT const d = acos(m_cos_d); - m_sin_d = sin(d); + CT const cos_d = CT(1) - CT(2) * L; + CT const d = acos(cos_d); + CT const sin_d = sin(d); CT const one_minus_L = CT(1) - L; - if ( math::equals(m_sin_d, CT(0)) + if ( math::equals(sin_d, CT(0)) || math::equals(L, CT(0)) || math::equals(one_minus_L, CT(0)) ) { - m_is_result_zero = true; - return; + result.set(CT(0), CT(0)); + return result; } CT const U = CT(2) * sin2_theta_m * cos2_d_theta_m / one_minus_L; CT const V = CT(2) * sin2_d_theta_m * cos2_theta_m / L; - m_X = U + V; - m_Y = U - V; - m_T = d / m_sin_d; + CT const X = U + V; + CT const Y = U - V; + CT const T = d / sin_d; //CT const D = CT(4) * math::sqr(T); //CT const E = CT(2) * cos_d; //CT const A = D * E; //CT const B = CT(2) * D; //CT const C = T - (A - E) / CT(2); - } - inline CT distance() const - { - if ( m_is_result_zero ) + if ( BOOST_GEOMETRY_CONDITION(EnableDistance) ) { - // TODO return some approximated value - return CT(0); + //CT const n1 = X * (A + C*X); + //CT const n2 = Y * (B + E*Y); + //CT const n3 = D*X*Y; + + //CT const f_sqr = math::sqr(f); + //CT const f_sqr_per_64 = f_sqr / CT(64); + + CT const delta1d = f * (T*X-Y) / CT(4); + //CT const delta2d = f_sqr_per_64 * (n1 - n2 + n3); + + CT const a = get_radius<0>(spheroid); + + result.distance = a * sin_d * (T - delta1d); + //double S2 = a * sin_d * (T - delta1d + delta2d); + } + else + { + result.distance = CT(0); } - //CT const n1 = X * (A + C*X); - //CT const n2 = Y * (B + E*Y); - //CT const n3 = D*X*Y; - - //CT const f_sqr = math::sqr(f); - //CT const f_sqr_per_64 = f_sqr / CT(64); - - CT const delta1d = m_f * (m_T*m_X-m_Y) / CT(4); - //CT const delta2d = f_sqr_per_64 * (n1 - n2 + n3); - - return m_a * m_sin_d * (m_T - delta1d); - //double S2 = a * sin_d * (T - delta1d + delta2d); - } - - inline CT azimuth() const - { - // NOTE: if both cos_latX == 0 then below we'd have 0 * INF - // it's a situation when the endpoints are on the poles +-90 deg - // in this case the azimuth could either be 0 or +-pi - if ( m_is_result_zero ) + if ( BOOST_GEOMETRY_CONDITION(EnableAzimuth) ) { - return CT(0); + // NOTE: if both cos_latX == 0 then below we'd have 0 * INF + // it's a situation when the endpoints are on the poles +-90 deg + // in this case the azimuth could either be 0 or +-pi + // but above always 0 is returned + + // may also be used to calculate distance21 + //CT const D = CT(4) * math::sqr(T); + CT const E = CT(2) * cos_d; + //CT const A = D * E; + //CT const B = CT(2) * D; + // may also be used to calculate distance21 + CT const f_sqr = math::sqr(f); + CT const f_sqr_per_64 = f_sqr / CT(64); + + CT const F = CT(2)*Y-E*(CT(4)-X); + //CT const M = CT(32)*T-(CT(20)*T-A)*X-(B+CT(4))*Y; + CT const G = f*T/CT(2) + f_sqr_per_64; + CT const tan_d_lambda = tan(d_lambda); + CT const Q = -(F*G*tan_d_lambda) / CT(4); + + CT const d_lambda_p = (d_lambda + Q) / CT(2); + CT const tan_d_lambda_p = tan(d_lambda_p); + + CT const v = atan2(cos_d_theta_m, sin_theta_m * tan_d_lambda_p); + CT const u = atan2(-sin_d_theta_m, cos_theta_m * tan_d_lambda_p); + + CT const pi = math::pi(); + CT alpha1 = v + u; + if ( alpha1 > pi ) + { + alpha1 -= CT(2) * pi; + } + + result.azimuth = alpha1; + } + else + { + result.azimuth = CT(0); } - // may also be used to calculate distance21 - //CT const D = CT(4) * math::sqr(T); - CT const E = CT(2) * m_cos_d; - //CT const A = D * E; - //CT const B = CT(2) * D; - // may also be used to calculate distance21 - CT const f_sqr = math::sqr(m_f); - CT const f_sqr_per_64 = f_sqr / CT(64); - - CT const F = CT(2)*m_Y-E*(CT(4)-m_X); - //CT const M = CT(32)*T-(CT(20)*T-A)*X-(B+CT(4))*Y; - CT const G = m_f*m_T/CT(2) + f_sqr_per_64; - CT const tan_d_lambda = tan(m_d_lambda); - CT const Q = -(F*G*tan_d_lambda) / CT(4); - - CT const d_lambda_p = (m_d_lambda + Q) / CT(2); - CT const tan_d_lambda_p = tan(d_lambda_p); - - CT const v = atan2(m_cos_d_theta_m, m_sin_theta_m * tan_d_lambda_p); - CT const u = atan2(-m_sin_d_theta_m, m_cos_theta_m * tan_d_lambda_p); - - CT const pi = math::pi(); - CT alpha1 = v + u; - if ( alpha1 > pi ) - { - alpha1 -= CT(2) * pi; - } - - return alpha1; + return result; } - -private: - CT const m_a; - CT const m_f; - - CT m_d_lambda; - CT m_cos_d; - CT m_sin_d; - CT m_X; - CT m_Y; - CT m_T; - CT m_sin_theta_m; - CT m_cos_theta_m; - CT m_sin_d_theta_m; - CT m_cos_d_theta_m; - - bool m_is_result_zero; }; }}} // namespace boost::geometry::detail diff --git a/3party/boost/boost/geometry/algorithms/detail/turns/compare_turns.hpp b/3party/boost/boost/geometry/algorithms/detail/turns/compare_turns.hpp index c29d5863b7..ec383bf103 100644 --- a/3party/boost/boost/geometry/algorithms/detail/turns/compare_turns.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/turns/compare_turns.hpp @@ -1,6 +1,6 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2014, Oracle and/or its affiliates. +// Copyright (c) 2014-2015, Oracle and/or its affiliates. // Licensed under the Boost Software License version 1.0. // http://www.boost.org/users/license.html @@ -30,7 +30,7 @@ namespace detail { namespace turns // seg_id -> fraction -> other_id -> operation template < - typename IdLess = std::less, + typename IdLess = std::less, int N = 0, int U = 1, int I = 2, int B = 3, int C = 4, int O = 0, std::size_t OpId = 0 > @@ -85,10 +85,14 @@ struct less_seg_fraction_other_op template static inline bool use_fraction(Turn const& left, Turn const& right) { - return left.operations[OpId].fraction < right.operations[OpId].fraction - || ( geometry::math::equals(left.operations[OpId].fraction, right.operations[OpId].fraction) - && use_other_id(left, right) - ); + return + geometry::math::equals(left.operations[OpId].fraction, + right.operations[OpId].fraction) + ? + use_other_id(left, right) + : + (left.operations[OpId].fraction < right.operations[OpId].fraction) + ; } template diff --git a/3party/boost/boost/geometry/algorithms/detail/turns/print_turns.hpp b/3party/boost/boost/geometry/algorithms/detail/turns/print_turns.hpp index 9d4e45c41f..1e9b9df409 100644 --- a/3party/boost/boost/geometry/algorithms/detail/turns/print_turns.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/turns/print_turns.hpp @@ -56,7 +56,7 @@ struct turn_printer <<": seg: " << turn.operations[0].seg_id.source_index << ", m: " << turn.operations[0].seg_id.multi_index << ", r: " << turn.operations[0].seg_id.ring_index - << ", s: " << turn.operations[0].seg_id.segment_index << ", "; + << ", s: " << turn.operations[0].seg_id.segment_index; out << ", fr: " << fraction[0]; out << ", col?: " << turn.operations[0].is_collinear; out << ' ' << geometry::dsv(turn.point) << ' '; @@ -70,7 +70,7 @@ struct turn_printer << ": seg: " << turn.operations[1].seg_id.source_index << ", m: " << turn.operations[1].seg_id.multi_index << ", r: " << turn.operations[1].seg_id.ring_index - << ", s: " << turn.operations[1].seg_id.segment_index << ", "; + << ", s: " << turn.operations[1].seg_id.segment_index; out << ", fr: " << fraction[1]; out << ", col?: " << turn.operations[1].is_collinear; out << ' ' << geometry::dsv(turn.point) << ' '; diff --git a/3party/boost/boost/geometry/algorithms/detail/vincenty_direct.hpp b/3party/boost/boost/geometry/algorithms/detail/vincenty_direct.hpp index 775687cfdb..1c47a0f68d 100644 --- a/3party/boost/boost/geometry/algorithms/detail/vincenty_direct.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/vincenty_direct.hpp @@ -33,6 +33,18 @@ namespace boost { namespace geometry { namespace detail { +template +struct result_direct +{ + void set(T const& lo2, T const& la2) + { + lon2 = lo2; + lat2 = la2; + } + T lon2; + T lat2; +}; + /*! \brief The solution of the direct problem of geodesics on latlong coordinates, after Vincenty, 1975 \author See @@ -45,45 +57,49 @@ namespace boost { namespace geometry { namespace detail */ template -class vincenty_direct +struct vincenty_direct { + typedef result_direct result_type; + public: template - vincenty_direct(T const& lo1, - T const& la1, - Dist const& distance, - Azi const& azimuth12, - Spheroid const& spheroid) - : lon1(lo1) - , lat1(la1) - , is_distance_zero(false) + static inline result_type apply(T const& lo1, + T const& la1, + Dist const& distance, + Azi const& azimuth12, + Spheroid const& spheroid) { + result_type result; + + CT const lon1 = lo1; + CT const lat1 = la1; + if ( math::equals(distance, Dist(0)) || distance < Dist(0) ) { - is_distance_zero = true; - return; + result.set(lon1, lat1); + return result; } CT const radius_a = CT(get_radius<0>(spheroid)); CT const radius_b = CT(get_radius<2>(spheroid)); - flattening = geometry::detail::flattening(spheroid); + CT const flattening = geometry::detail::flattening(spheroid); - sin_azimuth12 = sin(azimuth12); - cos_azimuth12 = cos(azimuth12); + CT const sin_azimuth12 = sin(azimuth12); + CT const cos_azimuth12 = cos(azimuth12); // U: reduced latitude, defined by tan U = (1-f) tan phi - one_min_f = CT(1) - flattening; + CT const one_min_f = CT(1) - flattening; CT const tan_U1 = one_min_f * tan(lat1); CT const sigma1 = atan2(tan_U1, cos_azimuth12); // (1) // may be calculated from tan using 1 sqrt() CT const U1 = atan(tan_U1); - sin_U1 = sin(U1); - cos_U1 = cos(U1); + CT const sin_U1 = sin(U1); + CT const cos_U1 = cos(U1); - sin_alpha = cos_U1 * sin_azimuth12; // (2) - sin_alpha_sqr = math::sqr(sin_alpha); - cos_alpha_sqr = CT(1) - sin_alpha_sqr; + CT const sin_alpha = cos_U1 * sin_azimuth12; // (2) + CT const sin_alpha_sqr = math::sqr(sin_alpha); + CT const cos_alpha_sqr = CT(1) - sin_alpha_sqr; CT const b_sqr = radius_b * radius_b; CT const u_sqr = cos_alpha_sqr * (radius_a * radius_a - b_sqr) / b_sqr; @@ -91,9 +107,13 @@ public: CT const B = (u_sqr/CT(1024))*(CT(256) + u_sqr*(CT(-128) + u_sqr*(CT(74) - u_sqr*CT(47)))); // (4) CT s_div_bA = distance / (radius_b * A); - sigma = s_div_bA; // (7) + CT sigma = s_div_bA; // (7) CT previous_sigma; + CT sin_sigma; + CT cos_sigma; + CT cos_2sigma_m; + CT cos_2sigma_m_sqr; int counter = 0; // robustness @@ -120,35 +140,27 @@ public: } while ( geometry::math::abs(previous_sigma - sigma) > CT(1e-12) //&& geometry::math::abs(sigma) < pi && counter < BOOST_GEOMETRY_DETAIL_VINCENTY_MAX_STEPS ); // robustness - } - inline CT lat2() const - { - if ( is_distance_zero ) { - return lat1; + result.lat2 + = atan2( sin_U1 * cos_sigma + cos_U1 * sin_sigma * cos_azimuth12, + one_min_f * math::sqrt(sin_alpha_sqr + math::sqr(sin_U1 * sin_sigma - cos_U1 * cos_sigma * cos_azimuth12))); // (8) } - return atan2( sin_U1 * cos_sigma + cos_U1 * sin_sigma * cos_azimuth12, - one_min_f * math::sqrt(sin_alpha_sqr + math::sqr(sin_U1 * sin_sigma - cos_U1 * cos_sigma * cos_azimuth12))); // (8) - } - - inline CT lon2() const - { - if ( is_distance_zero ) { - return lon1; + CT const lambda = atan2( sin_sigma * sin_azimuth12, + cos_U1 * cos_sigma - sin_U1 * sin_sigma * cos_azimuth12); // (9) + CT const C = (flattening/CT(16)) * cos_alpha_sqr * ( CT(4) + flattening * ( CT(4) - CT(3) * cos_alpha_sqr ) ); // (10) + CT const L = lambda - (CT(1) - C) * flattening * sin_alpha + * ( sigma + C * sin_sigma * ( cos_2sigma_m + C * cos_sigma * ( CT(-1) + CT(2) * cos_2sigma_m_sqr ) ) ); // (11) + + result.lon2 = lon1 + L; } - CT const lambda = atan2( sin_sigma * sin_azimuth12, - cos_U1 * cos_sigma - sin_U1 * sin_sigma * cos_azimuth12); // (9) - CT const C = (flattening/CT(16)) * cos_alpha_sqr * ( CT(4) + flattening * ( CT(4) - CT(3) * cos_alpha_sqr ) ); // (10) - CT const L = lambda - (CT(1) - C) * flattening * sin_alpha - * ( sigma + C * sin_sigma * ( cos_2sigma_m + C * cos_sigma * ( CT(-1) + CT(2) * cos_2sigma_m_sqr ) ) ); // (11) - - return lon1 + L; + return result; } + /* inline CT azimuth21() const { // NOTE: signs of X and Y are different than in the original paper @@ -156,32 +168,7 @@ public: CT(0) : atan2(-sin_alpha, sin_U1 * sin_sigma - cos_U1 * cos_sigma * cos_azimuth12); // (12) } - -private: - CT sigma; - CT sin_sigma; - CT cos_sigma; - - CT cos_2sigma_m; - CT cos_2sigma_m_sqr; - - CT sin_alpha; - CT sin_alpha_sqr; - CT cos_alpha_sqr; - - CT sin_azimuth12; - CT cos_azimuth12; - - CT sin_U1; - CT cos_U1; - - CT flattening; - CT one_min_f; - - CT const lon1; - CT const lat1; - - bool is_distance_zero; + */ }; }}} // namespace boost::geometry::detail diff --git a/3party/boost/boost/geometry/algorithms/detail/vincenty_inverse.hpp b/3party/boost/boost/geometry/algorithms/detail/vincenty_inverse.hpp index 0b07fa18a1..0cffd3ca85 100644 --- a/3party/boost/boost/geometry/algorithms/detail/vincenty_inverse.hpp +++ b/3party/boost/boost/geometry/algorithms/detail/vincenty_inverse.hpp @@ -20,9 +20,11 @@ #include #include +#include #include #include +#include #ifndef BOOST_GEOMETRY_DETAIL_VINCENTY_MAX_STEPS @@ -44,22 +46,25 @@ namespace boost { namespace geometry { namespace detail - http://futureboy.homeip.net/fsp/colorize.fsp?fileName=navigation.frink */ -template -class vincenty_inverse +template +struct vincenty_inverse { + typedef result_inverse result_type; + public: template - vincenty_inverse(T1 const& lon1, - T1 const& lat1, - T2 const& lon2, - T2 const& lat2, - Spheroid const& spheroid) - : is_result_zero(false) + static inline result_type apply(T1 const& lon1, + T1 const& lat1, + T2 const& lon2, + T2 const& lat2, + Spheroid const& spheroid) { + result_type result; + if (math::equals(lat1, lat2) && math::equals(lon1, lon2)) { - is_result_zero = true; - return; + result.set(CT(0), CT(0)); + return result; } CT const c1 = 1; @@ -79,8 +84,8 @@ public: if (L < -pi) L += two_pi; if (L > pi) L -= two_pi; - radius_a = CT(get_radius<0>(spheroid)); - radius_b = CT(get_radius<2>(spheroid)); + CT const radius_a = CT(get_radius<0>(spheroid)); + CT const radius_b = CT(get_radius<2>(spheroid)); CT const flattening = geometry::detail::flattening(spheroid); // U: reduced latitude, defined by tan U = (1-f) tan phi @@ -92,11 +97,11 @@ public: CT const temp_den_U1 = math::sqrt(c1 + math::sqr(tan_U1)); CT const temp_den_U2 = math::sqrt(c1 + math::sqr(tan_U2)); // cos = 1 / sqrt(1 + tan^2) - cos_U1 = c1 / temp_den_U1; - cos_U2 = c1 / temp_den_U2; + CT const cos_U1 = c1 / temp_den_U1; + CT const cos_U2 = c1 / temp_den_U2; // sin = tan / sqrt(1 + tan^2) - sin_U1 = tan_U1 / temp_den_U1; - sin_U2 = tan_U2 / temp_den_U2; + CT const sin_U1 = tan_U1 / temp_den_U1; + CT const sin_U2 = tan_U2 / temp_den_U2; // calculate sin U and cos U directly //CT const U1 = atan(tan_U1); @@ -107,6 +112,13 @@ public: //sin_U2 = tan_U2 * cos_U2; // sin(U2); CT previous_lambda; + CT sin_lambda; + CT cos_lambda; + CT sin_sigma; + CT sin_alpha; + CT cos2_alpha; + CT cos2_sigma_m; + CT sigma; int counter = 0; // robustness @@ -131,85 +143,59 @@ public: } while ( geometry::math::abs(previous_lambda - lambda) > c_e_12 && geometry::math::abs(lambda) < pi && counter < BOOST_GEOMETRY_DETAIL_VINCENTY_MAX_STEPS ); // robustness - } - inline CT distance() const - { - if ( is_result_zero ) + if ( BOOST_GEOMETRY_CONDITION(EnableDistance) ) { - return CT(0); + // Oops getting hard here + // (again, problem is that ttmath cannot divide by doubles, which is OK) + CT const c1 = 1; + CT const c2 = 2; + CT const c3 = 3; + CT const c4 = 4; + CT const c6 = 6; + CT const c47 = 47; + CT const c74 = 74; + CT const c128 = 128; + CT const c256 = 256; + CT const c175 = 175; + CT const c320 = 320; + CT const c768 = 768; + CT const c1024 = 1024; + CT const c4096 = 4096; + CT const c16384 = 16384; + + //CT sqr_u = cos2_alpha * (math::sqr(radius_a) - math::sqr(radius_b)) / math::sqr(radius_b); // above (1) + CT sqr_u = cos2_alpha * ( math::sqr(radius_a / radius_b) - c1 ); // above (1) + + CT A = c1 + sqr_u/c16384 * (c4096 + sqr_u * (-c768 + sqr_u * (c320 - c175 * sqr_u))); // (3) + CT B = sqr_u/c1024 * (c256 + sqr_u * ( -c128 + sqr_u * (c74 - c47 * sqr_u))); // (4) + CT delta_sigma = B * sin_sigma * ( cos2_sigma_m + (B/c4) * (cos(sigma)* (-c1 + c2 * cos2_sigma_m) + - (B/c6) * cos2_sigma_m * (-c3 + c4 * math::sqr(sin_sigma)) * (-c3 + c4 * cos2_sigma_m))); // (6) + + result.distance = radius_b * A * (sigma - delta_sigma); // (19) + } + else + { + result.distance = CT(0); } - // Oops getting hard here - // (again, problem is that ttmath cannot divide by doubles, which is OK) - CT const c1 = 1; - CT const c2 = 2; - CT const c3 = 3; - CT const c4 = 4; - CT const c6 = 6; - CT const c47 = 47; - CT const c74 = 74; - CT const c128 = 128; - CT const c256 = 256; - CT const c175 = 175; - CT const c320 = 320; - CT const c768 = 768; - CT const c1024 = 1024; - CT const c4096 = 4096; - CT const c16384 = 16384; + if ( BOOST_GEOMETRY_CONDITION(EnableAzimuth) ) + { + result.azimuth = atan2(cos_U2 * sin_lambda, cos_U1 * sin_U2 - sin_U1 * cos_U2 * cos_lambda); // (20) + } + else + { + result.azimuth = CT(0); + } - //CT sqr_u = cos2_alpha * (math::sqr(radius_a) - math::sqr(radius_b)) / math::sqr(radius_b); // above (1) - CT sqr_u = cos2_alpha * ( math::sqr(radius_a / radius_b) - c1 ); // above (1) - - CT A = c1 + sqr_u/c16384 * (c4096 + sqr_u * (-c768 + sqr_u * (c320 - c175 * sqr_u))); // (3) - CT B = sqr_u/c1024 * (c256 + sqr_u * ( -c128 + sqr_u * (c74 - c47 * sqr_u))); // (4) - CT delta_sigma = B * sin_sigma * ( cos2_sigma_m + (B/c4) * (cos(sigma)* (-c1 + c2 * cos2_sigma_m) - - (B/c6) * cos2_sigma_m * (-c3 + c4 * math::sqr(sin_sigma)) * (-c3 + c4 * cos2_sigma_m))); // (6) - - return radius_b * A * (sigma - delta_sigma); // (19) - } - - inline CT azimuth() const - { - return is_result_zero ? - CT(0) : - atan2(cos_U2 * sin_lambda, cos_U1 * sin_U2 - sin_U1 * cos_U2 * cos_lambda); // (20) + return result; } // inline CT azimuth21() const // { // // NOTE: signs of X and Y are different than in the original paper -// return is_result_zero ? -// CT(0) : -// atan2(-cos_U1 * sin_lambda, sin_U1 * cos_U2 - cos_U1 * sin_U2 * cos_lambda); // (21) +// atan2(-cos_U1 * sin_lambda, sin_U1 * cos_U2 - cos_U1 * sin_U2 * cos_lambda); // (21) // } - -private: - // alpha: azimuth of the geodesic at the equator - CT cos2_alpha; - CT sin_alpha; - - // sigma: angular distance p1,p2 on the sphere - // sigma1: angular distance on the sphere from the equator to p1 - // sigma_m: angular distance on the sphere from the equator to the midpoint of the line - CT sigma; - CT sin_sigma; - CT cos2_sigma_m; - - CT sin_lambda; - CT cos_lambda; - - // set only once - CT cos_U1; - CT cos_U2; - CT sin_U1; - CT sin_U2; - - // set only once - CT radius_a; - CT radius_b; - - bool is_result_zero; }; }}} // namespace boost::geometry::detail diff --git a/3party/boost/boost/geometry/algorithms/dispatch/envelope.hpp b/3party/boost/boost/geometry/algorithms/dispatch/envelope.hpp index 8b1324d72e..bb8a99f5a8 100644 --- a/3party/boost/boost/geometry/algorithms/dispatch/envelope.hpp +++ b/3party/boost/boost/geometry/algorithms/dispatch/envelope.hpp @@ -12,8 +12,8 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DISPATCH_ENVELOPE_HPP @@ -36,7 +36,7 @@ template < typename Geometry, typename Tag = typename tag::type, - typename CSTag = typename cs_tag::type + typename CS_Tag = typename cs_tag::type > struct envelope : not_implemented {}; diff --git a/3party/boost/boost/geometry/algorithms/dispatch/expand.hpp b/3party/boost/boost/geometry/algorithms/dispatch/expand.hpp index e290080ac0..2c23d6a1ce 100644 --- a/3party/boost/boost/geometry/algorithms/dispatch/expand.hpp +++ b/3party/boost/boost/geometry/algorithms/dispatch/expand.hpp @@ -13,8 +13,8 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_DISPATCH_EXPAND_HPP diff --git a/3party/boost/boost/geometry/algorithms/envelope.hpp b/3party/boost/boost/geometry/algorithms/envelope.hpp index 2f5c7430b4..00981224b2 100644 --- a/3party/boost/boost/geometry/algorithms/envelope.hpp +++ b/3party/boost/boost/geometry/algorithms/envelope.hpp @@ -12,8 +12,8 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_ENVELOPE_HPP diff --git a/3party/boost/boost/geometry/algorithms/equals.hpp b/3party/boost/boost/geometry/algorithms/equals.hpp index a22080450c..0f0bdde584 100644 --- a/3party/boost/boost/geometry/algorithms/equals.hpp +++ b/3party/boost/boost/geometry/algorithms/equals.hpp @@ -372,7 +372,7 @@ struct equals, Geometry2> Geometry2 const& geometry2 ) { - return apply_visitor(visitor(geometry2), geometry1); + return boost::apply_visitor(visitor(geometry2), geometry1); } }; @@ -401,7 +401,7 @@ struct equals > boost::variant const& geometry2 ) { - return apply_visitor(visitor(geometry1), geometry2); + return boost::apply_visitor(visitor(geometry1), geometry2); } }; @@ -431,7 +431,7 @@ struct equals< boost::variant const& geometry2 ) { - return apply_visitor(visitor(), geometry1, geometry2); + return boost::apply_visitor(visitor(), geometry1, geometry2); } }; diff --git a/3party/boost/boost/geometry/algorithms/expand.hpp b/3party/boost/boost/geometry/algorithms/expand.hpp index 6b4820d8a9..f41df53801 100644 --- a/3party/boost/boost/geometry/algorithms/expand.hpp +++ b/3party/boost/boost/geometry/algorithms/expand.hpp @@ -13,8 +13,8 @@ // Parts of Boost.Geometry are redesigned from Geodan's Geographic Library // (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. -// Use, modification and distribution is subject to the Boost Software License, -// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at +// 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_GEOMETRY_ALGORITHMS_EXPAND_HPP diff --git a/3party/boost/boost/geometry/algorithms/length.hpp b/3party/boost/boost/geometry/algorithms/length.hpp index fad17ade46..58324bcc80 100644 --- a/3party/boost/boost/geometry/algorithms/length.hpp +++ b/3party/boost/boost/geometry/algorithms/length.hpp @@ -229,7 +229,7 @@ struct length > Strategy const& strategy ) { - return apply_visitor(visitor(strategy), geometry); + return boost::apply_visitor(visitor(strategy), geometry); } }; diff --git a/3party/boost/boost/geometry/algorithms/simplify.hpp b/3party/boost/boost/geometry/algorithms/simplify.hpp index 0047546718..9dd87f61a9 100644 --- a/3party/boost/boost/geometry/algorithms/simplify.hpp +++ b/3party/boost/boost/geometry/algorithms/simplify.hpp @@ -491,7 +491,7 @@ inline void simplify(Geometry const& geometry, Geometry& out, { concept::check(); - simplify(geometry, out, max_distance, default_strategy()); + geometry::simplify(geometry, out, max_distance, default_strategy()); } diff --git a/3party/boost/boost/geometry/algorithms/sym_difference.hpp b/3party/boost/boost/geometry/algorithms/sym_difference.hpp index de34c9c7b0..6c49ca634c 100644 --- a/3party/boost/boost/geometry/algorithms/sym_difference.hpp +++ b/3party/boost/boost/geometry/algorithms/sym_difference.hpp @@ -1,6 +1,11 @@ // Boost.Geometry (aka GGL, Generic Geometry Library) -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. +// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. + +// This file was modified by Oracle on 2015. +// Modifications copyright (c) 2015 Oracle and/or its affiliates. + +// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle // Use, modification and distribution is subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -10,9 +15,12 @@ #define BOOST_GEOMETRY_ALGORITHMS_SYM_DIFFERENCE_HPP #include - +#include +#include #include +#include +#include namespace boost { namespace geometry @@ -23,6 +31,177 @@ namespace detail { namespace sym_difference { +template +struct compute_difference +{ + template + < + typename Geometry1, + typename Geometry2, + typename RobustPolicy, + typename OutputIterator, + typename Strategy + > + static inline OutputIterator apply(Geometry1 const& geometry1, + Geometry2 const& geometry2, + RobustPolicy const& robust_policy, + OutputIterator out, + Strategy const& strategy) + { + return geometry::dispatch::intersection_insert + < + Geometry1, + Geometry2, + GeometryOut, + overlay_difference, + geometry::detail::overlay::do_reverse + < + geometry::point_order::value + >::value, + geometry::detail::overlay::do_reverse + < + geometry::point_order::value, true + >::value + >::apply(geometry1, geometry2, robust_policy, out, strategy); + } +}; + + + +template +struct sym_difference_generic +{ + template + < + typename RobustPolicy, + typename OutputIterator, + typename Strategy + > + static inline OutputIterator apply(Geometry1 const& geometry1, + Geometry2 const& geometry2, + RobustPolicy const& robust_policy, + OutputIterator out, + Strategy const& strategy) + { + out = compute_difference + < + GeometryOut + >::apply(geometry1, geometry2, robust_policy, out, strategy); + + return compute_difference + < + GeometryOut + >::apply(geometry2, geometry1, robust_policy, out, strategy); + } +}; + + +template +struct sym_difference_areal_areal +{ + template + < + typename RobustPolicy, + typename OutputIterator, + typename Strategy + > + static inline OutputIterator apply(Areal1 const& areal1, + Areal2 const& areal2, + RobustPolicy const& robust_policy, + OutputIterator out, + Strategy const& strategy) + { + typedef geometry::model::multi_polygon + < + GeometryOut + > helper_geometry_type; + + helper_geometry_type diff12, diff21; + + std::back_insert_iterator oit12(diff12); + std::back_insert_iterator oit21(diff21); + + compute_difference + < + GeometryOut + >::apply(areal1, areal2, robust_policy, oit12, strategy); + + compute_difference + < + GeometryOut + >::apply(areal2, areal1, robust_policy, oit21, strategy); + + return geometry::dispatch::union_insert + < + helper_geometry_type, + helper_geometry_type, + GeometryOut + >::apply(diff12, diff21, robust_policy, out, strategy); + } +}; + + +}} // namespace detail::sym_difference +#endif // DOXYGEN_NO_DETAIL + + + +#ifndef DOXYGEN_NO_DISPATCH +namespace dispatch +{ + + +template +< + typename Geometry1, + typename Geometry2, + typename GeometryOut, + typename TagIn1 = typename geometry::tag_cast + < + typename tag::type, areal_tag + >::type, + typename TagIn2 = typename geometry::tag_cast + < + typename tag::type, areal_tag + >::type, + typename TagOut = typename geometry::tag::type +> +struct sym_difference_insert + : detail::sym_difference::sym_difference_generic + < + GeometryOut, Geometry1, Geometry2 + > +{}; + + +template +< + typename Areal1, + typename Areal2, + typename GeometryOut, + typename TagOut +> +struct sym_difference_insert + < + Areal1, Areal2, GeometryOut, + areal_tag, areal_tag, TagOut + > : detail::sym_difference::sym_difference_areal_areal + < + GeometryOut, Areal1, Areal2 + > +{}; + + +} // namespace dispatch +#endif // DOXYGEN_NO_DISPATCH + + + +#ifndef DOXYGEN_NO_DETAIL +namespace detail { namespace sym_difference +{ + + /*! \brief \brief_calc2{symmetric difference} \brief_strategy @@ -60,24 +239,10 @@ inline OutputIterator sym_difference_insert(Geometry1 const& geometry1, concept::check(); concept::check(); - out = geometry::dispatch::intersection_insert + return dispatch::sym_difference_insert < - Geometry1, Geometry2, - GeometryOut, - overlay_difference, - geometry::detail::overlay::do_reverse::value>::value, - geometry::detail::overlay::do_reverse::value, true>::value + Geometry1, Geometry2, GeometryOut >::apply(geometry1, geometry2, robust_policy, out, strategy); - out = geometry::dispatch::intersection_insert - < - Geometry2, Geometry1, - GeometryOut, - overlay_difference, - geometry::detail::overlay::do_reverse::value>::value, - geometry::detail::overlay::do_reverse::value, true>::value, - geometry::detail::overlay::do_reverse::value>::value - >::apply(geometry2, geometry1, robust_policy, out, strategy); - return out; } diff --git a/3party/boost/boost/geometry/algorithms/transform.hpp b/3party/boost/boost/geometry/algorithms/transform.hpp index 357263a4ea..c7f3bd6cbb 100644 --- a/3party/boost/boost/geometry/algorithms/transform.hpp +++ b/3party/boost/boost/geometry/algorithms/transform.hpp @@ -70,9 +70,9 @@ struct transform_box typedef typename point_type::type point_type2; point_type1 lower_left, upper_right; - detail::assign::assign_box_2d_corner( + geometry::detail::assign::assign_box_2d_corner( b1, lower_left); - detail::assign::assign_box_2d_corner( + geometry::detail::assign::assign_box_2d_corner( b1, upper_right); point_type2 p1, p2; @@ -88,10 +88,10 @@ struct transform_box if (x1 > x2) { std::swap(x1, x2); } if (y1 > y2) { std::swap(y1, y2); } - set(b2, x1); - set(b2, y1); - set(b2, x2); - set(b2, y2); + geometry::set(b2, x1); + geometry::set(b2, y1); + geometry::set(b2, x2); + geometry::set(b2, y2); return true; } @@ -161,8 +161,8 @@ struct transform_polygon geometry::clear(poly2); - if (!transform_range_out(exterior_ring(poly1), - std::back_inserter(exterior_ring(poly2)), strategy)) + if (!transform_range_out(geometry::exterior_ring(poly1), + std::back_inserter(geometry::exterior_ring(poly2)), strategy)) { return false; } @@ -174,12 +174,13 @@ struct transform_polygon < typename traits::interior_mutable_type::type >::type - >::apply(interior_rings(poly2), num_interior_rings(poly1)); + >::apply(geometry::interior_rings(poly2), + geometry::num_interior_rings(poly1)); - typename interior_return_type::type - rings1 = interior_rings(poly1); - typename interior_return_type::type - rings2 = interior_rings(poly2); + typename geometry::interior_return_type::type + rings1 = geometry::interior_rings(poly1); + typename geometry::interior_return_type::type + rings2 = geometry::interior_rings(poly2); typename detail::interior_iterator::type it1 = boost::begin(rings1); @@ -424,7 +425,7 @@ struct transform, Geometry2> Strategy const& strategy ) { - return apply_visitor(visitor(geometry2, strategy), geometry1); + return boost::apply_visitor(visitor(geometry2, strategy), geometry1); } }; @@ -469,7 +470,7 @@ inline bool transform(Geometry1 const& geometry1, Geometry2& geometry2, template inline bool transform(Geometry1 const& geometry1, Geometry2& geometry2) { - return transform(geometry1, geometry2, default_strategy()); + return geometry::transform(geometry1, geometry2, default_strategy()); } diff --git a/3party/boost/boost/geometry/algorithms/within.hpp b/3party/boost/boost/geometry/algorithms/within.hpp index 9f2b6fedf7..35f9396ba6 100644 --- a/3party/boost/boost/geometry/algorithms/within.hpp +++ b/3party/boost/boost/geometry/algorithms/within.hpp @@ -358,9 +358,9 @@ struct within, Geometry2> Geometry2 const& m_geometry2; Strategy const& m_strategy; - visitor(Geometry2 const& geometry2, Strategy const& strategy): - m_geometry2(geometry2), - m_strategy(strategy) + visitor(Geometry2 const& geometry2, Strategy const& strategy) + : m_geometry2(geometry2) + , m_strategy(strategy) {} template @@ -378,10 +378,8 @@ struct within, Geometry2> Geometry2 const& geometry2, Strategy const& strategy) { - return boost::apply_visitor( - visitor(geometry2, strategy), - geometry1 - ); + return boost::apply_visitor(visitor(geometry2, strategy), + geometry1); } }; @@ -394,9 +392,9 @@ struct within > Geometry1 const& m_geometry1; Strategy const& m_strategy; - visitor(Geometry1 const& geometry1, Strategy const& strategy): - m_geometry1(geometry1), - m_strategy(strategy) + visitor(Geometry1 const& geometry1, Strategy const& strategy) + : m_geometry1(geometry1) + , m_strategy(strategy) {} template @@ -414,9 +412,8 @@ struct within > boost::variant const& geometry2, Strategy const& strategy) { - return boost::apply_visitor( - visitor(geometry1, strategy), - geometry2 + return boost::apply_visitor(visitor(geometry1, strategy), + geometry2 ); } }; @@ -453,10 +450,9 @@ struct within< boost::variant const& geometry2, Strategy const& strategy) { - return boost::apply_visitor( - visitor(strategy), - geometry1, geometry2 - ); + return boost::apply_visitor(visitor(strategy), + geometry1, + geometry2); } }; diff --git a/3party/boost/boost/geometry/extensions/algebra/algebra.hpp b/3party/boost/boost/geometry/extensions/algebra/algebra.hpp deleted file mode 100644 index 1677576872..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/algebra.hpp +++ /dev/null @@ -1,46 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGEBRA_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGEBRA_HPP - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include - -// experimental -#include -#include - -#include -#include - -// should be removed, transform() should be used instead -#include - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGEBRA_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/algorithms/assign.hpp b/3party/boost/boost/geometry/extensions/algebra/algorithms/assign.hpp deleted file mode 100644 index d25785de78..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/algorithms/assign.hpp +++ /dev/null @@ -1,129 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_ASSIGN_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_ASSIGN_HPP - -#include - -#include - -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch { - -template -struct assign_zero -{ - static inline void apply(Vector & g) - { - detail::algebra::assign_value< - Vector, - typename coordinate_type::type, - 0, dimension::type::value - >::apply(g, 0); - } -}; - -template -struct assign_identity -{ - BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THIS_GEOMETRY, (GeometryTag, Geometry)); -}; - -template -struct assign_identity -{ - static inline void apply(R & g) - { - set<0>(g, 1); set<1>(g, 0); set<2>(g, 0); set<3>(g, 0); - } -}; - -template -struct assign_identity -{ - static inline void apply(R & r) - { - detail::algebra::identity_matrix< - R, 0, 0, dimension::value, dimension::value - >::apply(r); - } -}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -// TODO -// Use assign_zero for initialization of 0-angle rotation instead of assign_identity? - -/*! -\brief assign identity to Transformation -\ingroup assign -\details The assign_identity function initializes a rotation or transformation with values indicating no rotation -\tparam Rotation The rotation type. -\param rotation The rotation. - */ -template -inline void assign_identity(Rotation & rotation) -{ - concept::check(); - - dispatch::assign_identity< - typename tag::type, - Rotation - >::apply(rotation); -} - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch { - -template -struct assign -{ - typedef typename coordinate_type::type coordinate_type; - - template - static inline void apply(V& v, T const& c1, T const& c2) - { - set<0>(v, boost::numeric_cast(c1)); - set<1>(v, boost::numeric_cast(c2)); - } -}; - -template -struct assign -{ - typedef typename coordinate_type::type coordinate_type; - - template - static inline void apply(V& v, T const& c1, T const& c2, T const& c3) - { - set<0>(v, boost::numeric_cast(c1)); - set<1>(v, boost::numeric_cast(c2)); - set<2>(v, boost::numeric_cast(c3)); - } -}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_ASSIGN_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/algorithms/clear.hpp b/3party/boost/boost/geometry/extensions/algebra/algorithms/clear.hpp deleted file mode 100644 index 62618efcd9..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/algorithms/clear.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_CLEAR_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_CLEAR_HPP - -#include - -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -// This is experimental implementation of clear() which assigns zeros to vectors -// and identities to rotations. It doesn't work for them as for Geometries. - -template -struct clear -{ - static inline void apply(Vector & v) - { - geometry::assign_zero(v); - } -}; - -template -struct clear -{ - static inline void apply(R & r) - { - geometry::assign_identity(r); - } -}; - -template -struct clear -{ - static inline void apply(R & r) - { - geometry::assign_identity(r); - } -}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_CLEAR_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/algorithms/convert.hpp b/3party/boost/boost/geometry/extensions/algebra/algorithms/convert.hpp deleted file mode 100644 index 593c050282..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/algorithms/convert.hpp +++ /dev/null @@ -1,87 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_CONVERT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_CONVERT_HPP - -#include - -#include - -#include - -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct convert -{ - static inline void apply(RQuaternion const& q, RMatrix& m) - { - typedef typename coordinate_type::type T; - - // quaternion should be normalized - - T xx2 = get<1>(q) * get<1>(q) * 2; - T yy2 = get<2>(q) * get<2>(q) * 2; - T zz2 = get<3>(q) * get<3>(q) * 2; - T xy2 = get<1>(q) * get<2>(q) * 2; - T yz2 = get<2>(q) * get<3>(q) * 2; - T xz2 = get<1>(q) * get<3>(q) * 2; - T wx2 = get<0>(q) * get<1>(q) * 2; - T wy2 = get<0>(q) * get<2>(q) * 2; - T wz2 = get<0>(q) * get<3>(q) * 2; - - // WARNING! - // Quaternion (0, 0, 0, 0) is converted to identity matrix! - - set<0, 0>(m, 1-yy2-zz2); set<0, 1>(m, xy2-wz2); set<0, 2>(m, xz2+wy2); - set<1, 0>(m, xy2+wz2); set<1, 1>(m, 1-xx2-zz2); set<1, 2>(m, yz2-wx2); - set<2, 0>(m, xz2-wy2); set<2, 1>(m, yz2+wx2); set<2, 2>(m, 1-xx2-yy2); - } -}; - -template -struct convert -{ - static inline void apply(RMatrix const& m, RQuaternion & q) - { - typedef typename coordinate_type::type T; - - // WARNING! - // Zero matrix is converted to quaternion(0.5, 0, 0, 0)! - - T w = math::sqrt(1 + get<0, 0>(m) + get<1, 1>(m) + get<2, 2>(m)) / 2; - T iw4 = 0.25 / w; - set<0>(q, w); - set<1>(q, (get<2, 1>(m) - get<1, 2>(m)) * iw4); - set<2>(q, (get<0, 2>(m) - get<2, 0>(m)) * iw4); - set<3>(q, (get<1, 0>(m) - get<0, 1>(m)) * iw4); - } -}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_ASSIGN_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/algorithms/detail.hpp b/3party/boost/boost/geometry/extensions/algebra/algorithms/detail.hpp deleted file mode 100644 index 63c5bd9fa3..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/algorithms/detail.hpp +++ /dev/null @@ -1,356 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_DETAIL_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_DETAIL_HPP - -// TODO - for multiplication of coordinates -// if coordinate_type is_integral - use double as the result type - -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace algebra { - -// Cross 3D of 3 components of Vectors/Quaternion starting from IS1 and IS2 and placing the result starting from D -template -inline void cross(S1 const& s1, S2 const& s2, D & d) -{ - set(d, get(s1)*get(s2) - get(s1)*get(s2)); - set(d, get(s1)*get(s2) - get(s1)*get(s2)); - set(d, get(s1)*get(s2) - get(s1)*get(s2)); -} - -// Dot of N components of Vectors/Quaternion starting from IS1 and IS2 - -template -struct dot_impl -{ - BOOST_STATIC_ASSERT(0 < N); - - typedef typename geometry::select_most_precise< - typename traits::coordinate_type::type, - typename traits::coordinate_type::type - >::type coordinate_type; - - static inline coordinate_type apply(S1 const& s1, S2 const& s2) - { - return get(s1)*get(s2) + dot_impl::apply(s1, s2); - } -}; - -template -struct dot_impl -{ - typedef typename geometry::select_most_precise< - typename traits::coordinate_type::type, - typename traits::coordinate_type::type - >::type coordinate_type; - - static inline coordinate_type apply(S1 const& s1, S2 const& s2) - { - return get(s1)*get(s2); - } -}; - -template -inline static -typename geometry::select_most_precise< - typename traits::coordinate_type::type, - typename traits::coordinate_type::type ->::type -dot(S1 const& s1, S2 const& s2) -{ - return dot_impl::apply(s1, s2); -} - -// Multiplication of N components starting from Ith by Value v - -template -struct mul_impl -{ - BOOST_STATIC_ASSERT(0 < N); - - static inline void apply(S & s, T const& v) - { - set(s, get(s) * v); - mul_impl::apply(s, v); - } -}; - -template -struct mul_impl -{ - static inline void apply(S &, T const&) {} -}; - -template -inline static void mul(S & s, T const& v) -{ - return mul_impl::apply(s, v); -} - -// Negation - -template -struct neg_impl -{ - BOOST_STATIC_ASSERT(0 < N); - - static inline void apply(V & v) - { - set(v, -get(v)); - neg_impl::apply(v); - } -}; - -template -struct neg_impl -{ - static inline void apply(V &) {} -}; - -template -inline static void neg(V & v) -{ - return neg_impl::apply(v); -} - -// Normalization of N components starting from Ith - -template -inline static void normalize(S & s) -{ - typedef typename traits::coordinate_type::type T; - - T lsqr = dot(s, s); - if ( std::numeric_limits::epsilon() < lsqr ) - mul(s, 1.0f / math::sqrt(lsqr)); -} - -// Square matrix * Vector of the same dimension - -template -struct matrix_mul_row_impl -{ - BOOST_STATIC_ASSERT(0 < N); - - static const std::size_t dimension = traits::dimension::value; - - static inline - typename traits::coordinate_type::type - apply(M const& m, V const& v) - { - return matrix_mul_row_impl::apply(m, v) + get(m) * get(v); - } -}; - -template -struct matrix_mul_row_impl -{ - static const std::size_t dimension = traits::dimension::value; - - static inline - typename traits::coordinate_type::type - apply(M const& m, V const& v) - { - return get(m) * get<0>(v); - } -}; - -template -struct matrix_mul_impl -{ - static inline void apply(M const& m, V const& v, VD & vd) - { - set(vd, matrix_mul_row_impl::apply(m, v)); - matrix_mul_impl::apply(m, v, vd); - } -}; - -template -struct matrix_mul_impl -{ - static inline void apply(M const&, V const&, VD &) {} -}; - -// Matrix rotation - M*V - -template -inline static void matrix_rotate(M const& m, V const& v, VD & vd) -{ - static const std::size_t dimension = traits::dimension::value; - - matrix_mul_impl::apply(m, v, vd); -} - -// Quaternion rotation - Q*V*Q' - * is Hamilton product - -template -inline static void quaternion_rotate(V & v, Q const& r) -{ - // TODO - choose more precise type? - - typedef typename geometry::select_most_precise< - typename traits::coordinate_type::type, - typename traits::coordinate_type::type - >::type T; - - // Hamilton product T=Q*V - T a = /*get<0>(r) * 0 */- get<1>(r) * get<0>(v) - get<2>(r) * get<1>(v) - get<3>(r) * get<2>(v); - T b = get<0>(r) * get<0>(v)/* + get<1>(r) * 0*/ + get<2>(r) * get<2>(v) - get<3>(r) * get<1>(v); - T c = get<0>(r) * get<1>(v) - get<1>(r) * get<2>(v)/* + get<2>(r) * 0*/ + get<3>(r) * get<0>(v); - T d = get<0>(r) * get<2>(v) + get<1>(r) * get<1>(v) - get<2>(r) * get<0>(v)/* + get<3>(r) * 0*/; - // Hamilton product V=T*inv(Q) - set<0>(v, - a * get<1>(r) + b * get<0>(r) - c * get<3>(r) + d * get<2>(r)); - set<1>(v, - a * get<2>(r) + b * get<3>(r) + c * get<0>(r) - d * get<1>(r)); - set<2>(v, - a * get<3>(r) - b * get<2>(r) + c * get<1>(r) + d * get<0>(r)); -} - -// Assign value - -template -struct assign_value -{ - static inline void apply(G & g, V const& v) - { - set(g, v); - assign_value::apply(g, v); - } -}; - -template -struct assign_value -{ - static inline void apply(G &, V const&) {} -}; - -template -struct indexed_assign_value_per_index -{ - static inline void apply(G & g, V const& v) - { - set(g, v); - indexed_assign_value_per_index::apply(g, v); - } -}; - -// Assign value using indexed access - -template -struct indexed_assign_value_per_index -{ - static inline void apply(G &, V const&) {} -}; - -template -struct indexed_assign_value -{ - static inline void apply(G & g, V const& v) - { - indexed_assign_value_per_index::apply(g, v); - indexed_assign_value::apply(g, v); - } -}; - -template -struct indexed_assign_value -{ - static inline void apply(G &, V const&) {} -}; - -template -struct identity_matrix_per_index -{ - static inline void apply(G & g) - { - set(g, 0); - identity_matrix_per_index::apply(g); - } -}; - -// Identity matrix - -template -struct identity_matrix_per_index -{ - static inline void apply(G & g) - { - set(g, 1); - identity_matrix_per_index::apply(g); - } -}; - -template -struct identity_matrix_per_index -{ - static inline void apply(G &) {} -}; - -template -struct identity_matrix -{ - static inline void apply(G & g) - { - identity_matrix_per_index::apply(g); - identity_matrix::apply(g); - } -}; - -template -struct identity_matrix -{ - static inline void apply(G &) {} -}; - -// Matrix transpose - -template -struct matrix_transpose_per_index -{ - static inline void apply(G & g) - { - // swap coordinates - typename coordinate_type::type tmp = get(g); - set(g, get(g)); - set(g, tmp); - matrix_transpose_per_index::apply(g); - } -}; - -template -struct matrix_transpose_per_index -{ - static inline void apply(G &) {} -}; - -template -struct matrix_transpose -{ - static inline void apply(G & g) - { - matrix_transpose_per_index::apply(g); - matrix_transpose::apply(g); - } -}; - -template -struct matrix_transpose -{ - static inline void apply(G &) {} -}; - -}} // namespace detail::algebra -#endif // DOXYGEN_NO_DETAIL - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_DETAIL_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/algorithms/reverse.hpp b/3party/boost/boost/geometry/extensions/algebra/algorithms/reverse.hpp deleted file mode 100644 index 6471c2ef0d..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/algorithms/reverse.hpp +++ /dev/null @@ -1,66 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_REVERSE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_REVERSE_HPP - -#include - -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -// This is experimental implementation of reverse() which negates vectors -// and inverses rotations. It doesn't work for them as for Geometries. - -template -struct reverse -{ - static inline void apply(Vector & v) - { - detail::algebra::neg<0, dimension::value>(v); - } -}; - -template -struct reverse -{ - static inline void apply(R & r) - { - detail::algebra::neg<1, 4>(r); - } -}; - -template -struct reverse -{ - static inline void apply(R & r) - { - detail::algebra::matrix_transpose< - R, 0, 0, dimension::value - >::apply(r); - } -}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_CLEAR_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/algorithms/rotation.hpp b/3party/boost/boost/geometry/extensions/algebra/algorithms/rotation.hpp deleted file mode 100644 index 2de45254ae..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/algorithms/rotation.hpp +++ /dev/null @@ -1,268 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_ROTATION_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_ROTATION_HPP - -#include - -#include - -#include - -// TODO - for multiplication of coordinates -// if coordinate_type is_integral - use double as the result type - -namespace boost { namespace geometry { - -namespace detail { namespace rotation { - -template -struct matrix -{ - BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THIS_DIMENSION, (Rotation)); -}; - -template -struct matrix -{ - static const bool cs_check = - ::boost::is_same::type, cs::cartesian>::value && - ::boost::is_same::type, cs::cartesian>::value; - - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THOSE_SYSTEMS, (V1, V2)); - - typedef typename geometry::select_most_precise< - typename traits::coordinate_type::type, - typename traits::coordinate_type::type - >::type cv_type; - - typedef typename geometry::select_most_precise< - cv_type, - typename traits::coordinate_type::type - >::type cr_type; - - typedef model::vector vector_type; - - inline static void apply(V1 const& v1, V2 const& v2, Rotation & r) - { - namespace da = detail::algebra; - - // TODO - should store coordinates in more precise variables before the normalization? - - // angle - cv_type d = da::dot<0, 0, 3>(v1, v2); - cv_type l = - math::sqrt(da::dot<0, 0, 3>(v1, v1) * da::dot<0, 0, 3>(v2, v2)); - cv_type c = d / l; - - // rotation angle == 0 - // not needed really, because in this case function still returns zero-rotation - if ( 1 - std::numeric_limits::epsilon() <= c ) - { - set<0, 0>(r, 1); set<0, 1>(r, 0); set<0, 2>(r, 0); - set<1, 0>(r, 0); set<1, 1>(r, 1); set<1, 2>(r, 0); - set<2, 0>(r, 0); set<2, 1>(r, 0); set<2, 2>(r, 1); - return; - } - - vector_type axis; - - // rotation angle = 180 - if ( c <= std::numeric_limits::epsilon() - 1 ) - { - // find arbitrary rotation axis perpendicular to v1 - da::cross<0, 0, 0>(vector_type(1, 0, 0), v1, axis); - if ( da::dot<0, 0, 3>(axis, axis) < std::numeric_limits::epsilon() ) - da::cross<0, 0, 0>(vector_type(0, 1, 0), v1, axis); - } - else - { - // rotation axis - da::cross<0, 0, 0>(v1, v2, axis); - } - - // sin - cv_type s = math::sqrt(1 - c * c); - cv_type t = 1 - c; - // normalize axis - da::normalize<0, 3>(axis); - - cv_type txx = t*get<0>(axis)*get<0>(axis); - cv_type tyy = t*get<1>(axis)*get<1>(axis); - cv_type tzz = t*get<2>(axis)*get<2>(axis); - cv_type txy = t*get<0>(axis)*get<1>(axis); - cv_type sx = s*get<0>(axis); - cv_type txz = t*get<0>(axis)*get<2>(axis); - cv_type sy = s*get<1>(axis); - cv_type tyz = t*get<1>(axis)*get<2>(axis); - cv_type sz = s*get<2>(axis); - - set<0, 0>(r, txx+c); set<0, 1>(r, txy-sz); set<0, 2>(r, txz+sy); - set<1, 0>(r, txy+sz); set<1, 1>(r, tyy+c); set<1, 2>(r, tyz-sx); - set<2, 0>(r, txz-sy); set<2, 1>(r, tyz+sx); set<2, 2>(r, tzz+c); - } -}; - -template -struct matrix -{ - static const bool cs_check = - ::boost::is_same::type, cs::cartesian>::value && - ::boost::is_same::type, cs::cartesian>::value; - - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THOSE_SYSTEMS, (V1, V2)); - - typedef typename geometry::select_most_precise< - typename traits::coordinate_type::type, - typename traits::coordinate_type::type - >::type cv_type; - - inline static void apply(V1 const& v1, V2 const& v2, Rotation & r) - { - namespace da = detail::algebra; - - // TODO - should store coordinates in more precise variables before the normalization? - - // angle - cv_type d = da::dot<0, 0, 2>(v1, v2); - cv_type l = - math::sqrt(da::dot<0, 0, 2>(v1, v1) * da::dot<0, 0, 2>(v2, v2)); - cv_type c = d / l; - - // TODO return also if l == 0; - - // rotation angle == 0 - // not needed really, because in this case function still returns zero-rotation - if ( 1 - std::numeric_limits::epsilon() <= c ) - { - set<0, 0>(r, 1); set<0, 1>(r, 0); - set<1, 0>(r, 0); set<1, 1>(r, 1); - } - // rotation angle = 180 - else if ( c <= std::numeric_limits::epsilon() - 1 ) - { - set<0, 0>(r, -1); set<0, 1>(r, 0); - set<1, 0>(r, 0); set<1, 1>(r, -1); - } - else - { - // sin - cv_type s = (get<0>(v1) * get<1>(v2) - get<1>(v1) * get<0>(v2)) / l; - - set<0, 0>(r, c); set<0, 1>(r, -s); - set<1, 0>(r, s); set<1, 1>(r, c); - } - } -}; - -}} // namespace detail::rotation - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch { - -template ::type, - typename Tag2 = typename tag::type, - typename RTag = typename tag::type -> -struct rotation -{ - BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THOSE_TAGS, (Tag1, Tag2, Rotation)); -}; - -template -struct rotation -{ - static const bool cs_check = - ::boost::is_same::type, cs::cartesian>::value && - ::boost::is_same::type, cs::cartesian>::value; - - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THOSE_SYSTEMS, (V1, V2)); - - typedef typename geometry::select_most_precise< - typename traits::coordinate_type::type, - typename traits::coordinate_type::type - >::type cv_type; - - typedef typename geometry::select_most_precise< - cv_type, - typename traits::coordinate_type::type - >::type cr_type; - - typedef model::vector vector_type; - - inline static void apply(V1 const& v1, V2 const& v2, Rotation & r) - { - namespace da = detail::algebra; - - // TODO - should store coordinates in more precise variables before the normalization? - - cv_type d = da::dot<0, 0, 3>(v1, v2); // l1 * l2 * cos - cv_type l = math::sqrt(da::dot<0, 0, 3>(v1, v1) * da::dot<0, 0, 3>(v2, v2)); // l1 * l2 - cv_type w = l + d; // l1 * l2 * ( 1 + cos ) - - // rotation angle == 0 - // not needed really, because in this case function still returns zero-rotation - if ( 2*l-std::numeric_limits::epsilon() <= w ) - { - set<0>(r, 1); set<0>(r, 0); set<0>(r, 0); set<0>(r, 0); - } - // rotation angle == pi - else if ( w <= std::numeric_limits::epsilon() ) - { - set<0>(r, 0); - // find arbitrary rotation axis perpendicular to v1 - da::cross<0, 0, 1>(vector_type(1, 0, 0), v1, r); - if ( da::dot<1, 1, 3>(r, r) < std::numeric_limits::epsilon() ) - da::cross<0, 0, 1>(vector_type(0, 1, 0), v1, r); - - // normalize axis - da::normalize<1, 3>(r); - } - else - { - set<0>(r, w); // l1 * l2 * ( 1 + cos ) - // rotation axis - da::cross<0, 0, 1>(v1, v2, r); // l1 * l2 * sin * UNITA - - // normalize quaternion - da::normalize<0, 4>(r); - } - } -}; - -template -struct rotation - : detail::rotation::matrix::value> -{}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -template -inline void rotation(V1 const& v1, V2 const& v2, Rotation & r) -{ - concept::check_concepts_and_equal_dimensions(); - // TODO - replace the following by check_equal_dimensions - concept::check_concepts_and_equal_dimensions(); - - dispatch::rotation::apply(v1, v2, r); -} - -template -inline Rotation return_rotation(V1 const& v1, V2 const& v2) -{ - Rotation r; - translation(v1, v2, r); - return r; -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_ROTATION_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/algorithms/transform_geometrically.hpp b/3party/boost/boost/geometry/extensions/algebra/algorithms/transform_geometrically.hpp deleted file mode 100644 index 501cdde798..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/algorithms/transform_geometrically.hpp +++ /dev/null @@ -1,173 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_TRANSFORM_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_TRANSFORM_HPP - -#include -#include -#include -#include - -namespace boost { namespace geometry { - -namespace detail { namespace transform_geometrically { - -template -struct box_vector_cartesian -{ - BOOST_MPL_ASSERT_MSG((0 < Dimension), INVALID_DIMENSION, (Box)); - - static inline void apply(Box & box, Vector const& vector) - { - box_vector_cartesian::apply(box, vector); - set(box, get(box) + get(vector)); - set(box, get(box) + get(vector)); - } -}; - -template -struct box_vector_cartesian -{ - static inline void apply(Box & box, Vector const& vector) - { - set(box, get(box) + get<0>(vector)); - set(box, get(box) + get<0>(vector)); - } -}; - -}} // namespace detail::transform - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch { - -template ::type, - typename TTag = typename tag::type> -struct transform_geometrically -{ - BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THOSE_TAGS, (GTag, TTag)); -}; - -// Point translation by Vector -template -struct transform_geometrically -{ - BOOST_CONCEPT_ASSERT( (concept::Point) ); - BOOST_CONCEPT_ASSERT( (concept::Vector) ); - - static inline void apply(Point & point, Vector const& vector) - { - typedef boost::mpl::bool_< - boost::is_same< - typename traits::coordinate_system::type, - cs::cartesian - >::value - > is_cartesian; - apply(point, vector, is_cartesian()); - } - - static inline void apply(Point & point, Vector const& vector, boost::mpl::bool_ /*is_cartesian*/) - { - for_each_coordinate(point, detail::point_operation(vector)); - } - - static inline void apply(Point & point, Vector const& vector, boost::mpl::bool_ /*is_cartesian*/) - { - typedef typename traits::coordinate_system::type cs; - BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THIS_CS, (cs)); - } -}; - -// Box translation by Vector -template -struct transform_geometrically -{ - typedef typename traits::point_type::type point_type; - - BOOST_CONCEPT_ASSERT( (concept::Point) ); - BOOST_CONCEPT_ASSERT( (concept::Vector) ); - - static inline void apply(Box & box, Vector const& vector) - { - typedef boost::mpl::bool_< - boost::is_same< - typename traits::coordinate_system::type, - cs::cartesian - >::value - > is_cartesian; - apply(box, vector, is_cartesian()); - } - - static inline void apply(Box & box, Vector const& vector, boost::mpl::bool_ /*is_cartesian*/) - { - geometry::detail::transform_geometrically::box_vector_cartesian< - Box, Vector, traits::dimension::value - >::apply(box, vector); - } - - static inline void apply(Box & box, Vector const& vector, boost::mpl::bool_ /*is_cartesian*/) - { - typedef typename traits::coordinate_system::type cs; - BOOST_MPL_ASSERT_MSG(false, NOT_IMPLEMENTED_FOR_THIS_CS, (cs)); - } -}; - -// Vector rotation by Quaternion -template -struct transform_geometrically -{ - static inline void apply(Vector & v, RotationQuaternion const& r) - { - concept::check_concepts_and_equal_dimensions(); - - detail::algebra::quaternion_rotate(v, r); - } -}; - -// Vector rotation by Matrix -template -struct transform_geometrically -{ - static inline void apply(Vector & v, RotationMatrix const& r) - { - concept::check_concepts_and_equal_dimensions(); - - // TODO vector_type and convert from Vector - Vector tmp(v); - detail::algebra::matrix_rotate(r, tmp, v); - } -}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -template -inline void transform_geometrically(Geometry & g, Transformation const& t) -{ - dispatch::transform_geometrically::apply(g, t); -} - -template -inline void transformed_geometrically(GeometrySrc const& gsrc, Transformation const& t, GeometryDst & gdst) -{ - geometry::convert(gsrc, gdst); - geometry::transform_geometrically(gdst, t); -} - -template -inline GeometryDst return_transformed_geometrically(GeometrySrc const& gsrc, Transformation const& t) -{ - GeometryDst res; - transformed_geometrically(gsrc, t, res); - return res; -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_TRANSFORM_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/algorithms/translation.hpp b/3party/boost/boost/geometry/extensions/algebra/algorithms/translation.hpp deleted file mode 100644 index feeb3a70c2..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/algorithms/translation.hpp +++ /dev/null @@ -1,44 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_TRANSLATION_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_TRANSLATION_HPP - -#include - -//#include -//#include -#include - -namespace boost { namespace geometry -{ - -// TODO - implement point_operation2 taking two arguments - -template -inline void translation(Point1 const& p1, Point2 const& p2, Vector & v) -{ - concept::check_concepts_and_equal_dimensions(); - // TODO - replace the following by check_equal_dimensions - concept::check_concepts_and_equal_dimensions(); - - for_each_coordinate(v, detail::point_assignment(p2)); - for_each_coordinate(v, detail::point_operation(p1)); -} - -template -inline Vector return_translation(Point1 const& p1, Point2 const& p2) -{ - Vector v; - translation(p1, p2, v); - return v; -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_ALGORITHMS_ASSIGN_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/core/access.hpp b/3party/boost/boost/geometry/extensions/algebra/core/access.hpp deleted file mode 100644 index 49bc79e690..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/core/access.hpp +++ /dev/null @@ -1,137 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_ACCESS_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_ACCESS_HPP - - - -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace core_dispatch -{ - -template -struct access -{ - static inline CoordinateType get(Vector const& v) - { - return traits::access::get(v); - } - static inline void set(Vector& v, CoordinateType const& value) - { - traits::access::set(v, value); - } -}; - -template -struct access -{ - static inline CoordinateType get(Vector const* v) - { - return traits::access::type, Dimension>::get(*v); - } - static inline void set(Vector* v, CoordinateType const& value) - { - traits::access::type, Dimension>::set(*v, value); - } -}; - -template -struct access -{ - static inline CoordinateType get(Q const& v) - { - return traits::access::get(v); - } - static inline void set(Q& v, CoordinateType const& value) - { - traits::access::set(v, value); - } -}; - -template -struct access -{ - static inline CoordinateType get(Q const* v) - { - return traits::access::type, Dimension>::get(*v); - } - static inline void set(Q* v, CoordinateType const& value) - { - traits::access::type, Dimension>::set(*v, value); - } -}; - -template -struct indexed_access - : detail::indexed_access_non_pointer -{}; - -template -struct indexed_access - : detail::indexed_access_pointer -{}; - - -template -struct access -{ - static inline CoordinateType get(Q const& v) - { - return traits::access::get(v); - } - static inline void set(Q& v, CoordinateType const& value) - { - traits::access::set(v, value); - } -}; - -template -struct access -{ - static inline CoordinateType get(Q const* v) - { - return traits::access::type, Dimension>::get(*v); - } - static inline void set(Q* v, CoordinateType const& value) - { - traits::access::type, Dimension>::set(*v, value); - } -}; - -template -struct indexed_access - : detail::indexed_access_non_pointer -{}; - -template -struct indexed_access - : detail::indexed_access_pointer -{}; - -} // namespace core_dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_ACCESS_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/core/coordinate_dimension.hpp b/3party/boost/boost/geometry/extensions/algebra/core/coordinate_dimension.hpp deleted file mode 100644 index ff1f3c96e6..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/core/coordinate_dimension.hpp +++ /dev/null @@ -1,58 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_COORDINATE_DIMENSION_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_COORDINATE_DIMENSION_HPP - -#include - -#include - -namespace boost { namespace geometry { - -#ifndef DOXYGEN_NO_DISPATCH -namespace core_dispatch { - -template -struct dimension - : traits::dimension::type> -{}; - -template -struct dimension - : traits::dimension::type> -{}; - -template -struct indexed_dimension - : traits::indexed_dimension::type, Index> -{}; - - -template -struct dimension - : traits::dimension::type> -{}; - -template -struct dimension - : traits::dimension::type> -{}; - -} // namespace core_dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_COORDINATE_DIMENSION_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/core/coordinate_system.hpp b/3party/boost/boost/geometry/extensions/algebra/core/coordinate_system.hpp deleted file mode 100644 index 67c206e895..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/core/coordinate_system.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_COORDINATE_SYSTEM_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_COORDINATE_SYSTEM_HPP - -#include - -#include - -namespace boost { namespace geometry { - -#ifndef DOXYGEN_NO_DISPATCH -namespace core_dispatch { - -template -struct coordinate_system -{ - typedef typename traits::coordinate_system< - typename geometry::util::bare_type::type - >::type type; -}; - -//template -//struct coordinate_system -//{ -// typedef typename traits::coordinate_system< -// typename geometry::util::bare_type::type -// >::type type; -//}; -// -//template -//struct coordinate_system -//{ -// typedef typename traits::coordinate_system< -// typename geometry::util::bare_type::type -// >::type type; -//}; - - -template -struct coordinate_system -{ - typedef typename traits::coordinate_system< - typename geometry::util::bare_type::type - >::type type; -}; - -template -struct coordinate_system -{ - typedef typename traits::coordinate_system< - typename geometry::util::bare_type::type - >::type type; -}; - -} // namespace core_dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_COORDINATE_SYSTEM_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/core/coordinate_type.hpp b/3party/boost/boost/geometry/extensions/algebra/core/coordinate_type.hpp deleted file mode 100644 index d164455818..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/core/coordinate_type.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_COORDINATE_TYPE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_COORDINATE_TYPE_HPP - -#include - -#include - -namespace boost { namespace geometry { - -#ifndef DOXYGEN_NO_DISPATCH -namespace core_dispatch { - -template -struct coordinate_type -{ - typedef typename traits::coordinate_type< - typename geometry::util::bare_type::type - >::type type; -}; - -template -struct coordinate_type -{ - typedef typename traits::coordinate_type< - typename geometry::util::bare_type::type - >::type type; -}; - -template -struct coordinate_type -{ - typedef typename traits::coordinate_type< - typename geometry::util::bare_type::type - >::type type; -}; - - -template -struct coordinate_type -{ - typedef typename traits::coordinate_type< - typename geometry::util::bare_type::type - >::type type; -}; - -template -struct coordinate_type -{ - typedef typename traits::coordinate_type< - typename geometry::util::bare_type::type - >::type type; -}; - -} // namespace core_dispatch -#endif // DOXYGEN_NO_DISPATCH - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_COORDINATE_TYPE_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/core/tags.hpp b/3party/boost/boost/geometry/extensions/algebra/core/tags.hpp deleted file mode 100644 index 908ac1ced6..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/core/tags.hpp +++ /dev/null @@ -1,33 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_TAGS_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_TAGS_HPP - - -namespace boost { namespace geometry -{ - - -struct vector_tag {}; -struct quaternion_tag {}; -struct matrix_tag {}; - -struct rotation_quaternion_tag {}; -struct rotation_matrix_tag {}; - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_CORE_TAGS_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/check.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/check.hpp deleted file mode 100644 index 606095f111..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/check.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_CHECK_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_CHECK_HPP - - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct check - : detail::concept_check::check > -{}; - -template -struct check - : detail::concept_check::check > -{}; - -template -struct check - : detail::concept_check::check > -{}; - -template -struct check - : detail::concept_check::check > -{}; - -template -struct check - : detail::concept_check::check > -{}; - -template -struct check - : detail::concept_check::check > -{}; - -} // namespace dispatch -#endif - - - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_CHECK_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/matrix_concept.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/matrix_concept.hpp deleted file mode 100644 index 0bb880a7ef..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/matrix_concept.hpp +++ /dev/null @@ -1,141 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_MATRIX_CONCEPT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_MATRIX_CONCEPT_HPP - -#include - -#include -#include - -namespace boost { namespace geometry { namespace concept { - -template -class Matrix -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - typedef typename coordinate_type::type ctype; - typedef typename coordinate_system::type csystem; - - enum { ccount = dimension::value }; - - template - struct dimension_checker_row - { - static void apply() - { - G* g = 0; - geometry::set(*g, geometry::get(*g)); - dimension_checker_row::apply(); - } - }; - - template - struct dimension_checker_row - { - static void apply() {} - }; - - template - struct dimension_checker - { - static void apply() - { - dimension_checker_row; - dimension_checker::apply(); - } - }; - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the concept - BOOST_CONCEPT_USAGE(Matrix) - { - static const bool cs_check = ::boost::is_same::value; - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - dimension_checker::apply(); - } -#endif -}; - - -template -class ConstMatrix -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - //typedef typename coordinate_type::type ctype; - //typedef typename coordinate_system::type csystem; - - //enum { ccount = dimension::value }; - - template - struct dimension_checker_row - { - static void apply() - { - const G* g = 0; - ctype coord(geometry::get(*g)); - boost::ignore_unused_variable_warning(coord); - dimension_checker_row::apply(); - } - }; - - template - struct dimension_checker_row - { - static void apply() {} - }; - - template - struct dimension_checker - { - static void apply() - { - dimension_checker_row; - dimension_checker::apply(); - } - }; - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the concept - BOOST_CONCEPT_USAGE(ConstMatrix) - { - //static const bool cs_check = ::boost::is_same::value; - //BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - //dimension_checker::apply(); - } -#endif -}; - -}}} // namespace boost::geometry::concept - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_MATRIX_CONCEPT_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/quaternion_concept.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/quaternion_concept.hpp deleted file mode 100644 index 376d838005..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/quaternion_concept.hpp +++ /dev/null @@ -1,111 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_QUATERNION_CONCEPT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_QUATERNION_CONCEPT_HPP - -#include - -#include -#include - -namespace boost { namespace geometry { namespace concept { - -template -class Quaternion -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - //typedef typename coordinate_type::type ctype; - //typedef typename coordinate_system::type csystem; - - template - struct dimension_checker - { - static void apply() - { - G* g = 0; - geometry::set(*g, geometry::get(*g)); - dimension_checker::apply(); - } - }; - - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the Vector concept - BOOST_CONCEPT_USAGE(Quaternion) - { - //static const bool dim_check = dimension::value == 4; - //BOOST_MPL_ASSERT_MSG(dim_check, INVALID_DIMENSION, (RotationQuaternion)); - //static const bool cs_check = ::boost::is_same::value; - //BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - dimension_checker::apply(); - } -#endif -}; - - -template -class ConstQuaternion -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - //typedef typename coordinate_type::type ctype; - //typedef typename coordinate_system::type csystem; - - template - struct dimension_checker - { - static void apply() - { - const G* g = 0; - ctype coord(geometry::get(*g)); - boost::ignore_unused_variable_warning(coord); - dimension_checker::apply(); - } - }; - - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the ConstVector concept - BOOST_CONCEPT_USAGE(ConstQuaternion) - { - //static const bool dim_check = dimension::value == 4; - //BOOST_MPL_ASSERT_MSG(dim_check, INVALID_DIMENSION, (ConstRotationQuaternion)); - //static const bool cs_check = ::boost::is_same::value; - //BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - dimension_checker::apply(); - } -#endif -}; - -}}} // namespace boost::geometry::concept - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_QUATERNION_CONCEPT_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/rotation_matrix_concept.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/rotation_matrix_concept.hpp deleted file mode 100644 index 8f54f3dd61..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/rotation_matrix_concept.hpp +++ /dev/null @@ -1,141 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_ROTATION_MATRIX_CONCEPT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_ROTATION_MATRIX_CONCEPT_HPP - -#include - -#include -#include - -namespace boost { namespace geometry { namespace concept { - -template -class RotationMatrix -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - typedef typename coordinate_type::type ctype; - typedef typename coordinate_system::type csystem; - - enum { ccount = dimension::value }; - - template - struct dimension_checker_row - { - static void apply() - { - G* g = 0; - geometry::set(*g, geometry::get(*g)); - dimension_checker_row::apply(); - } - }; - - template - struct dimension_checker_row - { - static void apply() {} - }; - - template - struct dimension_checker - { - static void apply() - { - dimension_checker_row; - dimension_checker::apply(); - } - }; - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the concept - BOOST_CONCEPT_USAGE(RotationMatrix) - { - static const bool cs_check = ::boost::is_same::value; - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - dimension_checker::apply(); - } -#endif -}; - - -template -class ConstRotationMatrix -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - typedef typename coordinate_type::type ctype; - typedef typename coordinate_system::type csystem; - - enum { ccount = dimension::value }; - - template - struct dimension_checker_row - { - static void apply() - { - const G* g = 0; - ctype coord(geometry::get(*g)); - boost::ignore_unused_variable_warning(coord); - dimension_checker_row::apply(); - } - }; - - template - struct dimension_checker_row - { - static void apply() {} - }; - - template - struct dimension_checker - { - static void apply() - { - dimension_checker_row; - dimension_checker::apply(); - } - }; - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the concept - BOOST_CONCEPT_USAGE(ConstRotationMatrix) - { - static const bool cs_check = ::boost::is_same::value; - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - dimension_checker::apply(); - } -#endif -}; - -}}} // namespace boost::geometry::concept - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_ROTATION_MATRIX_CONCEPT_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/rotation_quaternion_concept.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/rotation_quaternion_concept.hpp deleted file mode 100644 index cd0c0661bb..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/rotation_quaternion_concept.hpp +++ /dev/null @@ -1,111 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_ROTATION_QUATERNION_CONCEPT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_ROTATION_QUATERNION_CONCEPT_HPP - -#include - -#include -#include - -namespace boost { namespace geometry { namespace concept { - -template -class RotationQuaternion -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - typedef typename coordinate_type::type ctype; - typedef typename coordinate_system::type csystem; - - template - struct dimension_checker - { - static void apply() - { - G* g = 0; - geometry::set(*g, geometry::get(*g)); - dimension_checker::apply(); - } - }; - - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the Vector concept - BOOST_CONCEPT_USAGE(RotationQuaternion) - { - static const bool dim_check = dimension::value == 3; - BOOST_MPL_ASSERT_MSG(dim_check, INVALID_DIMENSION, (RotationQuaternion)); - static const bool cs_check = ::boost::is_same::value; - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - dimension_checker::apply(); - } -#endif -}; - - -template -class ConstRotationQuaternion -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - typedef typename coordinate_type::type ctype; - typedef typename coordinate_system::type csystem; - - template - struct dimension_checker - { - static void apply() - { - const G* g = 0; - ctype coord(geometry::get(*g)); - boost::ignore_unused_variable_warning(coord); - dimension_checker::apply(); - } - }; - - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the ConstVector concept - BOOST_CONCEPT_USAGE(ConstRotationQuaternion) - { - static const bool dim_check = dimension::value == 3; - BOOST_MPL_ASSERT_MSG(dim_check, INVALID_DIMENSION, (ConstRotationQuaternion)); - static const bool cs_check = ::boost::is_same::value; - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - dimension_checker::apply(); - } -#endif -}; - -}}} // namespace boost::geometry::concept - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_ROTATION_QUATERNION_CONCEPT_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/vector_concept.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/vector_concept.hpp deleted file mode 100644 index b13753a491..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/concepts/vector_concept.hpp +++ /dev/null @@ -1,112 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_VECTOR_CONCEPT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_VECTOR_CONCEPT_HPP - -#include - -#include -#include - -namespace boost { namespace geometry { namespace concept { - -template -class Vector -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - typedef typename coordinate_type::type ctype; - typedef typename coordinate_system::type csystem; - - enum { ccount = dimension::value }; - - - template - struct dimension_checker - { - static void apply() - { - V* v = 0; - geometry::set(*v, geometry::get(*v)); - dimension_checker::apply(); - } - }; - - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the Vector concept - BOOST_CONCEPT_USAGE(Vector) - { - static const bool cs_check = ::boost::is_same::value; - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - dimension_checker::apply(); - } -#endif -}; - - -template -class ConstVector -{ -#ifndef DOXYGEN_NO_CONCEPT_MEMBERS - - typedef typename coordinate_type::type ctype; - typedef typename coordinate_system::type csystem; - - enum { ccount = dimension::value }; - - template - struct dimension_checker - { - static void apply() - { - const V* v = 0; - ctype coord(geometry::get(*v)); - boost::ignore_unused_variable_warning(coord); - dimension_checker::apply(); - } - }; - - - template - struct dimension_checker - { - static void apply() {} - }; - -public: - - /// BCCL macro to apply the ConstVector concept - BOOST_CONCEPT_USAGE(ConstVector) - { - static const bool cs_check = ::boost::is_same::value; - BOOST_MPL_ASSERT_MSG(cs_check, NOT_IMPLEMENTED_FOR_THIS_CS, (csystem)); - - dimension_checker::apply(); - } -#endif -}; - -}}} // namespace boost::geometry::concept - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_CONCEPTS_VECTOR_CONCEPT_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/matrix.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/matrix.hpp deleted file mode 100644 index 61b988403d..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/matrix.hpp +++ /dev/null @@ -1,131 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_MATRIX_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_MATRIX_HPP - -#include - -#include -#include - -namespace boost { namespace geometry { - -namespace model { - -template -class matrix -{ - BOOST_CONCEPT_ASSERT( (concept::Matrix) ); - -public: - - /// @brief Default constructor, no initialization - inline matrix() - {} - - /// @brief Get a coordinate - /// @tparam I row index - /// @tparam J col index - /// @return the cell value - template - inline T const& get() const - { - BOOST_STATIC_ASSERT(I < Rows); - BOOST_STATIC_ASSERT(J < Cols); - return m_values[I + Rows * J]; - } - - /// @brief Set a coordinate - /// @tparam I row index - /// @tparam J col index - /// @param value value to set - template - inline void set(T const& value) - { - BOOST_STATIC_ASSERT(I < Rows); - BOOST_STATIC_ASSERT(J < Cols); - m_values[I + Rows * J] = value; - } - -private: - - T m_values[Rows * Cols]; -}; - -} // namespace model - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - -template -struct tag > -{ - typedef matrix_tag type; -}; - -template -struct coordinate_type > -{ - typedef CoordinateType type; -}; - -//template -//struct coordinate_system > -//{ -// typedef cs::cartesian type; -//}; - -// TODO - move this class to traits.hpp -template -struct indexed_dimension -{ - BOOST_MPL_ASSERT_MSG(false, - NOT_IMPLEMENTED_FOR_THIS_GEOMETRY_OR_INDEX, - (Geometry, boost::integral_constant)); -}; - -template -struct indexed_dimension, 0> - : boost::integral_constant -{}; - -template -struct indexed_dimension, 1> - : boost::integral_constant -{}; - -template -struct indexed_access, I, J> -{ - typedef CoordinateType coordinate_type; - - static inline coordinate_type get(model::matrix const& m) - { - return m.template get(); - } - - static inline void set(model::matrix & m, coordinate_type const& value) - { - m.template set(value); - } -}; - -} // namespace traits -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_MATRIX_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/quaternion.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/quaternion.hpp deleted file mode 100644 index f252285bdd..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/quaternion.hpp +++ /dev/null @@ -1,130 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_QUATERNION_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_QUATERNION_HPP - -#include - -#include -#include - -// WARNING! -// It is probable that the sequence of coordinate will change in the future -// at the beginning there would be xyz, w would become the last coordinate - -namespace boost { namespace geometry -{ - -namespace model -{ - -template -class quaternion -{ - BOOST_CONCEPT_ASSERT( (concept::Quaternion) ); - -public: - - /// @brief Default constructor, no initialization - inline quaternion() - {} - - /// @brief Constructor to set components - inline quaternion(T const& w, T const& x, T const& y, T const& z) - { - m_values[0] = w; - m_values[1] = x; - m_values[2] = y; - m_values[3] = z; - } - - /// @brief Get a coordinate - /// @tparam K coordinate to get - /// @return the coordinate - template - inline T const& get() const - { - BOOST_STATIC_ASSERT(K < 4); - return m_values[K]; - } - - /// @brief Set a coordinate - /// @tparam K coordinate to set - /// @param value value to set - template - inline void set(T const& value) - { - BOOST_STATIC_ASSERT(K < 4); - m_values[K] = value; - } - -private: - - T m_values[4]; -}; - - -} // namespace model - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - -template -struct tag > -{ - typedef quaternion_tag type; -}; - -template -struct coordinate_type > -{ - typedef CoordinateType type; -}; - -//template -//struct coordinate_system > -//{ -// typedef cs::cartesian type; -//}; - -template -struct dimension > - : boost::integral_constant -{}; - -template -struct access, Dimension> -{ - static inline CoordinateType get( - model::quaternion const& v) - { - return v.template get(); - } - - static inline void set( - model::quaternion & v, - CoordinateType const& value) - { - v.template set(value); - } -}; - -} // namespace traits -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_QUATERNION_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/rotation_matrix.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/rotation_matrix.hpp deleted file mode 100644 index 2a4d30ed86..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/rotation_matrix.hpp +++ /dev/null @@ -1,117 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_ROTATION_MATRIX_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_ROTATION_MATRIX_HPP - -#include - -#include -#include - -namespace boost { namespace geometry { - -namespace model { - -template -class rotation_matrix -{ - BOOST_CONCEPT_ASSERT( (concept::RotationMatrix) ); - -public: - - /// @brief Default constructor, no initialization - inline rotation_matrix() - {} - - /// @brief Get a coordinate - /// @tparam I row index - /// @tparam J col index - /// @return the cell value - template - inline T const& get() const - { - BOOST_STATIC_ASSERT(I < Dimension); - BOOST_STATIC_ASSERT(J < Dimension); - return m_values[I * Dimension + J]; - } - - /// @brief Set a coordinate - /// @tparam I row index - /// @tparam J col index - /// @param value value to set - template - inline void set(T const& value) - { - BOOST_STATIC_ASSERT(I < Dimension); - BOOST_STATIC_ASSERT(J < Dimension); - m_values[I * Dimension + J] = value; - } - -private: - - T m_values[Dimension * Dimension]; -}; - -} // namespace model - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - -template -struct tag > -{ - typedef rotation_matrix_tag type; -}; - -template -struct coordinate_type > -{ - typedef CoordinateType type; -}; - -template -struct coordinate_system > -{ - typedef cs::cartesian type; -}; - -template -struct dimension > - : boost::mpl::int_ -{}; - -template -struct indexed_access, I, J> -{ - typedef CoordinateType coordinate_type; - - static inline coordinate_type get(model::rotation_matrix const& m) - { - return m.template get(); - } - - static inline void set(model::rotation_matrix & m, coordinate_type const& value) - { - m.template set(value); - } -}; - -} // namespace traits -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_ROTATION_MATRIX_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/rotation_quaternion.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/rotation_quaternion.hpp deleted file mode 100644 index ebc99ffb62..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/rotation_quaternion.hpp +++ /dev/null @@ -1,134 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_ROTATION_QUATERNION_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_ROTATION_QUATERNION_HPP - -#include - -#include -#include - -// WARNING! -// It is probable that the sequence of coordinate will change in the future -// at the beginning there would be xyz, w would become the last coordinate - -namespace boost { namespace geometry -{ - -namespace model -{ - -template -class rotation_quaternion -{ - BOOST_CONCEPT_ASSERT( (concept::RotationQuaternion) ); - -public: - - /// @brief Default constructor, no initialization - inline rotation_quaternion() - {} - - /// @brief Constructor to set components - inline rotation_quaternion(T const& w, T const& x, T const& y, T const& z) - { - m_values[0] = w; - m_values[1] = x; - m_values[2] = y; - m_values[3] = z; - } - - /// @brief Get a coordinate - /// @tparam K coordinate to get - /// @return the coordinate - template - inline T const& get() const - { - BOOST_STATIC_ASSERT(K < 4); - return m_values[K]; - } - - /// @brief Set a coordinate - /// @tparam K coordinate to set - /// @param value value to set - template - inline void set(T const& value) - { - BOOST_STATIC_ASSERT(K < 4); - m_values[K] = value; - } - -private: - - T m_values[4]; -}; - - -} // namespace model - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - -template -struct tag > -{ - typedef rotation_quaternion_tag type; -}; - -template -struct coordinate_type > -{ - typedef CoordinateType type; -}; - -template -struct coordinate_system > -{ - typedef cs::cartesian type; -}; - -template -struct dimension > - : boost::mpl::int_<3> -{}; - -template -< - typename CoordinateType, - std::size_t Dimension -> -struct access, Dimension> -{ - static inline CoordinateType get( - model::rotation_quaternion const& v) - { - return v.template get(); - } - - static inline void set( - model::rotation_quaternion & v, - CoordinateType const& value) - { - v.template set(value); - } -}; - -} // namespace traits -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_ROTATION_QUATERNION_HPP diff --git a/3party/boost/boost/geometry/extensions/algebra/geometries/vector.hpp b/3party/boost/boost/geometry/extensions/algebra/geometries/vector.hpp deleted file mode 100644 index 679fe547f1..0000000000 --- a/3party/boost/boost/geometry/extensions/algebra/geometries/vector.hpp +++ /dev/null @@ -1,133 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_VECTOR_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_VECTOR_HPP - -#include - -#include -#include - -#include -#include - -namespace boost { namespace geometry -{ - -namespace model -{ - -template -class vector -{ - BOOST_CONCEPT_ASSERT( (concept::Vector) ); - -public: - - /// @brief Default constructor, no initialization - inline vector() - {} - - /// @brief Constructor to set one, two or three values - inline explicit vector(CoordinateType const& v0, CoordinateType const& v1 = 0, CoordinateType const& v2 = 0) - { - if (DimensionCount >= 1) m_values[0] = v0; - if (DimensionCount >= 2) m_values[1] = v1; - if (DimensionCount >= 3) m_values[2] = v2; - } - - /// @brief Get a coordinate - /// @tparam K coordinate to get - /// @return the coordinate - template - inline CoordinateType const& get() const - { - BOOST_STATIC_ASSERT(K < DimensionCount); - return m_values[K]; - } - - /// @brief Set a coordinate - /// @tparam K coordinate to set - /// @param value value to set - template - inline void set(CoordinateType const& value) - { - BOOST_STATIC_ASSERT(K < DimensionCount); - m_values[K] = value; - } - -private: - - CoordinateType m_values[DimensionCount]; -}; - - -} // namespace model - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - -template -struct tag > -{ - typedef vector_tag type; -}; - -template -struct coordinate_type > -{ - typedef CoordinateType type; -}; - -template -struct coordinate_system > -{ - typedef cs::cartesian type; -}; - -template -struct dimension > - : boost::mpl::int_ -{}; - -template -< - typename CoordinateType, - std::size_t DimensionCount, - std::size_t Dimension -> -struct access, Dimension> -{ - static inline CoordinateType get( - model::vector const& v) - { - return v.template get(); - } - - static inline void set( - model::vector & v, - CoordinateType const& value) - { - v.template set(value); - } -}; - -} // namespace traits -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGEBRA_GEOMETRIES_VECTOR_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/connect.hpp b/3party/boost/boost/geometry/extensions/algorithms/connect.hpp deleted file mode 100644 index 7c5439b972..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/connect.hpp +++ /dev/null @@ -1,581 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_CONNECT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_CONNECT_HPP - -#include - - -#include - -#include -#include -#include -#include -#include -#include - -#include - -#include - - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace connect -{ - - -template -struct node -{ - int index; - bool is_from; - Point point; - - node(int i, bool f, Point const& p) - : index(i) - , is_from(f) - , point(p) - {} - - node() - : index(-1) - , is_from(false) - {} -}; - -template -struct map_policy -{ - typedef typename strategy::distance::services::default_strategy - < - point_tag, point_tag, Point - >::type strategy_type; - - // Have a map > such that we can find - // the corresponding point on each end. Note that it uses the - // default "equals" for the point-type - typedef std::map - < - Point, - std::vector >, - geometry::less - > map_type; - - typedef typename map_type::const_iterator map_iterator_type; - typedef typename std::vector >::const_iterator vector_iterator_type; - - typedef Point point_type; - typedef typename default_distance_result::type distance_result_type; - - - map_type map; - - - inline bool find_start(node& object, - std::map& included, - int expected_count = 1) - { - for (map_iterator_type it = map.begin(); - it != map.end(); - ++it) - { - if ((expected_count == 1 && boost::size(it->second) == 1) - || (expected_count > 1 && boost::size(it->second) > 1)) - { - for (vector_iterator_type vit = it->second.begin(); - vit != it->second.end(); - ++vit) - { - if (! included[vit->index]) - { - included[vit->index] = true; - object = *vit; - return true; - } - } - } - } - - // Not found with one point, try one with two points - // to find rings - if (expected_count == 1) - { - return find_start(object, included, 2); - } - - return false; - } - - inline void add(int index, Point const& p, bool is_from) - { - map[p].push_back(node(index, is_from, p)); - } - - - template - inline void add(int index, LineString const& ls) - { - if (boost::size(ls) > 0) - { - add(index, *boost::begin(ls), true); - add(index, *(boost::end(ls) - 1), false); - } - } - - inline node find_closest(Point const& p1, std::map& included) - { - std::vector > const& range = map[p1]; - - node closest; - - - // Alternatively, we might look for the closest points - if (boost::size(range) == 0) - { - std::cout << "nothing found" << std::endl; - return closest; - } - - // 2c: for all candidates get closest one - strategy_type strategy; - - distance_result_type min_dist = strategy::distance::services - ::result_from_distance::apply(strategy, 100); - - for (vector_iterator_type it = boost::begin(range); - it != boost::end(range); - ++it) - { - if (! included[it->index]) - { - distance_result_type d = geometry::comparable_distance(p1, it->point); - if (d < min_dist) - { - closest = *it; - min_dist = d; - - //std::cout << "TO " << geometry::wkt(p2) << std::endl; - } - } - } - return closest; - } - -}; - - -template -struct fuzzy_policy -{ - typedef typename strategy::distance::services::default_strategy - < - point_tag, point_tag, Point - >::type strategy_type; - - // Have a map > such that we can find - // the corresponding point on each end. Note that it uses the - // default "equals" for the point-type - typedef std::vector - < - std::pair - < - Point, - std::vector > - > - > map_type; - - typedef typename map_type::const_iterator map_iterator_type; - typedef typename std::vector >::const_iterator vector_iterator_type; - - typedef Point point_type; - typedef typename default_distance_result::type distance_result_type; - - - map_type map; - typename coordinate_type::type m_limit; - - - fuzzy_policy(typename coordinate_type::type limit) - : m_limit(limit) - {} - - inline bool find_start(node& object, - std::map& included, - int expected_count = 1) - { - for (map_iterator_type it = map.begin(); - it != map.end(); - ++it) - { - if ((expected_count == 1 && boost::size(it->second) == 1) - || (expected_count > 1 && boost::size(it->second) > 1)) - { - for (vector_iterator_type vit = it->second.begin(); - vit != it->second.end(); - ++vit) - { - if (! included[vit->index]) - { - included[vit->index] = true; - object = *vit; - return true; - } - } - } - } - - // Not found with one point, try one with two points - // to find rings - if (expected_count == 1) - { - return find_start(object, included, 2); - } - - return false; - } - - inline typename boost::range_iterator::type fuzzy_closest(Point const& p) - { - typename boost::range_iterator::type closest = boost::end(map); - - for (typename boost::range_iterator::type it = boost::begin(map); - it != boost::end(map); - ++it) - { - distance_result_type d = geometry::distance(p, it->first); - if (d < m_limit) - { - if (closest == boost::end(map)) - { - closest = it; - } - else - { - distance_result_type dc = geometry::distance(p, closest->first); - if (d < dc) - { - closest = it; - } - } - } - } - return closest; - } - - - inline void add(int index, Point const& p, bool is_from) - { - // Iterate through all points and get the closest one. - typename boost::range_iterator::type it = fuzzy_closest(p); - if (it == map.end()) - { - map.resize(map.size() + 1); - map.back().first = p; - it = map.end() - 1; - } - it->second.push_back(node(index, is_from, p)); - } - - - template - inline void add(int index, LineString const& ls) - { - if (boost::size(ls) > 0) - { - add(index, *boost::begin(ls), true); - add(index, *(boost::end(ls) - 1), false); - } - } - - inline node find_closest(Point const& p1, std::map& included) - { - namespace services = strategy::distance::services; - - node closest; - - typename boost::range_iterator::type it = fuzzy_closest(p1); - if (it == map.end()) - { - return closest; - } - - std::vector > const& range = it->second; - - - - // Alternatively, we might look for the closest points - if (boost::size(range) == 0) - { - std::cout << "nothing found" << std::endl; - return closest; - } - - // 2c: for all candidates get closest one - strategy_type strategy; - distance_result_type min_dist = strategy::distance::services - ::result_from_distance::apply(strategy, 100); - - for (vector_iterator_type it = boost::begin(range); - it != boost::end(range); - ++it) - { - if (! included[it->index]) - { - distance_result_type d = geometry::comparable_distance(p1, it->point); - if (d < min_dist) - { - closest = *it; - min_dist = d; - - //std::cout << "TO " << geometry::wkt(p2) << std::endl; - } - } - } - return closest; - } -}; - -template -inline void debug(Policy const& policy) -{ - std::cout << "MAP" << std::endl; - typedef typename Policy::map_type::const_iterator iterator; - typedef typename Policy::point_type point_type; - - for (iterator it=policy.map.begin(); it != policy.map.end(); ++it) - { - std::cout << geometry::dsv(it->first) << " => " ; - std::vector > const& range =it->second; - for (typename std::vector >::const_iterator - vit = boost::begin(range); vit != boost::end(range); ++vit) - { - std::cout - << " (" << vit->index - << ", " << (vit->is_from ? "F" : "T") - << ")" - ; - } - std::cout << std::endl; - } -} - - - - -// Dissolve on multi_linestring tries to create larger linestrings from input, -// or closed rings. - -template -struct connect_multi_linestring -{ - typedef typename point_type::type point_type; - typedef typename boost::range_iterator::type iterator_type; - typedef typename boost::range_value::type linestring_type; - - - static inline void copy(linestring_type const& ls, - GeometryOut& target, - bool copy_forward) - { - if (copy_forward) - { - std::copy(boost::begin(ls), boost::end(ls), - std::back_inserter(target)); - } - else - { - std::reverse_copy(boost::begin(ls), boost::end(ls), - std::back_inserter(target)); - } - } - - - template - static inline OutputIterator apply(Multi const& multi, Policy& policy, OutputIterator out) - { - if (boost::size(multi) <= 0) - { - return out; - } - - // 1: fill the map. - int index = 0; - for (iterator_type it = boost::begin(multi); - it != boost::end(multi); - ++it, ++index) - { - policy.add(index, *it); - } - - debug(policy); - - std::map included; - - // 2: connect the lines - - // 2a: start with one having a unique starting point - node starting_point; - if (! policy.find_start(starting_point, included)) - { - return out; - } - - GeometryOut current; - copy(multi[starting_point.index], current, starting_point.is_from); - - bool found = true; - while(found) - { - // 2b: get all candidates, by asking multi-map for range - point_type const& p1 = *(boost::end(current) - 1); - - node closest = policy.find_closest(p1, included); - - found = false; - - // 2d: if there is a closest one add it - if (closest.index >= 0) - { - found = true; - included[closest.index] = true; - copy(multi[closest.index], current, closest.is_from); - } - else if ((included.size() != std::size_t(boost::size(multi)))) - { - // Get one which is NOT found and go again - node next; - if (policy.find_start(next, included)) - { - found = true; - - *out++ = current; - geometry::clear(current); - - copy(multi[next.index], current, next.is_from); - } - } - } - if (boost::size(current) > 0) - { - *out++ = current; - } - - return out; - } -}; - -}} // namespace detail::connect -#endif - - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename GeometryTag, - typename GeometryOutTag, - typename Geometry, - typename GeometryOut, - typename Policy -> -struct connect -{}; - - -template -struct connect - : detail::connect::connect_multi_linestring - < - Multi, - GeometryOut, - Policy - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -template -< - typename Geometry, - typename Collection -> -inline void connect(Geometry const& geometry, Collection& output_collection) -{ - typedef typename boost::range_value::type geometry_out; - - concept::check(); - concept::check(); - - typedef detail::connect::map_policy - < - typename point_type::type - > policy_type; - - policy_type policy; - - dispatch::connect - < - typename tag::type, - typename tag::type, - Geometry, - geometry_out, - policy_type - >::apply(geometry, policy, std::back_inserter(output_collection)); -} - - - -template -< - typename Geometry, - typename Collection -> -inline void connect(Geometry const& geometry, Collection& output_collection, - typename coordinate_type::type const& limit) -{ - typedef typename boost::range_value::type geometry_out; - - concept::check(); - concept::check(); - - typedef detail::connect::fuzzy_policy - < - typename point_type::type - > policy_type; - - policy_type policy(limit); - - dispatch::connect - < - typename tag::type, - typename tag::type, - Geometry, - geometry_out, - policy_type - >::apply(geometry, policy, std::back_inserter(output_collection)); -} - - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_CONNECT_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/detail/overlay/dissolver.hpp b/3party/boost/boost/geometry/extensions/algorithms/detail/overlay/dissolver.hpp deleted file mode 100644 index f54dfecd25..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/detail/overlay/dissolver.hpp +++ /dev/null @@ -1,656 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_DETAIL_OVERLAY_DISSOLVER_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_DETAIL_OVERLAY_DISSOLVER_HPP - - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL - -namespace detail { namespace inserter -{ - - -template -struct insert_geometry -{}; - -template<> -struct insert_geometry -{ - template - static inline void apply(Ring const& ring, Collection& collection) - { - collection.resize(collection.size() + 1); - geometry::exterior_ring(collection.back()) = ring; - } -}; - - - - -template<> -struct insert_geometry -{ - template - static inline void apply(Geometry const& geometry, Collection& collection) - { - collection.push_back(geometry); - } -}; - -template -inline void insert(Geometry const& geometry, Collection& collection) -{ - insert_geometry - < - typename geometry::tag::type, - typename geometry::tag - < - typename boost::range_value::type - >::type - >::apply(geometry, collection); -} - -}} // namespace detail::inserter - - - -namespace detail { namespace dissolver -{ - -class plusmin_policy -{ - template - < - typename Geometry1, - typename Geometry2, - typename RescalePolicy, - typename OutputCollection - > - static inline bool check_negative(Geometry1 a, Geometry2 b, // pass-by-value - RescalePolicy const& rescale_policy, - OutputCollection& output_collection) - { - // Precondition: a = positive, b = negative - - // 1: make b positive to get proper intersection - geometry::reverse(b); - { - // 2: Check if there is overlap - OutputCollection difference; - geometry::intersection(a, b, difference); - if(difference.size() <= 0) - { - return false; - } - } - - // There is overlap and we want to remove it, by subtracting it from b - - //negative = true; - - typedef typename geometry::point_type::type point_type; - - typedef overlay::turn_info - < - point_type, - typename segment_ratio_type::type - > turn_info; - std::deque turns; - - // Get (and stop on) any intersection - detail::disjoint::disjoint_interrupt_policy policy; - geometry::get_turns - < - false, false, - overlay::assign_null_policy - >(a, b, rescale_policy, turns, policy); - - if (! policy.has_intersections) - { - // There is overlap but no intersections -> b is inside a. - // So keep A and keep B, do not change anything - return false; - } - - // There are intersections. - // 3: make a negative - geometry::reverse(a); // now negative - - // This will calculate B minus A, result is then positive - OutputCollection difference; - geometry::intersection(a, b, difference); - - // Add original a to output (NOT necessary! TODO avoid this) - { - geometry::reverse(a); // positive again - detail::inserter::insert(a, output_collection); - } - - // Make negative output negative again - typedef typename boost::range_iterator::type iterator_type; - for(iterator_type it = boost::begin(difference); - it != boost::end(difference); - ++it) - { - geometry::reverse(*it); - detail::inserter::insert(*it, output_collection); - } - return true; - } - - -public : - - template - < - typename Geometry1, - typename Geometry2, - typename RescalePolicy, - typename OutputCollection - > - static inline bool apply(Geometry1 const& a, Geometry2 const& b, - RescalePolicy const& rescale_policy, - OutputCollection& output_collection) - { - typedef typename geometry::coordinate_type::type coordinate_type; - coordinate_type area_a = geometry::area(a); - coordinate_type area_b = geometry::area(b); - - // DEBUG - /* - int n = boost::size(output_collection); - typedef typename geometry::point_type::type point_type; - std::cout << "Combine " - << area_a << " with " << " " << area_b - << " { " << geometry::wkt(geometry::return_centroid(a)) - << geometry::wkt(geometry::return_centroid(b)) << " }" - << std::endl; - */ - // END DEBUG - - coordinate_type zero = coordinate_type(); - if (area_a > zero && area_b > zero) - { - geometry::union_(a, b, output_collection); - return true; - } - else if (area_a > zero && area_b < zero) - { - return check_negative(a, b, rescale_policy, output_collection); - } - else if (area_a < zero && area_b > zero) - { - return check_negative(b, a, rescale_policy, output_collection); - } - - // both negative (?) TODO - // DEBUG - /* - for (int i = n; i < boost::size(output_collection); i++) - { - typedef typename geometry::point_type::type point_type; - std::cout << "Result " - << geometry::area(output_collection[i]) - << " " << geometry::wkt(geometry::return_centroid(output_collection[i])) - << std::endl; - } - */ - // END DEBUG - return false; - - } - -}; - - -template -struct dissolver_generic -{ - - - // Small structure to access elements by index; - // this avoids copying or accessing elements by address (pointer) - template - struct dissolve_helper - { - int source; // 0,1 - int index; // index in the original array - bool dissolved; - Box box; - double area; - - dissolve_helper() - {} - - dissolve_helper(int i, Box b, double a, int s) - : source(s) - , index(i) - , dissolved(false) - , box(b) - , area(a) - {} - }; - - - struct get_geometry - { - template - inline static typename boost::range_value::type const& apply( - Range const& range, int index) - { - return range[index]; - } - }; - - template - < - typename Vector, - typename HelperVector - > - static inline void init_helper(Vector const& v, HelperVector& helper, - int index = 0, int source = 0) - { - typedef typename boost::range_value::type value_type; - typedef typename geometry::point_type::type point_type; - typedef model::box box_type; - for(typename boost::range_iterator::type - it = boost::begin(v); - it != boost::end(v); - ++it, ++index) - { - helper.push_back(dissolve_helper(index, - geometry::return_envelope(*it), - geometry::area(*it), - source)); - } - } - - template - < - typename Element, - typename Geometry1, typename Geometry2, - typename RescalePolicy, - typename OutputCollection - > - static inline bool call_policy( - Element const& , Element const& , - Geometry1 const& geometry1, Geometry2 const& geometry2, - RescalePolicy const& rescale_policy, - OutputCollection& output_collection) - { - if (! geometry::disjoint(geometry1, geometry2)) - { - /*std::cout << "Process " << element1.source << "/" << element1.index - << " and " << element2.source << "/" << element2.index - << " (" << element2.dissolved << "," << element2.dissolved << ")" - << std::endl; - */ - return CombinePolicy::apply(geometry1, geometry2, - rescale_policy, output_collection); - } - return false; - } - - - template - < - int Dimension, - typename HelperVector, - typename IndexVector, - typename InputRange, - typename RescalePolicy, - typename OutputCollection, - typename Box - > - static inline bool divide_and_conquer(HelperVector& helper_vector - , IndexVector& index_vector - , InputRange const& input_range - , RescalePolicy const& rescale_policy - , OutputCollection& output_collection - , Box const& total_box - , bool& changed - , int iteration = 0 - ) - { - //std::cout << "divide_and_conquer " << iteration << std::endl; - typedef typename geometry::coordinate_type::type coordinate_type; - typedef typename boost::range_value::type helper_type; - typedef typename boost::range_iterator::type iterator_type; - - //if (boost::size(index_vector) >= 16 && iteration < 100) - // Not yet using divide and conquer - if (false) - { - // 1: separate box into 2 (either horizontally or vertically) - Box lower_box = total_box, upper_box = total_box; - coordinate_type two = 2.0; - coordinate_type mid - = (geometry::get(total_box) - + geometry::get(total_box)) / two; - - geometry::set(lower_box, mid); - geometry::set(upper_box, mid); - - // 2: divide indices into two sublists - IndexVector lower_list, upper_list; - for(iterator_type it = boost::begin(index_vector); - it != boost::end(index_vector); - ++it) - { - helper_type const& element = helper_vector[*it]; - if (! geometry::disjoint(lower_box, element.box)) - { - lower_list.push_back(*it); - } - if (! geometry::disjoint(upper_box, element.box)) - { - upper_list.push_back(*it); - } - } - - //std::cout << lower_list.size() << ", " << upper_list.size()<< std::endl; - - // 3: recursively call function (possibly divide in other dimension) - divide_and_conquer<1 - Dimension>(helper_vector, - lower_list, input_range, rescale_policy, output_collection, lower_box, changed, iteration + 1); - divide_and_conquer<1 - Dimension>(helper_vector, - upper_list, input_range, rescale_policy, output_collection, upper_box, changed, iteration + 1); - return changed; - } - - // There are less then 16 elements, handle them quadraticly - - int n = boost::size(output_collection); - - for(iterator_type it1 = boost::begin(index_vector); - it1 != boost::end(index_vector); - ++it1) - { - helper_type& element1 = helper_vector[*it1]; - - bool unioned = false; - for(iterator_type it2 = boost::begin(index_vector); - ! unioned && it2 != it1; - ++it2) - { - helper_type& element2 = helper_vector[*it2]; - - // If they are NOT disjoint, union them - if (! element1.dissolved - && ! element2.dissolved - && ! geometry::disjoint(element1.box, element2.box)) - { - // Runtime type check here... - if ((element1.source == 0 && element2.source == 0 - && call_policy - ( - element1, element2, - get_geometry::apply(input_range, element1.index), - get_geometry::apply(input_range, element2.index), - rescale_policy, - output_collection - ) - ) - || (element1.source == 0 && element2.source == 1 - && call_policy - ( - element1, element2, - get_geometry::apply(input_range, element1.index), - get_geometry::apply(output_collection, element2.index), - rescale_policy, - output_collection - ) - ) - || (element1.source == 1 && element2.source == 0 - && call_policy - ( - element1, element2, - get_geometry::apply(output_collection, element1.index), - get_geometry::apply(input_range, element2.index), - rescale_policy, - output_collection - ) - ) - || (element1.source == 1 && element2.source == 1 - && call_policy - ( - element1, element2, - get_geometry::apply(output_collection, element1.index), - get_geometry::apply(output_collection, element2.index), - rescale_policy, - output_collection - ) - ) - ) - { - changed = true; - element1.dissolved = true; - element2.dissolved = true; - - unioned = true; -/*std::cout << "Assign " << element1.source << "/" << element1.index -<< " and " << element2.source << "/" << element2.index -<< " (" << element2.dissolved << "," << element2.dissolved << ")" -<< std::endl; -*/ - } - } - } - } - - // Append new records in output collection to helper class - init_helper(std::make_pair(boost::begin(output_collection) + n, - boost::end(output_collection)), helper_vector, n, 1); - - return changed; - } - - template - static inline bool helper_dissolved(T const& t) - { - return t.dissolved; - } - - - - template - < - typename InputRange, - typename RescalePolicy, - typename OutputCollection - > - static inline void apply(InputRange const& input_range - , RescalePolicy const& rescale_policy - , OutputCollection& output_collection - ) - { - typedef typename boost::range_value::type output_type; - - typedef typename geometry::point_type::type point_type; - typedef model::box box_type; - typedef dissolve_helper dissolve_helper_type; - typedef std::vector helper_vector_type; - - // Vector with indices to both input_range (source 0) and output_collection (source 1) - helper_vector_type helper_vector; - - // Vector with indices to helper-vector, for divide and conquer - std::vector index_vector; - - - init_helper(input_range, helper_vector); - - // Fill intrusive list with copies, and determine bounding box - box_type total_box; - geometry::assign_inverse(total_box); - int index = 0; - for(typename boost::range_iterator::type - it = boost::begin(helper_vector); - it != boost::end(helper_vector); - ++it, ++index) - { - index_vector.push_back(index); - geometry::expand(total_box, it->box); - } - - std::vector unioned_collection; - - int size = 0, previous_size = 0; - int n = 0; - - bool changed = false; - while(divide_and_conquer<1> - (helper_vector, index_vector, input_range, rescale_policy, unioned_collection, total_box, changed) && n < 5) - { - // Remove everything which is already dissolved. - helper_vector.erase - ( - std::remove_if - ( - helper_vector.begin(), - helper_vector.end(), - helper_dissolved - ), - helper_vector.end() - ); - - previous_size = size; - size = helper_vector.size(); - n = previous_size == size ? n + 1 : 0; - - // Re-initialize the list - index_vector.clear(); - index = 0; - for(typename boost::range_iterator::type - it = boost::begin(helper_vector); - it != boost::end(helper_vector); - ++it, ++index) - { - index_vector.push_back(index); - } - - changed = false; - - //std::cout << " " << size; - } - - // Add input+output to real output - typedef typename boost::range_iterator::type iterator_type; - for(iterator_type it = boost::begin(helper_vector); - it != boost::end(helper_vector); - ++it) - { - if (! it->dissolved) - { - switch(it->source) - { - case 0 : - detail::inserter::insert( - get_geometry::apply(input_range, it->index), - output_collection); - break; - case 1 : - detail::inserter::insert( - get_geometry::apply(unioned_collection, it->index), - output_collection); - break; - } - } - } - } -}; - - -}} // namespace detail::dissolver -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename GeometryTag1, - typename GeometryTag2, - typename Policy -> -struct dissolver -{}; - - -template -struct dissolver - : detail::dissolver::dissolver_generic -{}; - -template -struct dissolver - : detail::dissolver::dissolver_generic -{}; - - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -template -< - typename InputRange, - typename OutputCollection -> -inline void dissolver(InputRange const& input_range, - OutputCollection& output_collection) -{ - typedef typename boost::range_value::type geometry_in; - typedef typename boost::range_value::type geometry_out; - concept::check(); - concept::check(); - - dispatch::dissolver - < - typename tag::type, - typename tag::type, - detail::dissolver::plusmin_policy - >::apply(input_range, output_collection); -} - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_DETAIL_OVERLAY_DISSOLVER_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/detail/overlay/split_rings.hpp b/3party/boost/boost/geometry/extensions/algorithms/detail/overlay/split_rings.hpp deleted file mode 100644 index 6f0067446b..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/detail/overlay/split_rings.hpp +++ /dev/null @@ -1,558 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_DETAIL_OVERLAY_SPLIT_RINGS_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_DETAIL_OVERLAY_SPLIT_RINGS_HPP - -#define BOOST_GEOMETRY_CHECK_SPLIT_RINGS - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#if defined(BOOST_GEOMETRY_DEBUG_SPLIT_RINGS) || defined(BOOST_GEOMETRY_CHECK_SPLIT_RINGS) -# include -#endif - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace split_rings -{ - -template -struct split_range -{ -/* - - 1 2 - +-------------+ - | 4 / - | |\ / - | | \/____ IP - | | /\ - | |/ \ - | 3 \ - +-------------+ - 0,6 5 - - - we want to split the range at the IP into two rings - - At the IP: we have segment_indices 2,4 (result of get_turns_in_sections) - - We want to copy and remove vertices 3,4 - --> count=4-2 - --> copy [3,5) -> copy(begin()+id1+1, begin()+id1+count+1) - --> erase: idem - --> insert(begin()+id1+1) - - --> we use id1+1 - - After that, we need to update all indices AFTER IP. - We removed two vertices here (4-2), and added one (the IP) - -*/ - static inline void apply(Range& range, Range& output - , segment_identifier const& id1 - , segment_identifier const& id2 - , typename geometry::point_type::type const& point - ) - { - if (id1.ring_index == id2.ring_index - && id1.multi_index == id2.multi_index) - { - int mn = (std::min)(id1.segment_index, id2.segment_index); - mn++; - - typename boost::range_iterator::type first = range.begin(); - first += mn; - - typename boost::range_iterator::type last = first; - last += geometry::math::abs(id2.segment_index - id1.segment_index); - - // Create splitted ring - output.push_back(point); - std::copy(first, last, std::back_inserter(output)); - output.push_back(point); - - // Remove the loop from the range - range.erase(first, last); - - // Iterator is invalid because of erasure, construct again - range.insert(range.begin() + mn, point); - } - } -}; - - -/*template -struct split_polygon -{ - typedef typename geometry::ring_type::type ring_type; - - static inline void apply(Polygon& polygon, ring_type& splitted - , segment_identifier const& id1 - , segment_identifier const& id2 - , typename geometry::point_type::type const& point - ) - { - if (id1.ring_index == id2.ring_index - && id1.multi_index == id2.multi_index) - { - ring_type& ring = id1.ring_index < 0 - ? geometry::exterior_ring(polygon) - : geometry::interior_rings(polygon)[id1.ring_index]; - - split_range::apply(ring, splitted, id1, id2, point); - } - } -};*/ - - -template -struct split -{}; - - -template -struct split : split_range -{}; - - -//template -//struct split : split_polygon -//{}; - - - - - - -template -struct insert_rings -{}; - - -template -struct insert_rings -{ - static inline void apply(RingCollection& ring_collection, Ring const& ring) - { -#ifdef BOOST_GEOMETRY_DEBUG_SPLIT_RINGS -std::cout << geometry::wkt(ring) - << " ; " << geometry::area(ring) - << " " << ring.size() - //<< " at " << geometry::wkt(first.point) - << std::endl; -/*std::cout << "geometry " - << " " << geometry::area(geometry) - << std::endl;*/ -#endif - - ring_collection.push_back(ring); - } -}; - - -template -struct insert_rings -{ - static inline void apply(RingCollection& ring_collection, Polygon const& polygon) - { - ring_collection.push_back(exterior_ring(polygon)); - - typename interior_return_type::type rings - = interior_rings(polygon); - - typedef typename boost::range_const_iterator - < - typename interior_type::type - >::type ring_iterator; - - for (ring_iterator it = boost::begin(rings); it != boost::end(rings); ++it) - { -#ifdef BOOST_GEOMETRY_DEBUG_SPLIT_RINGS -std::cout << geometry::wkt(*it) - << " ; " << geometry::area(*it) - << " " << it->size() - //<< " at " << geometry::wkt(first.point) - << std::endl; -/*std::cout << "geometry " - << " " << geometry::area(geometry) - << std::endl;*/ -#endif - - ring_collection.push_back(*it); - } - } -}; - - -/// Sorts vector of turns (results from get_turns) -template -struct sorter -{ - inline bool operator()(Turn const& left, Turn const& right) const - { - if (left.count_between != right.count_between) - { - return left.count_between < right.count_between; - } - - if (left.operations[0].seg_id.segment_index - == right.operations[0].seg_id.segment_index) - { - return left.operations[0].distance < right.operations[0].distance; - } - return left.operations[0].seg_id.segment_index - < right.operations[0].seg_id.segment_index; - } -}; - -/// Turn operation with additional distance field -template -struct split_turn_operation : public detail::overlay::turn_operation -{ - inline split_turn_operation() - : detail::overlay::turn_operation() - , distance(geometry::return_distance_result(0)) - {} - - typedef typename default_distance_result::type distance_type; - distance_type distance; // distance-measurement from segment.first to IP -}; - - -/// Turn information with distance fields, plus "count_between" field -template -struct split_turn_info : detail::overlay::turn_info - < - P, split_turn_operation

- > -{ - //std::string history; - int count_between; // counts number of segments between ring in intersection - - split_turn_info() - : count_between(0) - {} -}; - - -/// Policy to calculate distance -struct split_calculate_distance_policy -{ - template - static inline void apply(Info& info, Point1 const& p1, Point2 const& p2) - { - info.operations[0].distance - = geometry::distance(info.point, p1); - info.operations[1].distance - = geometry::distance(info.point, p2); - } - -}; - - -template -class range_split_rings -{ - typedef typename geometry::tag::type tag; - typedef typename geometry::point_type::type point_type; - - typedef typename geometry::ring_type::type ring_type; - - - typedef typename strategy_intersection - < - typename cs_tag::type, - point_type, - point_type, - point_type - >::segment_intersection_strategy_type strategy; - - - - -#ifdef BOOST_GEOMETRY_DEBUG_SPLIT_RINGS - template - static void report(Turns const& turns, std::string const& header) - { - if (turns.empty()) - { - return; - } - std::cout << header << std::endl; - BOOST_FOREACH(typename boost::range_value::type const& turn, turns) - { - std::cout - << "I at " << turn.operations[0].seg_id.segment_index - << "/" << turn.operations[1].seg_id.segment_index - << " (" << turn.count_between - << ") " << turn.operations[0].distance - << "/" << turn.operations[1].distance - << " " << geometry::wkt(turn.point) << std::endl; - } - } -#endif - - template - static bool adapt(Operation& op, Operation const& first, Operation const& second) - { - if (first.seg_id.segment_index > second.seg_id.segment_index) - { - return adapt(op, second, first); - } - if (op.seg_id.segment_index > first.seg_id.segment_index - || (op.seg_id.segment_index == first.seg_id.segment_index - && op.distance > first.distance) - ) - { - if (op.seg_id.segment_index < second.seg_id.segment_index - || (op.seg_id.segment_index == second.seg_id.segment_index - && op.distance < second.distance) - ) - { - // mark for deletion - op.seg_id.segment_index = -1; - return true; - } - else - { - op.seg_id.segment_index -= (second.seg_id.segment_index - first.seg_id.segment_index - 1); - } - } - return false; - } - - - static void call(Range range, RingCollection& ring_collection) - { - typedef split_turn_info turn_info; - - typedef std::deque turns_type; - turns_type turns; - - detail::get_turns::no_interrupt_policy policy; - geometry::get_turns - < - split_calculate_distance_policy - >(range, turns, policy); - - //report(turns, "intersected"); - - // Make operations[0].seg_id always the smallest, to sort properly - // Also calculate the number of segments in between - for (typename boost::range_iterator::type - it = boost::begin(turns); - it != boost::end(turns); - ++it) - { - turn_info& turn = *it; - if (turn.operations[0].seg_id.segment_index > turn.operations[1].seg_id.segment_index) - { - std::swap(turn.operations[0], turn.operations[1]); - } - // ...[1] > ...[0] - // check count - int const between1 = turn.operations[1].seg_id.segment_index - - turn.operations[0].seg_id.segment_index; - /* - NOTE: if we would use between2 here, we have to adapt other code as well, - such as adaption of the indexes; splitting of the range, etc. - int between2 = boost::size(range) + turn.operations[0].seg_id.segment_index - - turn.operations[1].seg_id.segment_index; - turn.count_between = (std::min)(between1, between2); - */ - - turn.count_between = between1; - } - //report(turns, "swapped"); - - std::sort(turns.begin(), turns.end(), sorter()); - //report(turns, "sorted"); - - while(turns.size() > 0) - { - // Process first turn - turn_info const& turn = turns.front(); - - split_turn_operation const& first_op = turn.operations[0]; - split_turn_operation const& second_op = turn.operations[1]; - bool do_split = first_op.seg_id.segment_index >= 0 - && second_op.seg_id.segment_index >= 0; - - if (do_split) - { -#ifdef BOOST_GEOMETRY_CHECK_SPLIT_RINGS - ring_type copy = range; // TEMP, for check -#endif - ring_collection.resize(ring_collection.size() + 1); - split::apply(range, ring_collection.back(), - turn.operations[0].seg_id, turn.operations[1].seg_id, - turn.point); - -#ifdef BOOST_GEOMETRY_CHECK_SPLIT_RINGS - { - std::deque splitted_turns; - geometry::get_turns - < - split_calculate_distance_policy - >(ring_collection.back(), - splitted_turns, - detail::get_turns::no_interrupt_policy()); - - if (splitted_turns.size() > 0) - { - std::cout << "TODO Still intersecting! " << splitted_turns.size() << std::endl; - //std::cout << " " << geometry::wkt(copy) << std::endl; - //std::cout << " " << geometry::wkt(splitted) << std::endl; - //report(splitted_turns, "NOT OK"); - //std::cout << std::endl; - } - } -#endif - - } - - turns.pop_front(); - - - if (do_split) - { - for (typename boost::range_iterator::type - rest = boost::begin(turns); - rest != boost::end(turns); - ++rest) - { - //turn_info copy = turn; - if (adapt(rest->operations[0], first_op, second_op) - || adapt(rest->operations[1], first_op, second_op)) - { - /** - std::cout << " ADAPTED " - << copy.operations[0].seg_id.segment_index << "/" << copy.operations[1].seg_id.segment_index - << " " - << geometry::wkt(copy.point) << std::endl; - **/ - } - } - } - while(turns.size() > 0 - && (turns.front().operations[0].seg_id.segment_index < 0 - || turns.front().operations[1].seg_id.segment_index < 0)) - { - turns.pop_front(); - } - } - - // Add the (possibly untouched) input range - insert_rings::apply(ring_collection, range); - } - -public : - // Copy by value of range is intentional, copy is modified here - static inline void apply(Range range, RingCollection& ring_collection) - { - call(range, ring_collection); - } -}; - -template -struct polygon_split_rings -{ - typedef range_split_rings - < - typename ring_type::type, - RingCollection - > per_ring; - - static inline void apply(Polygon const& polygon, RingCollection& ring_collection) - { - per_ring::apply(exterior_ring(polygon), ring_collection); - - typedef typename boost::range_const_iterator - < - typename interior_type::type - >::type ring_iterator; - - for (ring_iterator it = boost::begin(interior_rings(polygon)); - it != boost::end(interior_rings(polygon)); - ++it) - { - per_ring::apply(*it, ring_collection); - } - } -}; - - -}} // namespace detail::split_rings -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename GeometryTag, - typename Geometry, - typename RingCollection -> -struct split_rings -{}; - - -template -struct split_rings - : detail::split_rings::polygon_split_rings -{}; - - -template -struct split_rings - : detail::split_rings::range_split_rings -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -template -< - typename Geometry, - typename RingCollection -> -inline void split_rings(Geometry const& geometry, RingCollection& out) -{ - concept::check(); - concept::check::type>(); - - dispatch::split_rings - < - typename tag::type, - Geometry, - RingCollection - >::apply(geometry, out); -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_DETAIL_OVERLAY_SPLIT_RINGS_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/dissolve.hpp b/3party/boost/boost/geometry/extensions/algorithms/dissolve.hpp deleted file mode 100644 index fea08e0492..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/dissolve.hpp +++ /dev/null @@ -1,307 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_DISSOLVE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_DISSOLVE_HPP - - -#include -#include - -#include - -#include -#include - -#include -#include -#include - -#include - -#include -#include - -#include -#include -#include -#include - -#include - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace dissolve -{ - -struct no_interrupt_policy -{ - static bool const enabled = false; - static bool const has_intersections = false; - - - template - static inline bool apply(Range const&) - { - return false; - } -}; - - -template -class backtrack_for_dissolve -{ -public : - typedef detail::overlay::backtrack_state state_type; - - template - static inline void apply(std::size_t size_at_start, - Rings& rings, typename boost::range_value::type& ring, - Turns& turns, Operation& operation, - std::string const& , - Geometry const& , - Geometry const& , - RescalePolicy const& , - state_type& state - ) - { - state.m_good = false; - - // Make bad output clean - rings.resize(size_at_start); - ring.clear(); - - // Reject this as a starting point - operation.visited.set_rejected(); - - // And clear all visit info - clear_visit_info(turns); - } -}; - - -template -struct dissolve_ring_or_polygon -{ - template - static inline OutputIterator apply(Geometry const& geometry, - RescalePolicy const& rescale_policy, - OutputIterator out) - { - typedef typename point_type::type point_type; - - // Get the self-intersection points, including turns - typedef detail::overlay::traversal_turn_info - < - point_type, - typename segment_ratio_type::type - > turn_info; - - std::vector turns; - detail::dissolve::no_interrupt_policy policy; - geometry::self_turns - < - detail::overlay::assign_null_policy - >(geometry, rescale_policy, turns, policy); - - // The dissolve process is not necessary if there are no turns at all - - if (boost::size(turns) > 0) - { - typedef typename ring_type::type ring_type; - typedef std::vector out_vector; - out_vector rings; - - // Enrich the turns - typedef typename strategy::side::services::default_strategy - < - typename cs_tag::type - >::type side_strategy_type; - - enrich_intersection_points(turns, - detail::overlay::operation_union, - geometry, geometry, rescale_policy, - side_strategy_type()); - - typedef detail::overlay::traverse - < - false, false, - Geometry, Geometry, - backtrack_for_dissolve - > traverser; - - - // Traverse the polygons twice for union... - traverser::apply(geometry, geometry, - detail::overlay::operation_union, - rescale_policy, - turns, rings); - - clear_visit_info(turns); - - enrich_intersection_points(turns, - detail::overlay::operation_intersection, - geometry, geometry, rescale_policy, - side_strategy_type()); - - // ... and for intersection - traverser::apply(geometry, geometry, - detail::overlay::operation_intersection, - rescale_policy, - turns, rings); - - std::map map; - get_ring_turn_info(map, turns); - - typedef detail::overlay::ring_properties::type> properties; - - std::map selected; - - detail::overlay::select_rings(geometry, map, selected); - - // Add intersected rings - { - ring_identifier id(2, 0, -1); - for (typename boost::range_iterator const>::type - it = boost::begin(rings); - it != boost::end(rings); - ++it) - { - selected[id] = properties(*it); - id.multi_index++; - } - } - - detail::overlay::assign_parents(geometry, rings, selected, true); - return detail::overlay::add_rings(selected, geometry, rings, out); - - } - else - { - GeometryOut g; - geometry::convert(geometry, g); - *out++ = g; - return out; - } - } -}; - - - -}} // namespace detail::dissolve -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename GeometryTag, - typename GeometryOutTag, - typename Geometry, - typename GeometryOut -> -struct dissolve - : not_implemented -{}; - - -template -struct dissolve - : detail::dissolve::dissolve_ring_or_polygon -{}; - - -template -struct dissolve - : detail::dissolve::dissolve_ring_or_polygon -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - - -/*! - \brief Removes self intersections from a geometry - \ingroup overlay - \tparam Geometry geometry type - \tparam OutputIterator type of intersection container - (e.g. vector of "intersection/turn point"'s) - \param geometry first geometry - \param out output iterator getting dissolved geometry - \note Currently dissolve with a (multi)linestring does NOT remove internal - overlap, it only tries to connect multiple line end-points. - TODO: we should change this behaviour and add a separate "connect" - algorithm, and let dissolve work like polygon. - */ -template -< - typename GeometryOut, - typename Geometry, - typename OutputIterator -> -inline OutputIterator dissolve_inserter(Geometry const& geometry, OutputIterator out) -{ - concept::check(); - concept::check(); - - typedef typename geometry::rescale_policy_type - < - typename geometry::point_type::type - >::type rescale_policy_type; - - rescale_policy_type robust_policy - = geometry::get_rescale_policy(geometry); - - return dispatch::dissolve - < - typename tag::type, - typename tag::type, - Geometry, - GeometryOut - >::apply(geometry, robust_policy, out); -} - - -template -< - typename Geometry, - typename Collection -> -inline void dissolve(Geometry const& geometry, Collection& output_collection) -{ - concept::check(); - - typedef typename boost::range_value::type geometry_out; - - concept::check(); - - dispatch::dissolve - < - typename tag::type, - typename tag::type, - Geometry, - geometry_out - >::apply(geometry, detail::no_rescale_policy(), std::back_inserter(output_collection)); -} - - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_DISSOLVE_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/distance_info.hpp b/3party/boost/boost/geometry/extensions/algorithms/distance_info.hpp deleted file mode 100644 index 2a0879cdf5..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/distance_info.hpp +++ /dev/null @@ -1,232 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2013 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2013 Mateusz Loskot, London, UK. -// Copyright (c) 2013 Adam Wulkiewicz, Lodz, Poland. - -// 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) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DISTANCE_INFO_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DISTANCE_INFO_HPP - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include - -#include - -#include -#include - -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace distance_info { - - -template -struct point_point -{ - template - static inline void apply(Point1 const& point1, Point2 const& point2, Strategy const& strategy, Result& result) - { - result.real_distance - = result.projected_distance1 - = result.projected_distance2 - = strategy.apply_point_point(point1, point2); - // The projected point makes not really sense in point-point. - // We just assign one on the other - geometry::convert(point1, result.projected_point2); - geometry::convert(point2, result.projected_point1); - } -}; - -template -struct point_range -{ - template - static inline void apply(Point const& point, Range const& range, Strategy const& strategy, Result& result) - { - // This should not occur (see exception on empty input below) - if (boost::begin(range) == boost::end(range)) - { - return; - } - - // line of one point: same case as point-point - typedef typename boost::range_const_iterator::type iterator_type; - iterator_type it = boost::begin(range); - iterator_type prev = it++; - if (it == boost::end(range)) - { - point_point::type>::apply(point, *prev, strategy, result); - return; - } - - // Initialize with first segment - strategy.apply(point, *prev, *it, result); - - // Check other segments - for(prev = it++; it != boost::end(range); prev = it++) - { - Result other; - strategy.apply(point, *prev, *it, other); - if (other.real_distance < result.real_distance) - { - result = other; - } - } - } -}; - - - - -}} // namespace detail::distance_info -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename Geometry1, typename Geometry2, - typename Tag1 = typename tag::type, - typename Tag2 = typename tag::type, - bool Reverse = reverse_dispatch::type::value -> -struct distance_info : not_implemented -{ -}; - - -template -< - typename Geometry1, typename Geometry2, - typename Tag1, typename Tag2 -> -struct distance_info -{ - template - static inline void apply(Geometry1 const& geometry1, Geometry2 const& geometry2, - Strategy const& strategy, Result& result) - { - // Reversed version just calls dispatch with reversed arguments - distance_info - < - Geometry2, Geometry1, Tag2, Tag1, false - >::apply(geometry2, geometry1, strategy, result); - } - -}; - - -template -struct distance_info - < - Point1, Point2, - point_tag, point_tag, false - > : public detail::distance_info::point_point -{}; - - -template -struct distance_info - < - Point, Segment, - point_tag, segment_tag, - false - > -{ - template - static inline void apply(Point const& point, Segment const& segment, - Strategy const& strategy, Result& result) - { - - typename point_type::type p[2]; - geometry::detail::assign_point_from_index<0>(segment, p[0]); - geometry::detail::assign_point_from_index<1>(segment, p[1]); - - strategy.apply(point, p[0], p[1], result); - } -}; - - -//template -//< -// typename Point, typename Ring, -// typename Point -//> -//struct distance_info -// < -// point_tag, ring_tag, -// Point, Ring, -// Point -// > -// : detail::distance_info::point_range -//{}; -// -// -template -struct distance_info - < - Point, Linestring, - point_tag, linestring_tag, - false - > - : detail::distance_info::point_range -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - - -template -inline void distance_info(Geometry1 const& geometry1, Geometry2 const& geometry2, Result& result) -{ - concept::check(); - concept::check(); - concept::check(); - - assert_dimension_equal(); - assert_dimension_equal(); - - detail::throw_on_empty_input(geometry1); - detail::throw_on_empty_input(geometry2); - - strategy::distance::calculate_distance_info<> info_strategy; - - - dispatch::distance_info - < - Geometry1, - Geometry2 - >::apply(geometry1, geometry2, info_strategy, result); -} - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_DISTANCE_INFO_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/midpoints.hpp b/3party/boost/boost/geometry/extensions/algorithms/midpoints.hpp deleted file mode 100644 index 6c669d7d14..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/midpoints.hpp +++ /dev/null @@ -1,131 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_MIDPOINTS_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_MIDPOINTS_HPP - -// Renamed from "intermediate" to "midpoints" - -#include -#include - -#include - -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace midpoints { - -template -struct calculate_coordinate -{ - static inline void apply(Src const& p1, Src const& p2, Dst& p) - { - geometry::set(p, - (geometry::get(p1) + geometry::get(p2)) / 2.0); - calculate_coordinate::apply(p1, p2, p); - } -}; - -template -struct calculate_coordinate -{ - static inline void apply(Src const&, Src const&, Dst&) - { - } -}; - -template -struct range_midpoints -{ - static inline void apply(Range const& range, - bool start_and_end, Iterator out) - { - typedef typename point_type::type point_type; - typedef typename boost::range_iterator::type iterator_type; - - iterator_type it = boost::begin(range); - - if (start_and_end) - { - *out++ = *it; - } - - iterator_type prev = it++; - for (; it != boost::end(range); prev = it++) - { - point_type p; - calculate_coordinate - < - point_type, - point_type, - 0, - dimension::type::value - >::apply(*prev, *it, p); - *out++ = p; - } - - if (start_and_end) - { - *out++ = *prev; - } - } -}; - -}} // namespace detail::midpoints -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct midpoints {}; - -template -struct midpoints - : detail::midpoints::range_midpoints {}; - -template -struct midpoints - : detail::midpoints::range_midpoints {}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -/*! - \brief Calculate midpoints of a geometry - \ingroup midpoints - */ -template -inline void midpoints(Geometry const& geometry, - bool start_and_end, Iterator out) -{ - concept::check(); - - dispatch::midpoints - < - typename tag::type, - Geometry, - Iterator - >::apply(geometry, start_and_end, out); -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_MIDPOINTS_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/offset.hpp b/3party/boost/boost/geometry/extensions/algorithms/offset.hpp deleted file mode 100644 index ec8943d2aa..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/offset.hpp +++ /dev/null @@ -1,193 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_OFFSET_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_OFFSET_HPP - -#include - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -#include - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace offset -{ - - -template -< - typename Range, - typename RangeOut -> -struct offset_range -{ - typedef geometry::detail::buffer::buffer_range - < - Range - > per_range; - - template - < - typename Collection, - typename DistanceStrategy, - typename SideStrategy, - typename JoinStrategy, - typename EndStrategy, - typename RobustPolicy - > - static inline void apply(Collection& collection, Range const& range, - DistanceStrategy const& distance_strategy, - SideStrategy const& side_strategy, - JoinStrategy const& join_strategy, - EndStrategy const& end_strategy, - RobustPolicy const& robust_policy, - bool reverse) - { - collection.start_new_ring(); - typedef typename point_type::type output_point_type; - output_point_type first_p1, first_p2, last_p1, last_p2; - - if (reverse) - { - per_range::iterate(collection, 0, boost::rbegin(range), boost::rend(range), - strategy::buffer::buffer_side_left, - distance_strategy, side_strategy, join_strategy, end_strategy, robust_policy, - first_p1, first_p2, last_p1, last_p2); - } - else - { - per_range::iterate(collection, 0, boost::begin(range), boost::end(range), - strategy::buffer::buffer_side_left, - distance_strategy, side_strategy, join_strategy, end_strategy, robust_policy, - first_p1, first_p2, last_p1, last_p2); - } - collection.finish_ring(); - } -}; - -}} // namespace detail::offset -#endif - - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -< - typename GeometryTag, - typename GeometryOutTag, - typename Geometry, - typename GeometryOut -> -struct offset -{}; - - -template -< - typename Geometry, - typename GeometryOut -> -struct offset - < - linestring_tag, - linestring_tag, - Geometry, - GeometryOut - > - : detail::offset::offset_range - < - Geometry, - GeometryOut - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -template -< - typename Geometry, - typename GeometryOut, - typename JoinStrategy, - typename Distance -> -inline void offset(Geometry const& geometry, GeometryOut& out, - JoinStrategy const& join_strategy, - Distance const& distance) -{ - concept::check(); - concept::check(); - - typedef typename geometry::point_type::type point_type; - - detail::no_rescale_policy robust_policy; - - detail::buffer::buffered_piece_collection - < - model::ring, - detail::no_rescale_policy - > collection(robust_policy); - - bool reverse = distance < 0; - strategy::buffer::distance_asymmetric - < - typename geometry::coordinate_type::type - > distance_strategy(geometry::math::abs(distance), - geometry::math::abs(distance)); - - strategy::buffer::end_skip - < - point_type, - point_type - > end_strategy; - - strategy::buffer::buffer_side side_strategy; - - dispatch::offset - < - typename tag::type, - typename tag::type, - Geometry, - GeometryOut - >::apply(collection, - geometry, - distance_strategy, - side_strategy, - join_strategy, - end_strategy, - robust_policy, - reverse); - - // TODO collection.template assign(out); -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_OFFSET_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/offset_appender.hpp b/3party/boost/boost/geometry/extensions/algorithms/offset_appender.hpp deleted file mode 100644 index 594ee235cc..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/offset_appender.hpp +++ /dev/null @@ -1,96 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_DETAIL_OFFSET_APPENDER_HPP -#define BOOST_GEOMETRY_ALGORITHMS_DETAIL_OFFSET_APPENDER_HPP - - -#include - -#include - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace offset -{ - -// Appends points to an output range (linestring/ring). -template - < - typename Range -#ifdef BOOST_GEOMETRY_DEBUG_WITH_MAPPER - , typename Mapper -#endif - > -struct offset_appender -{ - typedef Range range_type; - - typedef typename geometry::point_type::type point_type; - -#ifdef BOOST_GEOMETRY_DEBUG_WITH_MAPPER - Mapper const& m_mapper; - inline offset_appender(Range& r, Mapper const& mapper) - : m_range(r) - , m_mapper(mapper) -#else - inline offset_appender(Range& r) - : m_range(r) -#endif - - {} - - inline void append(point_type const& point) - { - do_append(point); - } - - inline void append_begin_join(point_type const& point) - { - do_append(point); - } - - inline void append_end_join(point_type const& point) - { - do_append(point); - } - - inline void append_begin_hooklet(point_type const& point) - { - do_append(point); - } - - inline void append_end_hooklet(point_type const& point) - { - do_append(point); - } - - -private : - - Range& m_range; - - inline void do_append(point_type const& point) - { - m_range.push_back(point); - } -}; - - -}} // namespace detail::offset -#endif // DOXYGEN_NO_DETAIL - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHMS_DETAIL_OFFSET_APPENDER_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/parse.hpp b/3party/boost/boost/geometry/extensions/algorithms/parse.hpp deleted file mode 100644 index db2d75caad..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/parse.hpp +++ /dev/null @@ -1,123 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_PARSE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_PARSE_HPP - -#include - - -#include - -#include - -#include -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ -template -struct parsing -{ -}; - -template -struct parsing -{ - template - static inline void parse(Point& point, std::string const& c1, std::string const& c2, S const& strategy) - { - assert_dimension(); - dms_result r1 = strategy(c1.c_str()); - dms_result r2 = strategy(c2.c_str()); - - if (0 == r1.axis()) - set<0>(point, r1); - else - set<1>(point, r1); - - if (0 == r2.axis()) - set<0>(point, r2); - else - set<1>(point, r2); - } - - static inline void parse(Point& point, std::string const& c1, std::string const& c2) - { - // strategy-parser corresponding to degree/radian - typename strategy_parse - < - typename cs_tag::type, - typename coordinate_system::type - >::type strategy; - - parse(point, c1, c2, strategy); - } -}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -/*! - \brief parse two strings to a spherical/geographic point, using W/E/N/S - \ingroup parse - */ -template -inline void parse(Geometry& geometry, std::string const& c1, std::string const& c2) -{ - concept::check(); - dispatch::parsing::type, Geometry>::parse(geometry, c1, c2); -} - -/*! - \brief parse two strings to a spherical/geographic point, using a specified strategy - \details user can use N/E/S/O or N/O/Z/W or other formats - \ingroup parse - */ -template -inline void parse(Geometry& geometry, std::string const& c1, - std::string const& c2, S const& strategy) -{ - concept::check(); - dispatch::parsing::type, Geometry>::parse(geometry, c1, c2, strategy); -} - -// There will be a parsing function with three arguments (ANGLE,ANGLE,RADIUS) - -template -inline Geometry parse(std::string const& c1, std::string const& c2) -{ - concept::check(); - - Geometry geometry; - dispatch::parsing::type, Geometry>::parse(geometry, c1, c2); - return geometry; -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_PARSE_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/point_on_line.hpp b/3party/boost/boost/geometry/extensions/algorithms/point_on_line.hpp deleted file mode 100644 index 77bb23ff55..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/point_on_line.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_POINT_ON_LINE_HPP -#define BOOST_GEOMETRY_ALGORITHMS_POINT_ON_LINE_HPP - - -#include - -namespace boost { namespace geometry -{ - -//---------------------------------------------------------------------- -// Function : point_on_linestring -> rename to alongLine NO, different -//---------------------------------------------------------------------- -// Purpose : Calculates coordinates of a point along a given line -// on a specified distance -// Parameters : const L& : line, -// float position: position to calculate point -// P& point: point to calculate -// Return : true if point lies on line -//---------------------------------------------------------------------- -// Author : Barend, Geodan BV Amsterdam -// Date : spring 1996 -//---------------------------------------------------------------------- -template -bool point_on_linestring(L const& line, double const& position, P& point) -{ - double current_distance = 0.0; - if (line.size() < 2) - { - return false; - } - - typename L::const_iterator vertex = line.begin(); - typename L::const_iterator previous = vertex++; - - while (vertex != line.end()) - { - double const dist = distance(*previous, *vertex); - current_distance += dist; - - if (current_distance > position) - { - // It is not possible that dist == 0 here because otherwise - // the current_distance > position would not become true (current_distance is increased by dist) - double const fraction = 1.0 - ((current_distance - position) / dist); - - // point i is too far, point i-1 to near, add fraction of - // distance in each direction - point.x ( previous->x() + (vertex->x() - previous->x()) * fraction); - point.y ( previous->y() + (vertex->y() - previous->y()) * fraction); - - return true; - } - previous = vertex++; - } - - // point at specified position does not lie on line - return false; -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_POINT_ON_LINE_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/remove_holes_if.hpp b/3party/boost/boost/geometry/extensions/algorithms/remove_holes_if.hpp deleted file mode 100644 index 5d11d34046..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/remove_holes_if.hpp +++ /dev/null @@ -1,163 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_ALGORITHM_REMOVE_HOLES_IF_HPP -#define BOOST_GEOMETRY_ALGORITHM_REMOVE_HOLES_IF_HPP - -#include - -#include -#include -#include - -#include -#include -#include -#include -#include - - -namespace boost { namespace geometry -{ - - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace remove_holes_if -{ - - -template -struct polygon_remove_holes_if -{ - static inline void apply(Polygon& poly, Predicate const& predicate) - { - // TODO: evaluate this behaviour w.r.t. writable concepts - typename interior_return_type::type rings = interior_rings(poly); - - // Remove rings using erase-remove-idiom - // http://en.wikipedia.org/wiki/Erase-remove_idiom - rings.erase( - std::remove_if(boost::begin(rings), boost::end(rings), predicate), - boost::end(rings)); - } -}; - -}} // namespace detail::remove_holes_if - - -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -// Default implementation does nothing -template -struct remove_holes_if -{}; - - - -template -struct remove_holes_if - : detail::remove_holes_if::polygon_remove_holes_if -{}; - - -template -struct remove_holes_if - : detail::multi_modify_with_predicate - < - MultiPolygon, - Predicate, - detail::remove_holes_if::polygon_remove_holes_if - < - typename boost::range_value::type, Predicate - > - > -{}; - - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -/*! - \brief Remove holes from a geometry (polygon, multi-polygon) using a specified condition - */ -template -inline void remove_holes_if(Geometry& geometry, Predicate const& predicate) -{ - concept::check(); - - dispatch::remove_holes_if - < - typename tag::type, - Geometry, - Predicate - >::apply(geometry, predicate); -} - - - - - - - -// CONVENIENT PREDICATES might be moved elsewhere -template -struct elongated_hole -{ - inline elongated_hole(double ratio) - : m_ratio(ratio) - {} - - inline bool operator()(Ring const& ring) const - { - if (ring.size() >= - core_detail::closure::minimum_ring_size - < - geometry::closure::value - >::value) - { - double a = area(ring); - double p = perimeter(ring); - return geometry::math::abs(a / p) < m_ratio; - } - // Rings with less then 4 points (including closing) - // are also considered as small and thus removed - return true; - } -private : - double m_ratio; -}; - - -template -struct invalid_hole -{ - inline bool operator()(Ring const& ring) const - { - return ring.size() - < core_detail::closure::minimum_ring_size - < - geometry::closure::value - >::value; - } -}; - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_ALGORITHM_REMOVE_HOLES_IF_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/remove_marked.hpp b/3party/boost/boost/geometry/extensions/algorithms/remove_marked.hpp deleted file mode 100644 index 2ab8c3184e..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/remove_marked.hpp +++ /dev/null @@ -1,224 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_REMOVE_MARKED_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_REMOVE_MARKED_HPP - -// PROBABLY OBSOLETE -// as mark_spikes is now replaced by remove_spikes - -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - - - -namespace boost { namespace geometry -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace remove_marked -{ - - -template -struct range_remove_marked -{ - typedef typename strategy::side::services::default_strategy - < - typename cs_tag::type - >::type side_strategy_type; - - typedef typename coordinate_type::type coordinate_type; - - - static inline void apply(Range const& range_in, ring_identifier id, - Range& range_out, MarkMap const& mark_map) - { - typename MarkMap::const_iterator mit = mark_map.find(id); - if (mit == mark_map.end()) - { - range_out = range_in; - return; - } - typedef typename MarkMap::mapped_type bit_vector_type; - - if (boost::size(range_in) != boost::size(mit->second)) - { - throw std::runtime_error("ERROR in size of mark_map"); - return; - } - - range_out.clear(); - - typename boost::range_iterator::type bit = boost::begin(mit->second); - for (typename boost::range_iterator::type it = boost::begin(range_in); - it != boost::end(range_in); ++it, ++bit) - { - bool const& marked = *bit; - if (! marked) - { - range_out.push_back(*it); - } - } - } -}; - - -template -struct polygon_remove_marked -{ - static inline void apply(Polygon const& polygon_in, ring_identifier id, - Polygon& polygon_out, MarkMap const& mark_map) - { - typedef typename geometry::ring_type::type ring_type; - - typedef range_remove_marked per_range; - id.ring_index = -1; - per_range::apply(exterior_ring(polygon_in), id, exterior_ring(polygon_out), mark_map); - - - typename interior_return_type::type rings_in - = interior_rings(polygon_in); - typename interior_return_type::type rings_out - = interior_rings(polygon_out); - - rings_out.resize(boost::size(interior_rings(polygon_in))); - BOOST_AUTO_TPL(out, boost::begin(rings_out)); - - for (BOOST_AUTO_TPL(it, boost::begin(rings_in)); - it != boost::end(rings_in); - ++it, ++out) - { - id.ring_index++; - per_range::apply(*it, id, *out, mark_map); - } - } -}; - - -template -struct multi_remove_marked -{ - static inline void apply(MultiGeometry const& multi_in, ring_identifier id, - MultiGeometry& multi_out, MarkMap const& mark_map) - { - id.multi_index = 0; - - multi_out.resize(boost::size(multi_in)); - - typename boost::range_iterator::type out = boost::begin(multi_out); - for (typename boost::range_iterator::type - it = boost::begin(multi_in); - it != boost::end(multi_in); - ++it, ++out) - { - SinglePolicy::apply(*it, id, *out, mark_map); - id.multi_index++; - } - } -}; - - -}} // namespace detail::remove_marked -#endif // DOXYGEN_NO_DETAIL - - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -< - typename Tag, - typename Geometry, - typename MarkMap -> -struct remove_marked -{ - static inline void apply(Geometry const&, ring_identifier, Geometry&, MarkMap const&) - {} -}; - - -template -struct remove_marked - : detail::remove_marked::range_remove_marked -{}; - - - -template -struct remove_marked - : detail::remove_marked::polygon_remove_marked -{}; - - -template -struct remove_marked - : detail::remove_marked::multi_remove_marked - < - MultiPolygon, - MarkMap, - detail::remove_marked::polygon_remove_marked - < - typename boost::range_value::type, - MarkMap - > - > -{}; - - - -} // namespace dispatch -#endif - - -/*! - \ingroup remove_marked - \tparam Geometry geometry type - \param geometry the geometry to make remove_marked -*/ -template -inline void remove_marked(Geometry const& geometry_in, Geometry& geometry_out, - MarkMap const& mark_map) -{ - concept::check(); - - ring_identifier id; - dispatch::remove_marked - < - typename tag::type, - Geometry, - MarkMap - >::apply(geometry_in, id, geometry_out, mark_map); -} - - - - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXTENSIONS_ALGORITHMS_REMOVE_MARKED_HPP diff --git a/3party/boost/boost/geometry/extensions/algorithms/selected.hpp b/3party/boost/boost/geometry/extensions/algorithms/selected.hpp deleted file mode 100644 index 8890d6ab05..0000000000 --- a/3party/boost/boost/geometry/extensions/algorithms/selected.hpp +++ /dev/null @@ -1,278 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_ALGORITHMS_SELECTED_HPP -#define BOOST_GEOMETRY_ALGORITHMS_SELECTED_HPP - -#include -#include - -#include - -#include - -#include -#include -#include - -#include - -#include -#include - - -namespace boost { namespace geometry -{ - -/*! - \ingroup impl - */ -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace selected -{ - -/*! -\details Checks, per dimension, if d[I] not larger than search distance. If true for all -dimensions then returns true. If larger stops immediately and returns false. -Calculate during this process the sum, which is only valid if returning true -*/ -template -struct differences_loop -{ - static inline bool apply(P1 const& p1, P2 const& p2, T const& distance, T& sum) - { - typedef typename select_coordinate_type::type coordinate_type; - - coordinate_type const c1 = boost::numeric_cast(get(p1)); - coordinate_type const c2 = boost::numeric_cast(get(p2)); - - T const d = geometry::math::abs(c1 - c2); - if (d > distance) - { - return false; - } - sum += d * d; - return differences_loop::apply(p1, p2, distance, sum); - } -}; - -template -struct differences_loop -{ - static inline bool apply(P1 const&, P2 const&, T const&, T&) - { - return true; - } -}; - - - -template -struct outside_loop -{ - static inline bool apply(PS const& seg1, PS const& seg2, P const& point, T const& distance) - { - typedef typename select_coordinate_type::type coordinate_type; - - coordinate_type const v = boost::numeric_cast(get(point)); - coordinate_type const s1 = get(seg1); - coordinate_type const s2 = get(seg2); - - // Out of reach if left/bottom or right/top of both points making up the segment - // I know and currently accept that these comparisons/calculations are done twice per point - - if ((v < s1 - distance && v < s2 - distance) || (v > s1 + distance && v > s2 + distance)) - { - return true; - } - return outside_loop::apply(seg1, seg2, point, distance); - } -}; - -template -struct outside_loop -{ - static inline bool apply(PS const&, PS const&, P const&, T const&) - { - return false; - } -}; - - -template -struct close_to_point -{ - static inline bool apply(P1 const& point, P1 const& selection_point, T const& search_radius) - { - assert_dimension_equal(); - - T sum = 0; - if (differences_loop - < - P1, P2, T, 0, dimension::type::value - >::apply(point, selection_point, search_radius, sum)) - { - return sum <= search_radius * search_radius; - } - - return false; - } -}; - -template -struct close_to_segment -{ - static inline bool apply(PS const& seg1, PS const& seg2, P const& selection_point, T const& search_radius) - { - assert_dimension_equal(); - - if (! outside_loop - < - PS, P, T, 0, dimension

::type::value - >::apply(seg1, seg2, selection_point, search_radius)) - { - // Not outside, calculate dot product/square distance to segment. - // Call corresponding strategy - typedef typename strategy::distance::services::default_strategy - < - point_tag, segment_tag, P, PS - >::type strategy_type; - typedef typename strategy::distance::services::return_type::type return_type; - - strategy_type strategy; - return_type result = strategy.apply(selection_point, seg1, seg2); - return result < search_radius; - } - - return false; - } -}; - -template -struct close_to_range -{ - static inline bool apply(R const& range, P const& selection_point, T const& search_radius) - { - assert_dimension_equal(); - - std::size_t const n = boost::size(range); - if (n == 0) - { - // Line with zero points, never close - return false; - } - - typedef typename point_type::type point_type; - typedef typename boost::range_iterator::type iterator_type; - - iterator_type it = boost::begin(range); - if (n == 1) - { - // Line with one point ==> close to point - return close_to_point::apply(*it, selection_point, search_radius); - } - - iterator_type previous = it++; - while(it != boost::end(range)) - { - //typedef segment segment_type; - //segment_type s(*previous, *it); - if (close_to_segment - < - point_type, P, T - >::apply(*previous, *it, selection_point, search_radius)) - { - return true; - } - previous = it++; - } - - return false; - } -}; - -template -struct use_within -{ - static inline bool apply(G const& geometry, P const& selection_point, T const& search_radius) - { - return geometry::within(selection_point, geometry); - } -}; - -}} // namespace detail::selected -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -/*! - \tparam TD topological dimension - */ -template -struct selected -{ -}; - -template -struct selected : detail::selected::close_to_point { }; - -// SEGMENT, TODO HERE (close_to_segment) - -template -struct selected : detail::selected::close_to_range { }; - -template -struct selected : detail::selected::use_within { }; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -/*! - \brief Checks if one geometry is selected by a point lying within or in the neighborhood of that geometry - \ingroup selected - \tparam Geometry type of geometry to check - \tparam Point type of point to check - \tparam T type of search radius - \param geometry geometry which might be located in the neighborhood - \param selection_point point to select the geometry - \param search_radius for points/linestrings: defines radius of "neighborhood" to find things in - \return true if point is within or close to the other geometry - - */ -template -inline bool selected(Geometry const& geometry, - Point const& selection_point, - RadiusType const& search_radius) -{ - concept::check(); - concept::check(); - - typedef dispatch::selected - < - typename tag::type, - Geometry, - topological_dimension::value, - Point, - RadiusType - > selector_type; - - return selector_type::apply(geometry, selection_point, search_radius); -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_ALGORITHMS_SELECTED_HPP diff --git a/3party/boost/boost/geometry/extensions/arithmetic/cross_product.hpp b/3party/boost/boost/geometry/extensions/arithmetic/cross_product.hpp deleted file mode 100644 index 879ef8a20d..0000000000 --- a/3party/boost/boost/geometry/extensions/arithmetic/cross_product.hpp +++ /dev/null @@ -1,110 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_ARITHMETIC_CROSS_PRODUCT_HPP -#define BOOST_GEOMETRY_EXTENSIONS_ARITHMETIC_CROSS_PRODUCT_HPP - - -#include - -#include -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -template -struct cross_product -{ - // We define cross product only for 2d (see Wolfram) and 3d. - // In Math, it is also well-defined for 7-dimension. - // Generalisation of cross product to n-dimension is defined as - // wedge product but it is not direct analogue to binary cross product. -}; - -template -struct cross_product -{ - typedef P1 return_type; - - static inline return_type apply(P1 const& p1, P2 const& p2) - { - assert_dimension(); - assert_dimension(); - - // For 2-dimensions, analog of the cross product U(x,y) and V(x,y) is - // Ux * Vy - Uy * Vx - // which is returned as 0-component (or X) of 2d vector, 1-component is undefined. - return_type v; - set<0>(v, get<0>(p1) * get<1>(p2) - get<1>(p1) * get<0>(p2)); - return v; - } -}; - -template -struct cross_product -{ - typedef P1 return_type; - - static inline return_type apply(P1 const& p1, P2 const& p2) - { - assert_dimension(); - assert_dimension(); - - return_type v; - set<0>(v, get<1>(p1) * get<2>(p2) - get<2>(p1) * get<1>(p2)); - set<1>(v, get<2>(p1) * get<0>(p2) - get<0>(p1) * get<2>(p2)); - set<2>(v, get<0>(p1) * get<1>(p2) - get<1>(p1) * get<0>(p2)); - return v; - } -}; - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - - -// TODO: This is a simple draft. If relevant, it can be extended to: -// - accept vectors of different coordinate_type, but common coordinate_system -// - if vectors are of mixed 2d and 3d, lower dimension is used -// - define result_type that will generate type of vector based on: -// -- select_coordinate_type -// -- selection of lower dimension - -/*! -\brief Computes the cross product of two vectors. -\details Both vectors shall be of the same type. - This type also determines type of result vector. -\ingroup arithmetic -\param p1 first vector -\param p2 second vector -\return the cross product vector - */ -template -inline P1 cross_product(P1 const& p1, P2 const& p2) -{ - BOOST_CONCEPT_ASSERT( (concept::ConstPoint) ); - BOOST_CONCEPT_ASSERT( (concept::ConstPoint) ); - - return detail::cross_product - < - P1, P2, - dimension::type::value - >::apply(p1, p2); -} - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_ARITHMETIC_CROSS_PRODUCT_HPP diff --git a/3party/boost/boost/geometry/extensions/astronomy/core/cs.hpp b/3party/boost/boost/geometry/extensions/astronomy/core/cs.hpp deleted file mode 100644 index c5833a326c..0000000000 --- a/3party/boost/boost/geometry/extensions/astronomy/core/cs.hpp +++ /dev/null @@ -1,53 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSION_ASTRONOMY_CORE_CS_HPP -#define BOOST_GEOMETRY_EXTENSION_ASTRONOMY_CORE_CS_HPP - -#include -#include - - -namespace boost { namespace geometry -{ - - -namespace cs -{ - - -namespace celestial -{ - -/*! - \brief Ecliptic (celestial) coordinate system - \details Defines the astronomical ecliptic coordinate system "that uses the ecliptic for its fundamental plane" - It uses Beta and Lambda as its latitude and longitude. - \see http://en.wikipedia.org/wiki/Ecliptic_coordinate_system - \ingroup cs -*/ -template -struct ecliptic -{ - typedef DegreeOrRadian units; -}; - - -} // namespace celestial - -} // namespace cs - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSION_ASTRONOMY_CORE_CS_HPP diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmath.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmath.h deleted file mode 100644 index 37c971f6aa..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmath.h +++ /dev/null @@ -1,2849 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2010, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - - - -#ifndef headerfilettmathmathtt -#define headerfilettmathmathtt - -/*! - \file ttmath.h - \brief Mathematics functions. -*/ - -#ifdef _MSC_VER -//warning C4127: conditional expression is constant -#pragma warning( disable: 4127 ) -//warning C4702: unreachable code -#pragma warning( disable: 4702 ) -//warning C4800: forcing value to bool 'true' or 'false' (performance warning) -#pragma warning( disable: 4800 ) -#endif - - -#include "ttmathbig.h" -#include "ttmathobjects.h" - - -namespace ttmath -{ - /* - * - * functions defined here are used only with Big<> types - * - * - */ - - - /* - * - * functions for rounding - * - * - */ - - - /*! - this function skips the fraction from x - e.g 2.2 = 2 - 2.7 = 2 - -2.2 = 2 - -2.7 = 2 - */ - template - ValueType SkipFraction(const ValueType & x) - { - ValueType result( x ); - result.SkipFraction(); - - return result; - } - - - /*! - this function rounds to the nearest integer value - e.g 2.2 = 2 - 2.7 = 3 - -2.2 = -2 - -2.7 = -3 - */ - template - ValueType Round(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType result( x ); - uint c = result.Round(); - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - - /*! - this function returns a value representing the smallest integer - that is greater than or equal to x - - Ceil(-3.7) = -3 - Ceil(-3.1) = -3 - Ceil(-3.0) = -3 - Ceil(4.0) = 4 - Ceil(4.2) = 5 - Ceil(4.8) = 5 - */ - template - ValueType Ceil(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType result(x); - uint c = 0; - - result.SkipFraction(); - - if( result != x ) - { - // x is with fraction - // if x is negative we don't have to do anything - if( !x.IsSign() ) - { - ValueType one; - one.SetOne(); - - c += result.Add(one); - } - } - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - this function returns a value representing the largest integer - that is less than or equal to x - - Floor(-3.6) = -4 - Floor(-3.1) = -4 - Floor(-3) = -3 - Floor(2) = 2 - Floor(2.3) = 2 - Floor(2.8) = 2 - */ - template - ValueType Floor(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType result(x); - uint c = 0; - - result.SkipFraction(); - - if( result != x ) - { - // x is with fraction - // if x is positive we don't have to do anything - if( x.IsSign() ) - { - ValueType one; - one.SetOne(); - - c += result.Sub(one); - } - } - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - - /* - * - * logarithms and the exponent - * - * - */ - - - /*! - this function calculates the natural logarithm (logarithm with the base 'e') - */ - template - ValueType Ln(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType result; - uint state = result.Ln(x); - - if( err ) - { - switch( state ) - { - case 0: - *err = err_ok; - break; - case 1: - *err = err_overflow; - break; - case 2: - *err = err_improper_argument; - break; - default: - *err = err_internal_error; - break; - } - } - - - return result; - } - - - /*! - this function calculates the logarithm - */ - template - ValueType Log(const ValueType & x, const ValueType & base, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) *err = err_improper_argument; - return x; - } - - if( base.IsNan() ) - { - if( err ) *err = err_improper_argument; - return base; - } - - ValueType result; - uint state = result.Log(x, base); - - if( err ) - { - switch( state ) - { - case 0: - *err = err_ok; - break; - case 1: - *err = err_overflow; - break; - case 2: - case 3: - *err = err_improper_argument; - break; - default: - *err = err_internal_error; - break; - } - } - - return result; - } - - - /*! - this function calculates the expression e^x - */ - template - ValueType Exp(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType result; - uint c = result.Exp(x); - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - * - * trigonometric functions - * - */ - - - /* - this namespace consists of auxiliary functions - (something like 'private' in a class) - */ - namespace auxiliaryfunctions - { - - /*! - an auxiliary function for calculating the Sine - (you don't have to call this function) - */ - template - uint PrepareSin(ValueType & x, bool & change_sign) - { - ValueType temp; - - change_sign = false; - - if( x.IsSign() ) - { - // we're using the formula 'sin(-x) = -sin(x)' - change_sign = !change_sign; - x.ChangeSign(); - } - - // we're reducing the period 2*PI - // (for big values there'll always be zero) - temp.Set2Pi(); - - if( x.Mod(temp) ) - return 1; - - - // we're setting 'x' as being in the range of <0, 0.5PI> - - temp.SetPi(); - - if( x > temp ) - { - // x is in (pi, 2*pi> - x.Sub( temp ); - change_sign = !change_sign; - } - - temp.Set05Pi(); - - if( x > temp ) - { - // x is in (0.5pi, pi> - x.Sub( temp ); - x = temp - x; - } - - return 0; - } - - - /*! - an auxiliary function for calculating the Sine - (you don't have to call this function) - - it returns Sin(x) where 'x' is from <0, PI/2> - we're calculating the Sin with using Taylor series in zero or PI/2 - (depending on which point of these two points is nearer to the 'x') - - Taylor series: - sin(x) = sin(a) + cos(a)*(x-a)/(1!) - - sin(a)*((x-a)^2)/(2!) - cos(a)*((x-a)^3)/(3!) - + sin(a)*((x-a)^4)/(4!) + ... - - when a=0 it'll be: - sin(x) = (x)/(1!) - (x^3)/(3!) + (x^5)/(5!) - (x^7)/(7!) + (x^9)/(9!) ... - - and when a=PI/2: - sin(x) = 1 - ((x-PI/2)^2)/(2!) + ((x-PI/2)^4)/(4!) - ((x-PI/2)^6)/(6!) ... - */ - template - ValueType Sin0pi05(const ValueType & x) - { - ValueType result; - ValueType numerator, denominator; - ValueType d_numerator, d_denominator; - ValueType one, temp, old_result; - - // temp = pi/4 - temp.Set05Pi(); - temp.exponent.SubOne(); - - one.SetOne(); - - if( x < temp ) - { - // we're using the Taylor series with a=0 - result = x; - numerator = x; - denominator = one; - - // d_numerator = x^2 - d_numerator = x; - d_numerator.Mul(x); - - d_denominator = 2; - } - else - { - // we're using the Taylor series with a=PI/2 - result = one; - numerator = one; - denominator = one; - - // d_numerator = (x-pi/2)^2 - ValueType pi05; - pi05.Set05Pi(); - - temp = x; - temp.Sub( pi05 ); - d_numerator = temp; - d_numerator.Mul( temp ); - - d_denominator = one; - } - - uint c = 0; - bool addition = false; - - old_result = result; - for(uint i=1 ; i<=TTMATH_ARITHMETIC_MAX_LOOP ; ++i) - { - // we're starting from a second part of the formula - c += numerator. Mul( d_numerator ); - c += denominator. Mul( d_denominator ); - c += d_denominator.Add( one ); - c += denominator. Mul( d_denominator ); - c += d_denominator.Add( one ); - temp = numerator; - c += temp.Div(denominator); - - if( c ) - // Sin is from <-1,1> and cannot make an overflow - // but the carry can be from the Taylor series - // (then we only break our calculations) - break; - - if( addition ) - result.Add( temp ); - else - result.Sub( temp ); - - - addition = !addition; - - // we're testing whether the result has changed after adding - // the next part of the Taylor formula, if not we end the loop - // (it means 'x' is zero or 'x' is PI/2 or this part of the formula - // is too small) - if( result == old_result ) - break; - - old_result = result; - } - - return result; - } - - } // namespace auxiliaryfunctions - - - - /*! - this function calculates the Sine - */ - template - ValueType Sin(ValueType x, ErrorCode * err = 0) - { - using namespace auxiliaryfunctions; - - ValueType one, result; - bool change_sign; - - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; - } - - if( err ) - *err = err_ok; - - if( PrepareSin( x, change_sign ) ) - { - // x is too big, we cannnot reduce the 2*PI period - // prior to version 0.8.5 the result was zero - - // result has NaN flag set by default - - if( err ) - *err = err_overflow; // maybe another error code? err_improper_argument? - - return result; // NaN is set by default - } - - result = Sin0pi05( x ); - - one.SetOne(); - - // after calculations there can be small distortions in the result - if( result > one ) - result = one; - else - if( result.IsSign() ) - // we've calculated the sin from <0, pi/2> and the result - // should be positive - result.SetZero(); - - if( change_sign ) - result.ChangeSign(); - - return result; - } - - - /*! - this function calulates the Cosine - we're using the formula cos(x) = sin(x + PI/2) - */ - template - ValueType Cos(ValueType x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType pi05; - pi05.Set05Pi(); - - uint c = x.Add( pi05 ); - - if( c ) - { - if( err ) - *err = err_overflow; - - return ValueType(); // result is undefined (NaN is set by default) - } - - return Sin(x, err); - } - - - /*! - this function calulates the Tangent - we're using the formula tan(x) = sin(x) / cos(x) - - it takes more time than calculating the Tan directly - from for example Taylor series but should be a bit preciser - because Tan receives its values from -infinity to +infinity - and when we calculate it from any series then we can make - a greater mistake than calculating 'sin/cos' - */ - template - ValueType Tan(const ValueType & x, ErrorCode * err = 0) - { - ValueType result = Cos(x, err); - - if( err && *err != err_ok ) - return result; - - if( result.IsZero() ) - { - if( err ) - *err = err_improper_argument; - - result.SetNan(); - - return result; - } - - return Sin(x, err) / result; - } - - - /*! - this function calulates the Tangent - look at the description of Tan(...) - - (the abbreviation of Tangent can be 'tg' as well) - */ - template - ValueType Tg(const ValueType & x, ErrorCode * err = 0) - { - return Tan(x, err); - } - - - /*! - this function calulates the Cotangent - we're using the formula tan(x) = cos(x) / sin(x) - - (why do we make it in this way? - look at information in Tan() function) - */ - template - ValueType Cot(const ValueType & x, ErrorCode * err = 0) - { - ValueType result = Sin(x, err); - - if( err && *err != err_ok ) - return result; - - if( result.IsZero() ) - { - if( err ) - *err = err_improper_argument; - - result.SetNan(); - - return result; - } - - return Cos(x, err) / result; - } - - - /*! - this function calulates the Cotangent - look at the description of Cot(...) - - (the abbreviation of Cotangent can be 'ctg' as well) - */ - template - ValueType Ctg(const ValueType & x, ErrorCode * err = 0) - { - return Cot(x, err); - } - - - /* - * - * inverse trigonometric functions - * - * - */ - - namespace auxiliaryfunctions - { - - /*! - an auxiliary function for calculating the Arc Sine - - we're calculating asin from the following formula: - asin(x) = x + (1*x^3)/(2*3) + (1*3*x^5)/(2*4*5) + (1*3*5*x^7)/(2*4*6*7) + ... - where abs(x) <= 1 - - we're using this formula when x is from <0, 1/2> - */ - template - ValueType ASin_0(const ValueType & x) - { - ValueType nominator, denominator, nominator_add, nominator_x, denominator_add, denominator_x; - ValueType two, result(x), x2(x); - ValueType nominator_temp, denominator_temp, old_result = result; - uint c = 0; - - x2.Mul(x); - two = 2; - - nominator.SetOne(); - denominator = two; - nominator_add = nominator; - denominator_add = denominator; - nominator_x = x; - denominator_x = 3; - - for(uint i=1 ; i<=TTMATH_ARITHMETIC_MAX_LOOP ; ++i) - { - c += nominator_x.Mul(x2); - nominator_temp = nominator_x; - c += nominator_temp.Mul(nominator); - denominator_temp = denominator; - c += denominator_temp.Mul(denominator_x); - c += nominator_temp.Div(denominator_temp); - - // if there is a carry somewhere we only break the calculating - // the result should be ok -- it's from <-pi/2, pi/2> - if( c ) - break; - - result.Add(nominator_temp); - - if( result == old_result ) - // there's no sense to calculate more - break; - - old_result = result; - - - c += nominator_add.Add(two); - c += denominator_add.Add(two); - c += nominator.Mul(nominator_add); - c += denominator.Mul(denominator_add); - c += denominator_x.Add(two); - } - - return result; - } - - - - /*! - an auxiliary function for calculating the Arc Sine - - we're calculating asin from the following formula: - asin(x) = pi/2 - sqrt(2)*sqrt(1-x) * asin_temp - asin_temp = 1 + (1*(1-x))/((2*3)*(2)) + (1*3*(1-x)^2)/((2*4*5)*(4)) + (1*3*5*(1-x)^3)/((2*4*6*7)*(8)) + ... - - where abs(x) <= 1 - - we're using this formula when x is from (1/2, 1> - */ - template - ValueType ASin_1(const ValueType & x) - { - ValueType nominator, denominator, nominator_add, nominator_x, nominator_x_add, denominator_add, denominator_x; - ValueType denominator2; - ValueType one, two, result; - ValueType nominator_temp, denominator_temp, old_result; - uint c = 0; - - two = 2; - - one.SetOne(); - nominator = one; - result = one; - old_result = result; - denominator = two; - nominator_add = nominator; - denominator_add = denominator; - nominator_x = one; - nominator_x.Sub(x); - nominator_x_add = nominator_x; - denominator_x = 3; - denominator2 = two; - - - for(uint i=1 ; i<=TTMATH_ARITHMETIC_MAX_LOOP ; ++i) - { - nominator_temp = nominator_x; - c += nominator_temp.Mul(nominator); - denominator_temp = denominator; - c += denominator_temp.Mul(denominator_x); - c += denominator_temp.Mul(denominator2); - c += nominator_temp.Div(denominator_temp); - - // if there is a carry somewhere we only break the calculating - // the result should be ok -- it's from <-pi/2, pi/2> - if( c ) - break; - - result.Add(nominator_temp); - - if( result == old_result ) - // there's no sense to calculate more - break; - - old_result = result; - - c += nominator_x.Mul(nominator_x_add); - c += nominator_add.Add(two); - c += denominator_add.Add(two); - c += nominator.Mul(nominator_add); - c += denominator.Mul(denominator_add); - c += denominator_x.Add(two); - c += denominator2.Mul(two); - } - - - nominator_x_add.exponent.AddOne(); // *2 - one.exponent.SubOne(); // =0.5 - nominator_x_add.Pow(one); // =sqrt(nominator_x_add) - result.Mul(nominator_x_add); - - one.Set05Pi(); - one.Sub(result); - - return one; - } - - - } // namespace auxiliaryfunctions - - - /*! - this function calculates the Arc Sine - x is from <-1,1> - */ - template - ValueType ASin(ValueType x, ErrorCode * err = 0) - { - using namespace auxiliaryfunctions; - - ValueType result, one; - one.SetOne(); - bool change_sign = false; - - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; - } - - if( x.GreaterWithoutSignThan(one) ) - { - if( err ) - *err = err_improper_argument; - - return result; // NaN is set by default - } - - if( x.IsSign() ) - { - change_sign = true; - x.Abs(); - } - - one.exponent.SubOne(); // =0.5 - - // asin(-x) = -asin(x) - if( x.GreaterWithoutSignThan(one) ) - result = ASin_1(x); - else - result = ASin_0(x); - - if( change_sign ) - result.ChangeSign(); - - if( err ) - *err = err_ok; - - return result; - } - - - /*! - this function calculates the Arc Cosine - - we're using the formula: - acos(x) = pi/2 - asin(x) - */ - template - ValueType ACos(const ValueType & x, ErrorCode * err = 0) - { - ValueType temp; - - temp.Set05Pi(); - temp.Sub(ASin(x, err)); - - return temp; - } - - - - namespace auxiliaryfunctions - { - - /*! - an auxiliary function for calculating the Arc Tangent - - arc tan (x) where x is in <0; 0.5) - (x can be in (-0.5 ; 0.5) too) - - we're using the Taylor series expanded in zero: - atan(x) = x - (x^3)/3 + (x^5)/5 - (x^7)/7 + ... - */ - template - ValueType ATan0(const ValueType & x) - { - ValueType nominator, denominator, nominator_add, denominator_add, temp; - ValueType result, old_result; - bool adding = false; - uint c = 0; - - result = x; - old_result = result; - nominator = x; - nominator_add = x; - nominator_add.Mul(x); - - denominator.SetOne(); - denominator_add = 2; - - for(uint i=1 ; i<=TTMATH_ARITHMETIC_MAX_LOOP ; ++i) - { - c += nominator.Mul(nominator_add); - c += denominator.Add(denominator_add); - - temp = nominator; - c += temp.Div(denominator); - - if( c ) - // the result should be ok - break; - - if( adding ) - result.Add(temp); - else - result.Sub(temp); - - if( result == old_result ) - // there's no sense to calculate more - break; - - old_result = result; - adding = !adding; - } - - return result; - } - - - /*! - an auxiliary function for calculating the Arc Tangent - - where x is in <0 ; 1> - */ - template - ValueType ATan01(const ValueType & x) - { - ValueType half; - half.Set05(); - - /* - it would be better if we chose about sqrt(2)-1=0.41... instead of 0.5 here - - because as you can see below: - when x = sqrt(2)-1 - abs(x) = abs( (x-1)/(1+x) ) - so when we're calculating values around x - then they will be better converged to each other - - for example if we have x=0.4999 then during calculating ATan0(0.4999) - we have to make about 141 iterations but when we have x=0.5 - then during calculating ATan0( (x-1)/(1+x) ) we have to make - only about 89 iterations (both for Big<3,9>) - - in the future this 0.5 can be changed - */ - if( x.SmallerWithoutSignThan(half) ) - return ATan0(x); - - - /* - x>=0.5 and x<=1 - (x can be even smaller than 0.5) - - y = atac(x) - x = tan(y) - - tan(y-b) = (tan(y)-tab(b)) / (1+tan(y)*tan(b)) - y-b = atan( (tan(y)-tab(b)) / (1+tan(y)*tan(b)) ) - y = b + atan( (x-tab(b)) / (1+x*tan(b)) ) - - let b = pi/4 - tan(b) = tan(pi/4) = 1 - y = pi/4 + atan( (x-1)/(1+x) ) - - so - atac(x) = pi/4 + atan( (x-1)/(1+x) ) - when x->1 (x converges to 1) the (x-1)/(1+x) -> 0 - and we can use ATan0() function here - */ - - ValueType n(x),d(x),one,result; - - one.SetOne(); - n.Sub(one); - d.Add(one); - n.Div(d); - - result = ATan0(n); - - n.Set05Pi(); - n.exponent.SubOne(); // =pi/4 - result.Add(n); - - return result; - } - - - /*! - an auxiliary function for calculating the Arc Tangent - where x > 1 - - we're using the formula: - atan(x) = pi/2 - atan(1/x) for x>0 - */ - template - ValueType ATanGreaterThanPlusOne(const ValueType & x) - { - ValueType temp, atan; - - temp.SetOne(); - - if( temp.Div(x) ) - { - // if there was a carry here that means x is very big - // and atan(1/x) fast converged to 0 - atan.SetZero(); - } - else - atan = ATan01(temp); - - temp.Set05Pi(); - temp.Sub(atan); - - return temp; - } - - } // namespace auxiliaryfunctions - - - /*! - this function calculates the Arc Tangent - */ - template - ValueType ATan(ValueType x) - { - using namespace auxiliaryfunctions; - - ValueType one, result; - one.SetOne(); - bool change_sign = false; - - if( x.IsNan() ) - return x; - - // if x is negative we're using the formula: - // atan(-x) = -atan(x) - if( x.IsSign() ) - { - change_sign = true; - x.Abs(); - } - - if( x.GreaterWithoutSignThan(one) ) - result = ATanGreaterThanPlusOne(x); - else - result = ATan01(x); - - if( change_sign ) - result.ChangeSign(); - - return result; - } - - - /*! - this function calculates the Arc Tangent - look at the description of ATan(...) - - (the abbreviation of Arc Tangent can be 'atg' as well) - */ - template - ValueType ATg(const ValueType & x) - { - return ATan(x); - } - - - /*! - this function calculates the Arc Cotangent - - we're using the formula: - actan(x) = pi/2 - atan(x) - */ - template - ValueType ACot(const ValueType & x) - { - ValueType result; - - result.Set05Pi(); - result.Sub(ATan(x)); - - return result; - } - - - /*! - this function calculates the Arc Cotangent - look at the description of ACot(...) - - (the abbreviation of Arc Cotangent can be 'actg' as well) - */ - template - ValueType ACtg(const ValueType & x) - { - return ACot(x); - } - - - /* - * - * hyperbolic functions - * - * - */ - - - /*! - this function calculates the Hyperbolic Sine - - we're using the formula sinh(x)= ( e^x - e^(-x) ) / 2 - */ - template - ValueType Sinh(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType ex, emx; - uint c = 0; - - c += ex.Exp(x); - c += emx.Exp(-x); - - c += ex.Sub(emx); - c += ex.exponent.SubOne(); - - if( err ) - *err = c ? err_overflow : err_ok; - - return ex; - } - - - /*! - this function calculates the Hyperbolic Cosine - - we're using the formula cosh(x)= ( e^x + e^(-x) ) / 2 - */ - template - ValueType Cosh(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType ex, emx; - uint c = 0; - - c += ex.Exp(x); - c += emx.Exp(-x); - - c += ex.Add(emx); - c += ex.exponent.SubOne(); - - if( err ) - *err = c ? err_overflow : err_ok; - - return ex; - } - - - /*! - this function calculates the Hyperbolic Tangent - - we're using the formula tanh(x)= ( e^x - e^(-x) ) / ( e^x + e^(-x) ) - */ - template - ValueType Tanh(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType ex, emx, nominator, denominator; - uint c = 0; - - c += ex.Exp(x); - c += emx.Exp(-x); - - nominator = ex; - c += nominator.Sub(emx); - denominator = ex; - c += denominator.Add(emx); - - c += nominator.Div(denominator); - - if( err ) - *err = c ? err_overflow : err_ok; - - return nominator; - } - - - /*! - this function calculates the Hyperbolic Tangent - look at the description of Tanh(...) - - (the abbreviation of Hyperbolic Tangent can be 'tgh' as well) - */ - template - ValueType Tgh(const ValueType & x, ErrorCode * err = 0) - { - return Tanh(x, err); - } - - /*! - this function calculates the Hyperbolic Cotangent - - we're using the formula coth(x)= ( e^x + e^(-x) ) / ( e^x - e^(-x) ) - */ - template - ValueType Coth(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - if( x.IsZero() ) - { - if( err ) - *err = err_improper_argument; - - return ValueType(); // NaN is set by default - } - - ValueType ex, emx, nominator, denominator; - uint c = 0; - - c += ex.Exp(x); - c += emx.Exp(-x); - - nominator = ex; - c += nominator.Add(emx); - denominator = ex; - c += denominator.Sub(emx); - - c += nominator.Div(denominator); - - if( err ) - *err = c ? err_overflow : err_ok; - - return nominator; - } - - - /*! - this function calculates the Hyperbolic Cotangent - look at the description of Coth(...) - - (the abbreviation of Hyperbolic Cotangent can be 'ctgh' as well) - */ - template - ValueType Ctgh(const ValueType & x, ErrorCode * err = 0) - { - return Coth(x, err); - } - - - /* - * - * inverse hyperbolic functions - * - * - */ - - - /*! - inverse hyperbolic sine - - asinh(x) = ln( x + sqrt(x^2 + 1) ) - */ - template - ValueType ASinh(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType xx(x), one, result; - uint c = 0; - one.SetOne(); - - c += xx.Mul(x); - c += xx.Add(one); - one.exponent.SubOne(); // one=0.5 - // xx is >= 1 - c += xx.PowFrac(one); // xx=sqrt(xx) - c += xx.Add(x); - c += result.Ln(xx); // xx > 0 - - // here can only be a carry - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - inverse hyperbolic cosine - - acosh(x) = ln( x + sqrt(x^2 - 1) ) x in <1, infinity) - */ - template - ValueType ACosh(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType xx(x), one, result; - uint c = 0; - one.SetOne(); - - if( x < one ) - { - if( err ) - *err = err_improper_argument; - - return result; // NaN is set by default - } - - c += xx.Mul(x); - c += xx.Sub(one); - // xx is >= 0 - // we can't call a PowFrac when the 'x' is zero - // if x is 0 the sqrt(0) is 0 - if( !xx.IsZero() ) - { - one.exponent.SubOne(); // one=0.5 - c += xx.PowFrac(one); // xx=sqrt(xx) - } - c += xx.Add(x); - c += result.Ln(xx); // xx >= 1 - - // here can only be a carry - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - inverse hyperbolic tangent - - atanh(x) = 0.5 * ln( (1+x) / (1-x) ) x in (-1, 1) - */ - template - ValueType ATanh(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType nominator(x), denominator, one, result; - uint c = 0; - one.SetOne(); - - if( !x.SmallerWithoutSignThan(one) ) - { - if( err ) - *err = err_improper_argument; - - return result; // NaN is set by default - } - - c += nominator.Add(one); - denominator = one; - c += denominator.Sub(x); - c += nominator.Div(denominator); - c += result.Ln(nominator); - c += result.exponent.SubOne(); - - // here can only be a carry - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - inverse hyperbolic tantent - */ - template - ValueType ATgh(const ValueType & x, ErrorCode * err = 0) - { - return ATanh(x, err); - } - - - /*! - inverse hyperbolic cotangent - - acoth(x) = 0.5 * ln( (x+1) / (x-1) ) x in (-infinity, -1) or (1, infinity) - */ - template - ValueType ACoth(const ValueType & x, ErrorCode * err = 0) - { - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; // NaN - } - - ValueType nominator(x), denominator(x), one, result; - uint c = 0; - one.SetOne(); - - if( !x.GreaterWithoutSignThan(one) ) - { - if( err ) - *err = err_improper_argument; - - return result; // NaN is set by default - } - - c += nominator.Add(one); - c += denominator.Sub(one); - c += nominator.Div(denominator); - c += result.Ln(nominator); - c += result.exponent.SubOne(); - - // here can only be a carry - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - inverse hyperbolic cotantent - */ - template - ValueType ACtgh(const ValueType & x, ErrorCode * err = 0) - { - return ACoth(x, err); - } - - - - - - /* - * - * functions for converting between degrees, radians and gradians - * - * - */ - - - /*! - this function converts degrees to radians - - it returns: x * pi / 180 - */ - template - ValueType DegToRad(const ValueType & x, ErrorCode * err = 0) - { - ValueType result, temp; - uint c = 0; - - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; - } - - result = x; - - // it is better to make division first and then multiplication - // the result is more accurate especially when x is: 90,180,270 or 360 - temp = 180; - c += result.Div(temp); - - temp.SetPi(); - c += result.Mul(temp); - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - this function converts radians to degrees - - it returns: x * 180 / pi - */ - template - ValueType RadToDeg(const ValueType & x, ErrorCode * err = 0) - { - ValueType result, delimiter; - uint c = 0; - - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; - } - - result = 180; - c += result.Mul(x); - - delimiter.SetPi(); - c += result.Div(delimiter); - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - this function converts degrees in the long format into one value - - long format: (degrees, minutes, seconds) - minutes and seconds must be greater than or equal zero - - result: - if d>=0 : result= d + ((s/60)+m)/60 - if d<0 : result= d - ((s/60)+m)/60 - - ((s/60)+m)/60 = (s+60*m)/3600 (second version is faster because - there's only one division) - - for example: - DegToDeg(10, 30, 0) = 10.5 - DegToDeg(10, 24, 35.6)=10.4098(8) - */ - template - ValueType DegToDeg( const ValueType & d, const ValueType & m, const ValueType & s, - ErrorCode * err = 0) - { - ValueType delimiter, multipler; - uint c = 0; - - if( d.IsNan() || m.IsNan() || s.IsNan() || m.IsSign() || s.IsSign() ) - { - if( err ) - *err = err_improper_argument; - - delimiter.SetZeroNan(); // not needed, only to get rid of GCC warning about an uninitialized variable - - return delimiter; - } - - multipler = 60; - delimiter = 3600; - - c += multipler.Mul(m); - c += multipler.Add(s); - c += multipler.Div(delimiter); - - if( d.IsSign() ) - multipler.ChangeSign(); - - c += multipler.Add(d); - - if( err ) - *err = c ? err_overflow : err_ok; - - return multipler; - } - - - /*! - this function converts degrees in the long format to radians - */ - template - ValueType DegToRad( const ValueType & d, const ValueType & m, const ValueType & s, - ErrorCode * err = 0) - { - ValueType temp_deg = DegToDeg(d,m,s,err); - - if( err && *err!=err_ok ) - return temp_deg; - - return DegToRad(temp_deg, err); - } - - - /*! - this function converts gradians to radians - - it returns: x * pi / 200 - */ - template - ValueType GradToRad(const ValueType & x, ErrorCode * err = 0) - { - ValueType result, temp; - uint c = 0; - - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; - } - - result = x; - - // it is better to make division first and then multiplication - // the result is more accurate especially when x is: 100,200,300 or 400 - temp = 200; - c += result.Div(temp); - - temp.SetPi(); - c += result.Mul(temp); - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - this function converts radians to gradians - - it returns: x * 200 / pi - */ - template - ValueType RadToGrad(const ValueType & x, ErrorCode * err = 0) - { - ValueType result, delimiter; - uint c = 0; - - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; - } - - result = 200; - c += result.Mul(x); - - delimiter.SetPi(); - c += result.Div(delimiter); - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - this function converts degrees to gradians - - it returns: x * 200 / 180 - */ - template - ValueType DegToGrad(const ValueType & x, ErrorCode * err = 0) - { - ValueType result, temp; - uint c = 0; - - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; - } - - result = x; - - temp = 200; - c += result.Mul(temp); - - temp = 180; - c += result.Div(temp); - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - /*! - this function converts degrees in the long format to gradians - */ - template - ValueType DegToGrad( const ValueType & d, const ValueType & m, const ValueType & s, - ErrorCode * err = 0) - { - ValueType temp_deg = DegToDeg(d,m,s,err); - - if( err && *err!=err_ok ) - return temp_deg; - - return DegToGrad(temp_deg, err); - } - - - /*! - this function converts degrees to gradians - - it returns: x * 180 / 200 - */ - template - ValueType GradToDeg(const ValueType & x, ErrorCode * err = 0) - { - ValueType result, temp; - uint c = 0; - - if( x.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return x; - } - - result = x; - - temp = 180; - c += result.Mul(temp); - - temp = 200; - c += result.Div(temp); - - if( err ) - *err = c ? err_overflow : err_ok; - - return result; - } - - - - - /* - * - * another functions - * - * - */ - - - /*! - this function calculates the square root - - Sqrt(9) = 3 - */ - template - ValueType Sqrt(ValueType x, ErrorCode * err = 0) - { - if( x.IsNan() || x.IsSign() ) - { - if( err ) - *err = err_improper_argument; - - x.SetNan(); - - return x; - } - - uint c = x.Sqrt(); - - if( err ) - *err = c ? err_overflow : err_ok; - - return x; - } - - - - namespace auxiliaryfunctions - { - - template - bool RootCheckIndexSign(ValueType & x, const ValueType & index, ErrorCode * err) - { - if( index.IsSign() ) - { - // index cannot be negative - if( err ) - *err = err_improper_argument; - - x.SetNan(); - - return true; - } - - return false; - } - - - template - bool RootCheckIndexZero(ValueType & x, const ValueType & index, ErrorCode * err) - { - if( index.IsZero() ) - { - if( x.IsZero() ) - { - // there isn't root(0;0) - we assume it's not defined - if( err ) - *err = err_improper_argument; - - x.SetNan(); - - return true; - } - - // root(x;0) is 1 (if x!=0) - x.SetOne(); - - if( err ) - *err = err_ok; - - return true; - } - - return false; - } - - - template - bool RootCheckIndexOne(const ValueType & index, ErrorCode * err) - { - ValueType one; - one.SetOne(); - - if( index == one ) - { - //root(x;1) is x - // we do it because if we used the PowFrac function - // we would lose the precision - if( err ) - *err = err_ok; - - return true; - } - - return false; - } - - - template - bool RootCheckIndexTwo(ValueType & x, const ValueType & index, ErrorCode * err) - { - if( index == 2 ) - { - x = Sqrt(x, err); - - return true; - } - - return false; - } - - - template - bool RootCheckIndexFrac(ValueType & x, const ValueType & index, ErrorCode * err) - { - if( !index.IsInteger() ) - { - // index must be integer - if( err ) - *err = err_improper_argument; - - x.SetNan(); - - return true; - } - - return false; - } - - - template - bool RootCheckXZero(ValueType & x, ErrorCode * err) - { - if( x.IsZero() ) - { - // root(0;index) is zero (if index!=0) - // RootCheckIndexZero() must be called beforehand - x.SetZero(); - - if( err ) - *err = err_ok; - - return true; - } - - return false; - } - - - template - bool RootCheckIndex(ValueType & x, const ValueType & index, ErrorCode * err, bool * change_sign) - { - *change_sign = false; - - if( index.Mod2() ) - { - // index is odd (1,3,5...) - if( x.IsSign() ) - { - *change_sign = true; - x.Abs(); - } - } - else - { - // index is even - // x cannot be negative - if( x.IsSign() ) - { - if( err ) - *err = err_improper_argument; - - x.SetNan(); - - return true; - } - } - - return false; - } - - - template - uint RootCorrectInteger(ValueType & old_x, ValueType & x, const ValueType & index) - { - if( !old_x.IsInteger() || x.IsInteger() || !index.exponent.IsSign() ) - return 0; - - // old_x is integer, - // x is not integer, - // index is relatively small (index.exponent<0 or index.exponent<=0) - // (because we're using a special powering algorithm Big::PowUInt()) - - uint c = 0; - - ValueType temp(x); - c += temp.Round(); - - ValueType temp_round(temp); - c += temp.PowUInt(index); - - if( temp == old_x ) - x = temp_round; - - return (c==0)? 0 : 1; - } - - - - } // namespace auxiliaryfunctions - - - - /*! - indexth Root of x - index must be integer and not negative <0;1;2;3....) - - if index==0 the result is one - if x==0 the result is zero and we assume root(0;0) is not defined - - if index is even (2;4;6...) the result is x^(1/index) and x>0 - if index is odd (1;2;3;...) the result is either - -(abs(x)^(1/index)) if x<0 or - x^(1/index)) if x>0 - - (for index==1 the result is equal x) - */ - template - ValueType Root(ValueType x, const ValueType & index, ErrorCode * err = 0) - { - using namespace auxiliaryfunctions; - - if( x.IsNan() || index.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - x.SetNan(); - - return x; - } - - if( RootCheckIndexSign(x, index, err) ) return x; - if( RootCheckIndexZero(x, index, err) ) return x; - if( RootCheckIndexOne ( index, err) ) return x; - if( RootCheckIndexTwo (x, index, err) ) return x; - if( RootCheckIndexFrac(x, index, err) ) return x; - if( RootCheckXZero (x, err) ) return x; - - // index integer and index!=0 - // x!=0 - - ValueType old_x(x); - bool change_sign; - - if( RootCheckIndex(x, index, err, &change_sign ) ) return x; - - ValueType temp; - uint c = 0; - - // we're using the formula: root(x ; n) = exp( ln(x) / n ) - c += temp.Ln(x); - c += temp.Div(index); - c += x.Exp(temp); - - if( change_sign ) - { - // x is different from zero - x.SetSign(); - } - - c += RootCorrectInteger(old_x, x, index); - - if( err ) - *err = c ? err_overflow : err_ok; - - return x; - } - - - - /*! - absolute value of x - e.g. -2 = 2 - 2 = 2 - */ - template - ValueType Abs(const ValueType & x) - { - ValueType result( x ); - result.Abs(); - - return result; - } - - - /*! - it returns the sign of the value - e.g. -2 = -1 - 0 = 0 - 10 = 1 - */ - template - ValueType Sgn(ValueType x) - { - x.Sgn(); - - return x; - } - - - /*! - the remainder from a division - - e.g. - mod( 12.6 ; 3) = 0.6 because 12.6 = 3*4 + 0.6 - mod(-12.6 ; 3) = -0.6 bacause -12.6 = 3*(-4) + (-0.6) - mod( 12.6 ; -3) = 0.6 - mod(-12.6 ; -3) = -0.6 - */ - template - ValueType Mod(ValueType a, const ValueType & b, ErrorCode * err = 0) - { - if( a.IsNan() || b.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - a.SetNan(); - - return a; - } - - uint c = a.Mod(b); - - if( err ) - *err = c ? err_overflow : err_ok; - - return a; - } - - - - namespace auxiliaryfunctions - { - - /*! - this function is used to store factorials in a given container - 'more' means how many values should be added at the end - - e.g. - std::vector fact; - SetFactorialSequence(fact, 3); - // now the container has three values: 1 1 2 - - SetFactorialSequence(fact, 2); - // now the container has five values: 1 1 2 6 24 - */ - template - void SetFactorialSequence(std::vector & fact, uint more = 20) - { - if( more == 0 ) - more = 1; - - uint start = static_cast(fact.size()); - fact.resize(fact.size() + more); - - if( start == 0 ) - { - fact[0] = 1; - ++start; - } - - for(uint i=start ; i - ValueType SetBernoulliNumbersSum(CGamma & cgamma, const ValueType & n_, uint m, - const volatile StopCalculating * stop = 0) - { - ValueType k_, temp, temp2, temp3, sum; - - sum.SetZero(); - - for(uint k=0 ; kWasStopSignal() ) - return ValueType(); // NaN - - if( k>1 && (k & 1) == 1 ) // for that k the Bernoulli number is zero - continue; - - k_ = k; - - temp = n_; // n_ is equal 2 - temp.Pow(k_); - // temp = 2^k - - temp2 = cgamma.fact[m]; - temp3 = cgamma.fact[k]; - temp3.Mul(cgamma.fact[m-k]); - temp2.Div(temp3); - // temp2 = (m k) = m! / ( k! * (m-k)! ) - - temp.Mul(temp2); - temp.Mul(cgamma.bern[k]); - - sum.Add(temp); - // sum += 2^k * (m k) * B(k) - - if( sum.IsNan() ) - break; - } - - return sum; - } - - - /*! - an auxiliary function used to calculate Bernoulli numbers - start is >= 2 - - we use the recurrence formula: - B(m) = 1 / (2*(1 - 2^m)) * sum(m) - where sum(m) is calculated by SetBernoulliNumbersSum() - */ - template - bool SetBernoulliNumbersMore(CGamma & cgamma, uint start, const volatile StopCalculating * stop = 0) - { - ValueType denominator, temp, temp2, temp3, m_, sum, sum2, n_, k_; - - const uint n = 2; - n_ = n; - - // start is >= 2 - for(uint m=start ; mWasStopSignal() ) - { - cgamma.bern.resize(m); // valid numbers are in [0, m-1] - return false; - } - - cgamma.bern[m].Div(denominator); - } - } - - return true; - } - - - /*! - this function is used to calculate Bernoulli numbers, - returns false if there was a stop signal, - 'more' means how many values should be added at the end - - e.g. - typedef Big<1,2> MyBig; - CGamma cgamma; - SetBernoulliNumbers(cgamma, 3); - // now we have three first Bernoulli numbers: 1 -0.5 0.16667 - - SetBernoulliNumbers(cgamma, 4); - // now we have 7 Bernoulli numbers: 1 -0.5 0.16667 0 -0.0333 0 0.0238 - */ - template - bool SetBernoulliNumbers(CGamma & cgamma, uint more = 20, const volatile StopCalculating * stop = 0) - { - if( more == 0 ) - more = 1; - - uint start = static_cast(cgamma.bern.size()); - cgamma.bern.resize(cgamma.bern.size() + more); - - if( start == 0 ) - { - cgamma.bern[0].SetOne(); - ++start; - } - - if( cgamma.bern.size() == 1 ) - return true; - - if( start == 1 ) - { - cgamma.bern[1].Set05(); - cgamma.bern[1].ChangeSign(); - ++start; - } - - // we should have sufficient factorials in cgamma.fact - if( cgamma.fact.size() < cgamma.bern.size() ) - SetFactorialSequence(cgamma.fact, static_cast(cgamma.bern.size() - cgamma.fact.size())); - - - return SetBernoulliNumbersMore(cgamma, start, stop); - } - - - /*! - an auxiliary function used to calculate the Gamma() function - - we calculate a sum: - sum(n) = sum_{m=2} { B(m) / ( (m^2 - m) * n^(m-1) ) } = 1/(12*n) - 1/(360*n^3) + 1/(1260*n^5) + ... - B(m) means a mth Bernoulli number - the sum starts from m=2, we calculate as long as the value will not change after adding a next part - */ - template - ValueType GammaFactorialHighSum(const ValueType & n, CGamma & cgamma, ErrorCode & err, - const volatile StopCalculating * stop) - { - ValueType temp, temp2, denominator, sum, oldsum; - - sum.SetZero(); - - for(uint m=2 ; mWasStopSignal() ) - { - err = err_interrupt; - return ValueType(); // NaN - } - - temp = (m-1); - denominator = n; - denominator.Pow(temp); - // denominator = n ^ (m-1) - - temp = m; - temp2 = temp; - temp.Mul(temp2); - temp.Sub(temp2); - // temp = m^2 - m - - denominator.Mul(temp); - // denominator = (m^2 - m) * n ^ (m-1) - - if( m >= cgamma.bern.size() ) - { - if( !SetBernoulliNumbers(cgamma, m - cgamma.bern.size() + 1 + 3, stop) ) // 3 more than needed - { - // there was the stop signal - err = err_interrupt; - return ValueType(); // NaN - } - } - - temp = cgamma.bern[m]; - temp.Div(denominator); - - oldsum = sum; - sum.Add(temp); - - if( sum.IsNan() || oldsum==sum ) - break; - } - - return sum; - } - - - /*! - an auxiliary function used to calculate the Gamma() function - - we calculate a helper function GammaFactorialHigh() by using Stirling's series: - n! = (n/e)^n * sqrt(2*pi*n) * exp( sum(n) ) - where n is a real number (not only an integer) and is sufficient large (greater than TTMATH_GAMMA_BOUNDARY) - and sum(n) is calculated by GammaFactorialHighSum() - */ - template - ValueType GammaFactorialHigh(const ValueType & n, CGamma & cgamma, ErrorCode & err, - const volatile StopCalculating * stop) - { - ValueType temp, temp2, temp3, denominator, sum; - - temp.Set2Pi(); - temp.Mul(n); - temp2 = Sqrt(temp); - // temp2 = sqrt(2*pi*n) - - temp = n; - temp3.SetE(); - temp.Div(temp3); - temp.Pow(n); - // temp = (n/e)^n - - sum = GammaFactorialHighSum(n, cgamma, err, stop); - temp3.Exp(sum); - // temp3 = exp(sum) - - temp.Mul(temp2); - temp.Mul(temp3); - - return temp; - } - - - /*! - an auxiliary function used to calculate the Gamma() function - - Gamma(x) = GammaFactorialHigh(x-1) - */ - template - ValueType GammaPlusHigh(ValueType n, CGamma & cgamma, ErrorCode & err, const volatile StopCalculating * stop) - { - ValueType one; - - one.SetOne(); - n.Sub(one); - - return GammaFactorialHigh(n, cgamma, err, stop); - } - - - /*! - an auxiliary function used to calculate the Gamma() function - - we use this function when n is integer and a small value (from 0 to TTMATH_GAMMA_BOUNDARY] - we use the formula: - gamma(n) = (n-1)! = 1 * 2 * 3 * ... * (n-1) - */ - template - ValueType GammaPlusLowIntegerInt(uint n, CGamma & cgamma) - { - TTMATH_ASSERT( n > 0 ) - - if( n - 1 < static_cast(cgamma.fact.size()) ) - return cgamma.fact[n - 1]; - - ValueType res; - uint start = 2; - - if( cgamma.fact.size() < 2 ) - { - res.SetOne(); - } - else - { - start = static_cast(cgamma.fact.size()); - res = cgamma.fact[start-1]; - } - - for(uint i=start ; i - ValueType GammaPlusLowInteger(const ValueType & n, CGamma & cgamma) - { - sint n_; - - n.ToInt(n_); - - return GammaPlusLowIntegerInt(n_, cgamma); - } - - - /*! - an auxiliary function used to calculate the Gamma() function - - we use this function when n is a small value (from 0 to TTMATH_GAMMA_BOUNDARY] - we use a recurrence formula: - gamma(z+1) = z * gamma(z) - then: gamma(z) = gamma(z+1) / z - - e.g. - gamma(3.89) = gamma(2001.89) / ( 3.89 * 4.89 * 5.89 * ... * 1999.89 * 2000.89 ) - */ - template - ValueType GammaPlusLow(ValueType n, CGamma & cgamma, ErrorCode & err, const volatile StopCalculating * stop) - { - ValueType one, denominator, temp, boundary; - - if( n.IsInteger() ) - return GammaPlusLowInteger(n, cgamma); - - one.SetOne(); - denominator = n; - boundary = TTMATH_GAMMA_BOUNDARY; - - while( n < boundary ) - { - n.Add(one); - denominator.Mul(n); - } - - n.Add(one); - - // now n is sufficient big - temp = GammaPlusHigh(n, cgamma, err, stop); - temp.Div(denominator); - - return temp; - } - - - /*! - an auxiliary function used to calculate the Gamma() function - */ - template - ValueType GammaPlus(const ValueType & n, CGamma & cgamma, ErrorCode & err, const volatile StopCalculating * stop) - { - if( n > TTMATH_GAMMA_BOUNDARY ) - return GammaPlusHigh(n, cgamma, err, stop); - - return GammaPlusLow(n, cgamma, err, stop); - } - - - /*! - an auxiliary function used to calculate the Gamma() function - - this function is used when n is negative - we use the reflection formula: - gamma(1-z) * gamma(z) = pi / sin(pi*z) - then: gamma(z) = pi / (sin(pi*z) * gamma(1-z)) - - */ - template - ValueType GammaMinus(const ValueType & n, CGamma & cgamma, ErrorCode & err, const volatile StopCalculating * stop) - { - ValueType pi, denominator, temp, temp2; - - if( n.IsInteger() ) - { - // gamma function is not defined when n is negative and integer - err = err_improper_argument; - return temp; // NaN - } - - pi.SetPi(); - - temp = pi; - temp.Mul(n); - temp2 = Sin(temp); - // temp2 = sin(pi * n) - - temp.SetOne(); - temp.Sub(n); - temp = GammaPlus(temp, cgamma, err, stop); - // temp = gamma(1 - n) - - temp.Mul(temp2); - pi.Div(temp); - - return pi; - } - - } // namespace auxiliaryfunctions - - - - /*! - this function calculates the Gamma function - - it's multithread safe, you should create a CGamma<> object and use it whenever you call the Gamma() - e.g. - typedef Big<1,2> MyBig; - MyBig x=234, y=345.53; - CGamma cgamma; - std::cout << Gamma(x, cgamma) << std::endl; - std::cout << Gamma(y, cgamma) << std::endl; - in the CGamma<> object the function stores some coefficients (factorials, Bernoulli numbers), - and they will be reused in next calls to the function - - each thread should have its own CGamma<> object, and you can use these objects with Factorial() function too - */ - template - ValueType Gamma(const ValueType & n, CGamma & cgamma, ErrorCode * err = 0, - const volatile StopCalculating * stop = 0) - { - using namespace auxiliaryfunctions; - - ValueType result; - ErrorCode err_tmp; - - if( n.IsNan() ) - { - if( err ) - *err = err_improper_argument; - - return n; - } - - if( cgamma.history.Get(n, result, err_tmp) ) - { - if( err ) - *err = err_tmp; - - return result; - } - - err_tmp = err_ok; - - if( n.IsSign() ) - { - result = GammaMinus(n, cgamma, err_tmp, stop); - } - else - if( n.IsZero() ) - { - err_tmp = err_improper_argument; - result.SetNan(); - } - else - { - result = GammaPlus(n, cgamma, err_tmp, stop); - } - - if( result.IsNan() && err_tmp==err_ok ) - err_tmp = err_overflow; - - if( err ) - *err = err_tmp; - - if( stop && !stop->WasStopSignal() ) - cgamma.history.Add(n, result, err_tmp); - - return result; - } - - - /*! - this function calculates the Gamma function - - note: this function should be used only in a single-thread environment - */ - template - ValueType Gamma(const ValueType & n, ErrorCode * err = 0) - { - // warning: this static object is not thread safe - static CGamma cgamma; - - return Gamma(n, cgamma, err); - } - - - - namespace auxiliaryfunctions - { - - /*! - an auxiliary function for calculating the factorial function - - we use the formula: - x! = gamma(x+1) - */ - template - ValueType Factorial2(ValueType x, - CGamma * cgamma = 0, - ErrorCode * err = 0, - const volatile StopCalculating * stop = 0) - { - ValueType result, one; - - if( x.IsNan() || x.IsSign() || !x.IsInteger() ) - { - if( err ) - *err = err_improper_argument; - - x.SetNan(); - - return x; - } - - one.SetOne(); - x.Add(one); - - if( cgamma ) - return Gamma(x, *cgamma, err, stop); - - return Gamma(x, err); - } - - } // namespace auxiliaryfunctions - - - - /*! - the factorial from given 'x' - e.g. - Factorial(4) = 4! = 1*2*3*4 - - it's multithread safe, you should create a CGamma<> object and use it whenever you call the Factorial() - e.g. - typedef Big<1,2> MyBig; - MyBig x=234, y=54345; - CGamma cgamma; - std::cout << Factorial(x, cgamma) << std::endl; - std::cout << Factorial(y, cgamma) << std::endl; - in the CGamma<> object the function stores some coefficients (factorials, Bernoulli numbers), - and they will be reused in next calls to the function - - each thread should have its own CGamma<> object, and you can use these objects with Gamma() function too - */ - template - ValueType Factorial(const ValueType & x, CGamma & cgamma, ErrorCode * err = 0, - const volatile StopCalculating * stop = 0) - { - return auxiliaryfunctions::Factorial2(x, &cgamma, err, stop); - } - - - /*! - the factorial from given 'x' - e.g. - Factorial(4) = 4! = 1*2*3*4 - - note: this function should be used only in a single-thread environment - */ - template - ValueType Factorial(const ValueType & x, ErrorCode * err = 0) - { - return auxiliaryfunctions::Factorial2(x, (CGamma*)0, err, 0); - } - - - /*! - this method prepares some coefficients: factorials and Bernoulli numbers - stored in 'fact' and 'bern' objects - - we're defining the method here because we're using Gamma() function which - is not available in ttmathobjects.h - - read the doc info in ttmathobjects.h file where CGamma<> struct is declared - */ - template - void CGamma::InitAll() - { - ValueType x = TTMATH_GAMMA_BOUNDARY + 1; - - // history.Remove(x) removes only one object - // we must be sure that there are not others objects with the key 'x' - while( history.Remove(x) ) - { - } - - // the simplest way to initialize is to call the Gamma function with (TTMATH_GAMMA_BOUNDARY + 1) - // when x is larger then fewer coefficients we need - Gamma(x, *this); - } - - - -} // namespace - - -/*! - this is for convenience for the user - he can only use '#include ' even if he uses the parser -*/ -#include "ttmathparser.h" - - -#ifdef _MSC_VER -//warning C4127: conditional expression is constant -#pragma warning( default: 4127 ) -//warning C4702: unreachable code -#pragma warning( default: 4702 ) -//warning C4800: forcing value to bool 'true' or 'false' (performance warning) -#pragma warning( default: 4800 ) -#endif - -#endif diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathbig.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathbig.h deleted file mode 100644 index dc3e98c40d..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathbig.h +++ /dev/null @@ -1,6064 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2011, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef headerfilettmathbig -#define headerfilettmathbig - -/*! - \file ttmathbig.h - \brief A Class for representing floating point numbers -*/ - -#include "ttmathint.h" -#include "ttmaththreads.h" - -#include - -#ifdef TTMATH_MULTITHREADS -#include -#endif - -namespace ttmath -{ - - -/*! - \brief Big implements the floating point numbers -*/ -template -class Big -{ - -/* - value = mantissa * 2^exponent - - exponent - an integer value with a sign - mantissa - an integer value without a sing - - mantissa must be pushed into the left side that is the highest bit from - mantissa must be one (of course if there's another value than zero) -- this job - (pushing bits into the left side) making Standardizing() method - - for example: - if we want to store value one (1) into our Big object we must: - set mantissa to 1 - set exponent to 0 - set info to 0 - and call method Standardizing() -*/ - - -public: - -Int exponent; -UInt mantissa; -unsigned char info; - - -/*! - Sign - the mask of a bit from 'info' which means that there is a sign - (when the bit is set) -*/ -#define TTMATH_BIG_SIGN 128 - - -/*! - Not a number - if this bit is set that there is not a valid number -*/ -#define TTMATH_BIG_NAN 64 - - -/*! - Zero - if this bit is set that there is value zero - mantissa should be zero and exponent should be zero too - (the Standardizing() method does this) -*/ -#define TTMATH_BIG_ZERO 32 - - - /*! - this method sets NaN if there was a carry (and returns 1 in such a case) - - c can be 0, 1 or other value different from zero - */ - uint CheckCarry(uint c) - { - if( c != 0 ) - { - SetNan(); - return 1; - } - - return 0; - } - -public: - - - /*! - returning the string represents the currect type of the library - we have following types: - asm_vc_32 - with asm code designed for Microsoft Visual C++ (32 bits) - asm_gcc_32 - with asm code designed for GCC (32 bits) - asm_vc_64 - with asm for VC (64 bit) - asm_gcc_64 - with asm for GCC (64 bit) - no_asm_32 - pure C++ version (32 bit) - without any asm code - no_asm_64 - pure C++ version (64 bit) - without any asm code - */ - static const char * LibTypeStr() - { - return UInt::LibTypeStr(); - } - - - /*! - returning the currect type of the library - */ - static LibTypeCode LibType() - { - return UInt::LibType(); - } - - - - /*! - this method moves all bits from mantissa into its left side - (suitably changes the exponent) or if the mantissa is zero - it sets the exponent to zero as well - (and clears the sign bit and sets the zero bit) - - it can return a carry - the carry will be when we don't have enough space in the exponent - - you don't have to use this method if you don't change the mantissa - and exponent directly - */ - uint Standardizing() - { - if( mantissa.IsTheHighestBitSet() ) - { - ClearInfoBit(TTMATH_BIG_ZERO); - return 0; - } - - if( CorrectZero() ) - return 0; - - uint comp = mantissa.CompensationToLeft(); - - return exponent.Sub( comp ); - } - - -private: - - /*! - if the mantissa is equal zero this method sets exponent to zero and - info without the sign - - it returns true if there was the correction - */ - bool CorrectZero() - { - if( mantissa.IsZero() ) - { - SetInfoBit(TTMATH_BIG_ZERO); - ClearInfoBit(TTMATH_BIG_SIGN); - exponent.SetZero(); - - return true; - } - else - { - ClearInfoBit(TTMATH_BIG_ZERO); - } - - return false; - } - - -public: - - /*! - this method clears a specific bit in the 'info' variable - - bit is one of: TTMATH_BIG_SIGN, TTMATH_BIG_NAN etc. - */ - void ClearInfoBit(unsigned char bit) - { - info = info & (~bit); - } - - - /*! - this method sets a specific bit in the 'info' variable - - bit is one of: TTMATH_BIG_SIGN, TTMATH_BIG_NAN etc. - - */ - void SetInfoBit(unsigned char bit) - { - info = info | bit; - } - - - /*! - this method returns true if a specific bit in the 'info' variable is set - - bit is one of: TTMATH_BIG_SIGN, TTMATH_BIG_NAN etc. - */ - bool IsInfoBit(unsigned char bit) const - { - return (info & bit) != 0; - } - - - /*! - this method sets zero - */ - void SetZero() - { - info = TTMATH_BIG_ZERO; - exponent.SetZero(); - mantissa.SetZero(); - - /* - we don't have to compensate zero - */ - } - - - /*! - this method sets one - */ - void SetOne() - { - info = 0; - mantissa.SetZero(); - mantissa.table[man-1] = TTMATH_UINT_HIGHEST_BIT; - exponent = -sint(man * TTMATH_BITS_PER_UINT - 1); - - // don't have to Standardize() - the last bit from mantissa is set - } - - - /*! - this method sets value 0.5 - */ - void Set05() - { - SetOne(); - exponent.SubOne(); - } - - - /*! - this method sets NaN flag (Not a Number) - when this flag is set that means there is no a valid number - */ - void SetNan() - { - SetInfoBit(TTMATH_BIG_NAN); - } - - - /*! - this method sets NaN flag (Not a Number) - also clears the mantissa and exponent (similarly as it would be a zero value) - */ - void SetZeroNan() - { - SetZero(); - SetNan(); - } - - - /*! - this method swappes this for an argument - */ - void Swap(Big & ss2) - { - unsigned char info_temp = info; - info = ss2.info; - ss2.info = info_temp; - - exponent.Swap(ss2.exponent); - mantissa.Swap(ss2.mantissa); - } - - -private: - - /*! - this method sets the mantissa of the value of pi - */ - void SetMantissaPi() - { - // this is a static table which represents the value of Pi (mantissa of it) - // (first is the highest word) - // we must define this table as 'unsigned int' because - // both on 32bit and 64bit platforms this table is 32bit - static const unsigned int temp_table[] = { - 0xc90fdaa2, 0x2168c234, 0xc4c6628b, 0x80dc1cd1, 0x29024e08, 0x8a67cc74, 0x020bbea6, 0x3b139b22, - 0x514a0879, 0x8e3404dd, 0xef9519b3, 0xcd3a431b, 0x302b0a6d, 0xf25f1437, 0x4fe1356d, 0x6d51c245, - 0xe485b576, 0x625e7ec6, 0xf44c42e9, 0xa637ed6b, 0x0bff5cb6, 0xf406b7ed, 0xee386bfb, 0x5a899fa5, - 0xae9f2411, 0x7c4b1fe6, 0x49286651, 0xece45b3d, 0xc2007cb8, 0xa163bf05, 0x98da4836, 0x1c55d39a, - 0x69163fa8, 0xfd24cf5f, 0x83655d23, 0xdca3ad96, 0x1c62f356, 0x208552bb, 0x9ed52907, 0x7096966d, - 0x670c354e, 0x4abc9804, 0xf1746c08, 0xca18217c, 0x32905e46, 0x2e36ce3b, 0xe39e772c, 0x180e8603, - 0x9b2783a2, 0xec07a28f, 0xb5c55df0, 0x6f4c52c9, 0xde2bcbf6, 0x95581718, 0x3995497c, 0xea956ae5, - 0x15d22618, 0x98fa0510, 0x15728e5a, 0x8aaac42d, 0xad33170d, 0x04507a33, 0xa85521ab, 0xdf1cba64, - 0xecfb8504, 0x58dbef0a, 0x8aea7157, 0x5d060c7d, 0xb3970f85, 0xa6e1e4c7, 0xabf5ae8c, 0xdb0933d7, - 0x1e8c94e0, 0x4a25619d, 0xcee3d226, 0x1ad2ee6b, 0xf12ffa06, 0xd98a0864, 0xd8760273, 0x3ec86a64, - 0x521f2b18, 0x177b200c, 0xbbe11757, 0x7a615d6c, 0x770988c0, 0xbad946e2, 0x08e24fa0, 0x74e5ab31, - 0x43db5bfc, 0xe0fd108e, 0x4b82d120, 0xa9210801, 0x1a723c12, 0xa787e6d7, 0x88719a10, 0xbdba5b26, - 0x99c32718, 0x6af4e23c, 0x1a946834, 0xb6150bda, 0x2583e9ca, 0x2ad44ce8, 0xdbbbc2db, 0x04de8ef9, - 0x2e8efc14, 0x1fbecaa6, 0x287c5947, 0x4e6bc05d, 0x99b2964f, 0xa090c3a2, 0x233ba186, 0x515be7ed, - 0x1f612970, 0xcee2d7af, 0xb81bdd76, 0x2170481c, 0xd0069127, 0xd5b05aa9, 0x93b4ea98, 0x8d8fddc1, - 0x86ffb7dc, 0x90a6c08f, 0x4df435c9, 0x34028492, 0x36c3fab4, 0xd27c7026, 0xc1d4dcb2, 0x602646de, - 0xc9751e76, 0x3dba37bd, 0xf8ff9406, 0xad9e530e, 0xe5db382f, 0x413001ae, 0xb06a53ed, 0x9027d831, - 0x179727b0, 0x865a8918, 0xda3edbeb, 0xcf9b14ed, 0x44ce6cba, 0xced4bb1b, 0xdb7f1447, 0xe6cc254b, - 0x33205151, 0x2bd7af42, 0x6fb8f401, 0x378cd2bf, 0x5983ca01, 0xc64b92ec, 0xf032ea15, 0xd1721d03, - 0xf482d7ce, 0x6e74fef6, 0xd55e702f, 0x46980c82, 0xb5a84031, 0x900b1c9e, 0x59e7c97f, 0xbec7e8f3, - 0x23a97a7e, 0x36cc88be, 0x0f1d45b7, 0xff585ac5, 0x4bd407b2, 0x2b4154aa, 0xcc8f6d7e, 0xbf48e1d8, - 0x14cc5ed2, 0x0f8037e0, 0xa79715ee, 0xf29be328, 0x06a1d58b, 0xb7c5da76, 0xf550aa3d, 0x8a1fbff0, - 0xeb19ccb1, 0xa313d55c, 0xda56c9ec, 0x2ef29632, 0x387fe8d7, 0x6e3c0468, 0x043e8f66, 0x3f4860ee, - 0x12bf2d5b, 0x0b7474d6, 0xe694f91e, 0x6dbe1159, 0x74a3926f, 0x12fee5e4, 0x38777cb6, 0xa932df8c, - 0xd8bec4d0, 0x73b931ba, 0x3bc832b6, 0x8d9dd300, 0x741fa7bf, 0x8afc47ed, 0x2576f693, 0x6ba42466, - 0x3aab639c, 0x5ae4f568, 0x3423b474, 0x2bf1c978, 0x238f16cb, 0xe39d652d, 0xe3fdb8be, 0xfc848ad9, - 0x22222e04, 0xa4037c07, 0x13eb57a8, 0x1a23f0c7, 0x3473fc64, 0x6cea306b, 0x4bcbc886, 0x2f8385dd, - 0xfa9d4b7f, 0xa2c087e8, 0x79683303, 0xed5bdd3a, 0x062b3cf5, 0xb3a278a6, 0x6d2a13f8, 0x3f44f82d, - 0xdf310ee0, 0x74ab6a36, 0x4597e899, 0xa0255dc1, 0x64f31cc5, 0x0846851d, 0xf9ab4819, 0x5ded7ea1, - 0xb1d510bd, 0x7ee74d73, 0xfaf36bc3, 0x1ecfa268, 0x359046f4, 0xeb879f92, 0x4009438b, 0x481c6cd7, - 0x889a002e, 0xd5ee382b, 0xc9190da6, 0xfc026e47, 0x9558e447, 0x5677e9aa, 0x9e3050e2, 0x765694df, - 0xc81f56e8, 0x80b96e71, 0x60c980dd, 0x98a573ea, 0x4472065a, 0x139cd290, 0x6cd1cb72, 0x9ec52a53 // last one was: 0x9ec52a52 - //0x86d44014, ... - // (the last word 0x9ec52a52 was rounded up because the next one is 0x86d44014 -- first bit is one 0x8..) - // 256 32bit words for the mantissa -- about 2464 valid decimal digits - }; - // the value of PI is comming from the website http://zenwerx.com/pi.php - // 3101 digits were taken from this website - // (later the digits were compared with: - // http://www.eveandersson.com/pi/digits/1000000 and http://www.geom.uiuc.edu/~huberty/math5337/groupe/digits.html ) - // and they were set into Big<1,400> type (using operator=(const char*) on a 32bit platform) - // and then the first 256 words were taken into this table - // (TTMATH_BUILTIN_VARIABLES_SIZE on 32bit platform should have the value 256, - // and on 64bit platform value 128 (256/2=128)) - - mantissa.SetFromTable(temp_table, sizeof(temp_table) / sizeof(int)); - } - -public: - - - /*! - this method sets the value of pi - */ - void SetPi() - { - SetMantissaPi(); - info = 0; - exponent = -sint(man)*sint(TTMATH_BITS_PER_UINT) + 2; - } - - - /*! - this method sets the value of 0.5 * pi - */ - void Set05Pi() - { - SetMantissaPi(); - info = 0; - exponent = -sint(man)*sint(TTMATH_BITS_PER_UINT) + 1; - } - - - /*! - this method sets the value of 2 * pi - */ - void Set2Pi() - { - SetMantissaPi(); - info = 0; - exponent = -sint(man)*sint(TTMATH_BITS_PER_UINT) + 3; - } - - - /*! - this method sets the value of e - (the base of the natural logarithm) - */ - void SetE() - { - static const unsigned int temp_table[] = { - 0xadf85458, 0xa2bb4a9a, 0xafdc5620, 0x273d3cf1, 0xd8b9c583, 0xce2d3695, 0xa9e13641, 0x146433fb, - 0xcc939dce, 0x249b3ef9, 0x7d2fe363, 0x630c75d8, 0xf681b202, 0xaec4617a, 0xd3df1ed5, 0xd5fd6561, - 0x2433f51f, 0x5f066ed0, 0x85636555, 0x3ded1af3, 0xb557135e, 0x7f57c935, 0x984f0c70, 0xe0e68b77, - 0xe2a689da, 0xf3efe872, 0x1df158a1, 0x36ade735, 0x30acca4f, 0x483a797a, 0xbc0ab182, 0xb324fb61, - 0xd108a94b, 0xb2c8e3fb, 0xb96adab7, 0x60d7f468, 0x1d4f42a3, 0xde394df4, 0xae56ede7, 0x6372bb19, - 0x0b07a7c8, 0xee0a6d70, 0x9e02fce1, 0xcdf7e2ec, 0xc03404cd, 0x28342f61, 0x9172fe9c, 0xe98583ff, - 0x8e4f1232, 0xeef28183, 0xc3fe3b1b, 0x4c6fad73, 0x3bb5fcbc, 0x2ec22005, 0xc58ef183, 0x7d1683b2, - 0xc6f34a26, 0xc1b2effa, 0x886b4238, 0x611fcfdc, 0xde355b3b, 0x6519035b, 0xbc34f4de, 0xf99c0238, - 0x61b46fc9, 0xd6e6c907, 0x7ad91d26, 0x91f7f7ee, 0x598cb0fa, 0xc186d91c, 0xaefe1309, 0x85139270, - 0xb4130c93, 0xbc437944, 0xf4fd4452, 0xe2d74dd3, 0x64f2e21e, 0x71f54bff, 0x5cae82ab, 0x9c9df69e, - 0xe86d2bc5, 0x22363a0d, 0xabc52197, 0x9b0deada, 0x1dbf9a42, 0xd5c4484e, 0x0abcd06b, 0xfa53ddef, - 0x3c1b20ee, 0x3fd59d7c, 0x25e41d2b, 0x669e1ef1, 0x6e6f52c3, 0x164df4fb, 0x7930e9e4, 0xe58857b6, - 0xac7d5f42, 0xd69f6d18, 0x7763cf1d, 0x55034004, 0x87f55ba5, 0x7e31cc7a, 0x7135c886, 0xefb4318a, - 0xed6a1e01, 0x2d9e6832, 0xa907600a, 0x918130c4, 0x6dc778f9, 0x71ad0038, 0x092999a3, 0x33cb8b7a, - 0x1a1db93d, 0x7140003c, 0x2a4ecea9, 0xf98d0acc, 0x0a8291cd, 0xcec97dcf, 0x8ec9b55a, 0x7f88a46b, - 0x4db5a851, 0xf44182e1, 0xc68a007e, 0x5e0dd902, 0x0bfd64b6, 0x45036c7a, 0x4e677d2c, 0x38532a3a, - 0x23ba4442, 0xcaf53ea6, 0x3bb45432, 0x9b7624c8, 0x917bdd64, 0xb1c0fd4c, 0xb38e8c33, 0x4c701c3a, - 0xcdad0657, 0xfccfec71, 0x9b1f5c3e, 0x4e46041f, 0x388147fb, 0x4cfdb477, 0xa52471f7, 0xa9a96910, - 0xb855322e, 0xdb6340d8, 0xa00ef092, 0x350511e3, 0x0abec1ff, 0xf9e3a26e, 0x7fb29f8c, 0x183023c3, - 0x587e38da, 0x0077d9b4, 0x763e4e4b, 0x94b2bbc1, 0x94c6651e, 0x77caf992, 0xeeaac023, 0x2a281bf6, - 0xb3a739c1, 0x22611682, 0x0ae8db58, 0x47a67cbe, 0xf9c9091b, 0x462d538c, 0xd72b0374, 0x6ae77f5e, - 0x62292c31, 0x1562a846, 0x505dc82d, 0xb854338a, 0xe49f5235, 0xc95b9117, 0x8ccf2dd5, 0xcacef403, - 0xec9d1810, 0xc6272b04, 0x5b3b71f9, 0xdc6b80d6, 0x3fdd4a8e, 0x9adb1e69, 0x62a69526, 0xd43161c1, - 0xa41d570d, 0x7938dad4, 0xa40e329c, 0xcff46aaa, 0x36ad004c, 0xf600c838, 0x1e425a31, 0xd951ae64, - 0xfdb23fce, 0xc9509d43, 0x687feb69, 0xedd1cc5e, 0x0b8cc3bd, 0xf64b10ef, 0x86b63142, 0xa3ab8829, - 0x555b2f74, 0x7c932665, 0xcb2c0f1c, 0xc01bd702, 0x29388839, 0xd2af05e4, 0x54504ac7, 0x8b758282, - 0x2846c0ba, 0x35c35f5c, 0x59160cc0, 0x46fd8251, 0x541fc68c, 0x9c86b022, 0xbb709987, 0x6a460e74, - 0x51a8a931, 0x09703fee, 0x1c217e6c, 0x3826e52c, 0x51aa691e, 0x0e423cfc, 0x99e9e316, 0x50c1217b, - 0x624816cd, 0xad9a95f9, 0xd5b80194, 0x88d9c0a0, 0xa1fe3075, 0xa577e231, 0x83f81d4a, 0x3f2fa457, - 0x1efc8ce0, 0xba8a4fe8, 0xb6855dfe, 0x72b0a66e, 0xded2fbab, 0xfbe58a30, 0xfafabe1c, 0x5d71a87e, - 0x2f741ef8, 0xc1fe86fe, 0xa6bbfde5, 0x30677f0d, 0x97d11d49, 0xf7a8443d, 0x0822e506, 0xa9f4614e, - 0x011e2a94, 0x838ff88c, 0xd68c8bb7, 0xc51eef6d, 0x49ea8ab4, 0xf2c3df5b, 0xb4e0735a, 0xb0d68749 - // 0x2fe26dd4, ... - // 256 32bit words for the mantissa -- about 2464 valid decimal digits - }; - - // above value was calculated using Big<1,400> type on a 32bit platform - // and then the first 256 words were taken, - // the calculating was made by using ExpSurrounding0(1) method - // which took 1420 iterations - // (the result was compared with e taken from http://antwrp.gsfc.nasa.gov/htmltest/gifcity/e.2mil) - // (TTMATH_BUILTIN_VARIABLES_SIZE on 32bit platform should have the value 256, - // and on 64bit platform value 128 (256/2=128)) - - mantissa.SetFromTable(temp_table, sizeof(temp_table) / sizeof(int)); - exponent = -sint(man)*sint(TTMATH_BITS_PER_UINT) + 2; - info = 0; - } - - - /*! - this method sets the value of ln(2) - the natural logarithm from 2 - */ - void SetLn2() - { - static const unsigned int temp_table[] = { - 0xb17217f7, 0xd1cf79ab, 0xc9e3b398, 0x03f2f6af, 0x40f34326, 0x7298b62d, 0x8a0d175b, 0x8baafa2b, - 0xe7b87620, 0x6debac98, 0x559552fb, 0x4afa1b10, 0xed2eae35, 0xc1382144, 0x27573b29, 0x1169b825, - 0x3e96ca16, 0x224ae8c5, 0x1acbda11, 0x317c387e, 0xb9ea9bc3, 0xb136603b, 0x256fa0ec, 0x7657f74b, - 0x72ce87b1, 0x9d6548ca, 0xf5dfa6bd, 0x38303248, 0x655fa187, 0x2f20e3a2, 0xda2d97c5, 0x0f3fd5c6, - 0x07f4ca11, 0xfb5bfb90, 0x610d30f8, 0x8fe551a2, 0xee569d6d, 0xfc1efa15, 0x7d2e23de, 0x1400b396, - 0x17460775, 0xdb8990e5, 0xc943e732, 0xb479cd33, 0xcccc4e65, 0x9393514c, 0x4c1a1e0b, 0xd1d6095d, - 0x25669b33, 0x3564a337, 0x6a9c7f8a, 0x5e148e82, 0x074db601, 0x5cfe7aa3, 0x0c480a54, 0x17350d2c, - 0x955d5179, 0xb1e17b9d, 0xae313cdb, 0x6c606cb1, 0x078f735d, 0x1b2db31b, 0x5f50b518, 0x5064c18b, - 0x4d162db3, 0xb365853d, 0x7598a195, 0x1ae273ee, 0x5570b6c6, 0x8f969834, 0x96d4e6d3, 0x30af889b, - 0x44a02554, 0x731cdc8e, 0xa17293d1, 0x228a4ef9, 0x8d6f5177, 0xfbcf0755, 0x268a5c1f, 0x9538b982, - 0x61affd44, 0x6b1ca3cf, 0x5e9222b8, 0x8c66d3c5, 0x422183ed, 0xc9942109, 0x0bbb16fa, 0xf3d949f2, - 0x36e02b20, 0xcee886b9, 0x05c128d5, 0x3d0bd2f9, 0x62136319, 0x6af50302, 0x0060e499, 0x08391a0c, - 0x57339ba2, 0xbeba7d05, 0x2ac5b61c, 0xc4e9207c, 0xef2f0ce2, 0xd7373958, 0xd7622658, 0x901e646a, - 0x95184460, 0xdc4e7487, 0x156e0c29, 0x2413d5e3, 0x61c1696d, 0xd24aaebd, 0x473826fd, 0xa0c238b9, - 0x0ab111bb, 0xbd67c724, 0x972cd18b, 0xfbbd9d42, 0x6c472096, 0xe76115c0, 0x5f6f7ceb, 0xac9f45ae, - 0xcecb72f1, 0x9c38339d, 0x8f682625, 0x0dea891e, 0xf07afff3, 0xa892374e, 0x175eb4af, 0xc8daadd8, - 0x85db6ab0, 0x3a49bd0d, 0xc0b1b31d, 0x8a0e23fa, 0xc5e5767d, 0xf95884e0, 0x6425a415, 0x26fac51c, - 0x3ea8449f, 0xe8f70edd, 0x062b1a63, 0xa6c4c60c, 0x52ab3316, 0x1e238438, 0x897a39ce, 0x78b63c9f, - 0x364f5b8a, 0xef22ec2f, 0xee6e0850, 0xeca42d06, 0xfb0c75df, 0x5497e00c, 0x554b03d7, 0xd2874a00, - 0x0ca8f58d, 0x94f0341c, 0xbe2ec921, 0x56c9f949, 0xdb4a9316, 0xf281501e, 0x53daec3f, 0x64f1b783, - 0x154c6032, 0x0e2ff793, 0x33ce3573, 0xfacc5fdc, 0xf1178590, 0x3155bbd9, 0x0f023b22, 0x0224fcd8, - 0x471bf4f4, 0x45f0a88a, 0x14f0cd97, 0x6ea354bb, 0x20cdb5cc, 0xb3db2392, 0x88d58655, 0x4e2a0e8a, - 0x6fe51a8c, 0xfaa72ef2, 0xad8a43dc, 0x4212b210, 0xb779dfe4, 0x9d7307cc, 0x846532e4, 0xb9694eda, - 0xd162af05, 0x3b1751f3, 0xa3d091f6, 0x56658154, 0x12b5e8c2, 0x02461069, 0xac14b958, 0x784934b8, - 0xd6cce1da, 0xa5053701, 0x1aa4fb42, 0xb9a3def4, 0x1bda1f85, 0xef6fdbf2, 0xf2d89d2a, 0x4b183527, - 0x8fd94057, 0x89f45681, 0x2b552879, 0xa6168695, 0xc12963b0, 0xff01eaab, 0x73e5b5c1, 0x585318e7, - 0x624f14a5, 0x1a4a026b, 0x68082920, 0x57fd99b6, 0x6dc085a9, 0x8ac8d8ca, 0xf9eeeea9, 0x8a2400ca, - 0xc95f260f, 0xd10036f9, 0xf91096ac, 0x3195220a, 0x1a356b2a, 0x73b7eaad, 0xaf6d6058, 0x71ef7afb, - 0x80bc4234, 0x33562e94, 0xb12dfab4, 0x14451579, 0xdf59eae0, 0x51707062, 0x4012a829, 0x62c59cab, - 0x347f8304, 0xd889659e, 0x5a9139db, 0x14efcc30, 0x852be3e8, 0xfc99f14d, 0x1d822dd6, 0xe2f76797, - 0xe30219c8, 0xaa9ce884, 0x8a886eb3, 0xc87b7295, 0x988012e8, 0x314186ed, 0xbaf86856, 0xccd3c3b6, - 0xee94e62f, 0x110a6783, 0xd2aae89c, 0xcc3b76fc, 0x435a0ce1, 0x34c2838f, 0xd571ec6c, 0x1366a993 // last one was: 0x1366a992 - //0xcbb9ac40, ... - // (the last word 0x1366a992 was rounded up because the next one is 0xcbb9ac40 -- first bit is one 0xc..) - // 256 32bit words for the mantissa -- about 2464 valid decimal digits - }; - - // above value was calculated using Big<1,400> type on a 32bit platform - // and then the first 256 words were taken, - // the calculating was made by using LnSurrounding1(2) method - // which took 4035 iterations - // (the result was compared with ln(2) taken from http://ja0hxv.calico.jp/pai/estart.html) - // (TTMATH_BUILTIN_VARIABLES_SIZE on 32bit platform should have the value 256, - // and on 64bit platform value 128 (256/2=128)) - - mantissa.SetFromTable(temp_table, sizeof(temp_table) / sizeof(int)); - exponent = -sint(man)*sint(TTMATH_BITS_PER_UINT); - info = 0; - } - - - /*! - this method sets the value of ln(10) - the natural logarithm from 10 - - I introduced this constant especially to make the conversion ToString() - being faster. In fact the method ToString() is keeping values of logarithms - it has calculated but it must calculate the logarithm at least once. - If a program, which uses this library, is running for a long time this - would be ok, but for programs which are running shorter, for example for - CGI applications which only once are printing values, this would be much - inconvenience. Then if we're printing with base (radix) 10 and the mantissa - of our value is smaller than or equal to TTMATH_BUILTIN_VARIABLES_SIZE - we don't calculate the logarithm but take it from this constant. - */ - void SetLn10() - { - static const unsigned int temp_table[] = { - 0x935d8ddd, 0xaaa8ac16, 0xea56d62b, 0x82d30a28, 0xe28fecf9, 0xda5df90e, 0x83c61e82, 0x01f02d72, - 0x962f02d7, 0xb1a8105c, 0xcc70cbc0, 0x2c5f0d68, 0x2c622418, 0x410be2da, 0xfb8f7884, 0x02e516d6, - 0x782cf8a2, 0x8a8c911e, 0x765aa6c3, 0xb0d831fb, 0xef66ceb0, 0x4ab3c6fa, 0x5161bb49, 0xd219c7bb, - 0xca67b35b, 0x23605085, 0x8e93368d, 0x44789c4f, 0x5b08b057, 0xd5ede20f, 0x469ea58e, 0x9305e981, - 0xe2478fca, 0xad3aee98, 0x9cd5b42e, 0x6a271619, 0xa47ecb26, 0x978c5d4f, 0xdb1d28ea, 0x57d4fdc0, - 0xe40bf3cc, 0x1e14126a, 0x45765cde, 0x268339db, 0xf47fa96d, 0xeb271060, 0xaf88486e, 0xa9b7401e, - 0x3dfd3c51, 0x748e6d6e, 0x3848c8d2, 0x5faf1bca, 0xe88047f1, 0x7b0d9b50, 0xa949eaaa, 0xdf69e8a5, - 0xf77e3760, 0x4e943960, 0xe38a5700, 0xffde2db1, 0xad6bfbff, 0xd821ba0a, 0x4cb0466d, 0x61ba648e, - 0xef99c8e5, 0xf6974f36, 0x3982a78c, 0xa45ddfc8, 0x09426178, 0x19127a6e, 0x3b70fcda, 0x2d732d47, - 0xb5e4b1c8, 0xc0e5a10a, 0xaa6604a5, 0x324ec3dc, 0xbc64ea80, 0x6e198566, 0x1f1d366c, 0x20663834, - 0x4d5e843f, 0x20642b97, 0x0a62d18e, 0x478f7bd5, 0x8fcd0832, 0x4a7b32a6, 0xdef85a05, 0xeb56323a, - 0x421ef5e0, 0xb00410a0, 0xa0d9c260, 0x794a976f, 0xf6ff363d, 0xb00b6b33, 0xf42c58de, 0xf8a3c52d, - 0xed69b13d, 0xc1a03730, 0xb6524dc1, 0x8c167e86, 0x99d6d20e, 0xa2defd2b, 0xd006f8b4, 0xbe145a2a, - 0xdf3ccbb3, 0x189da49d, 0xbc1261c8, 0xb3e4daad, 0x6a36cecc, 0xb2d5ae5b, 0x89bf752f, 0xb5dfb353, - 0xff3065c4, 0x0cfceec8, 0x1be5a9a9, 0x67fddc57, 0xc4b83301, 0x006bf062, 0x4b40ed7a, 0x56c6cdcd, - 0xa2d6fe91, 0x388e9e3e, 0x48a93f5f, 0x5e3b6eb4, 0xb81c4a5b, 0x53d49ea6, 0x8e668aea, 0xba83c7f8, - 0xfb5f06c3, 0x58ac8f70, 0xfa9d8c59, 0x8c574502, 0xbaf54c96, 0xc84911f0, 0x0482d095, 0x1a0af022, - 0xabbab080, 0xec97efd3, 0x671e4e0e, 0x52f166b6, 0xcd5cd226, 0x0dc67795, 0x2e1e34a3, 0xf799677f, - 0x2c1d48f1, 0x2944b6c5, 0x2ba1307e, 0x704d67f9, 0x1c1035e4, 0x4e927c63, 0x03cf12bf, 0xe2cd2e31, - 0xf8ee4843, 0x344d51b0, 0xf37da42b, 0x9f0b0fd9, 0x134fb2d9, 0xf815e490, 0xd966283f, 0x23962766, - 0xeceab1e4, 0xf3b5fc86, 0x468127e2, 0xb606d10d, 0x3a45f4b6, 0xb776102d, 0x2fdbb420, 0x80c8fa84, - 0xd0ff9f45, 0xc58aef38, 0xdb2410fd, 0x1f1cebad, 0x733b2281, 0x52ca5f36, 0xddf29daa, 0x544334b8, - 0xdeeaf659, 0x4e462713, 0x1ed485b4, 0x6a0822e1, 0x28db471c, 0xa53938a8, 0x44c3bef7, 0xf35215c8, - 0xb382bc4e, 0x3e4c6f15, 0x6285f54c, 0x17ab408e, 0xccbf7f5e, 0xd16ab3f6, 0xced2846d, 0xf457e14f, - 0xbb45d9c5, 0x646ad497, 0xac697494, 0x145de32e, 0x93907128, 0xd263d521, 0x79efb424, 0xd64651d6, - 0xebc0c9f0, 0xbb583a44, 0xc6412c84, 0x85bb29a6, 0x4d31a2cd, 0x92954469, 0xa32b1abd, 0xf7f5202c, - 0xa4aa6c93, 0x2e9b53cf, 0x385ab136, 0x2741f356, 0x5de9c065, 0x6009901c, 0x88abbdd8, 0x74efcf73, - 0x3f761ad4, 0x35f3c083, 0xfd6b8ee0, 0x0bef11c7, 0xc552a89d, 0x58ce4a21, 0xd71e54f2, 0x4157f6c7, - 0xd4622316, 0xe98956d7, 0x450027de, 0xcbd398d8, 0x4b98b36a, 0x0724c25c, 0xdb237760, 0xe9324b68, - 0x7523e506, 0x8edad933, 0x92197f00, 0xb853a326, 0xb330c444, 0x65129296, 0x34bc0670, 0xe177806d, - 0xe338dac4, 0x5537492a, 0xe19add83, 0xcf45000f, 0x5b423bce, 0x6497d209, 0xe30e18a1, 0x3cbf0687, - 0x67973103, 0xd9485366, 0x81506bba, 0x2e93a9a4, 0x7dd59d3f, 0xf17cd746, 0x8c2075be, 0x552a4348 // last one was: 0x552a4347 - // 0xb4a638ef, ... - //(the last word 0x552a4347 was rounded up because the next one is 0xb4a638ef -- first bit is one 0xb..) - // 256 32bit words for the mantissa -- about 2464 valid digits (decimal) - }; - - // above value was calculated using Big<1,400> type on a 32bit platform - // and then the first 256 32bit words were taken, - // the calculating was made by using LnSurrounding1(10) method - // which took 22080 iterations - // (the result was compared with ln(10) taken from http://ja0hxv.calico.jp/pai/estart.html) - // (the formula used in LnSurrounding1(x) converges badly when - // the x is greater than one but in fact we can use it, only the - // number of iterations will be greater) - // (TTMATH_BUILTIN_VARIABLES_SIZE on 32bit platform should have the value 256, - // and on 64bit platform value 128 (256/2=128)) - - mantissa.SetFromTable(temp_table, sizeof(temp_table) / sizeof(int)); - exponent = -sint(man)*sint(TTMATH_BITS_PER_UINT) + 2; - info = 0; - } - - - /*! - this method sets the maximum value which can be held in this type - */ - void SetMax() - { - info = 0; - mantissa.SetMax(); - exponent.SetMax(); - - // we don't have to use 'Standardizing()' because the last bit from - // the mantissa is set - } - - - /*! - this method sets the minimum value which can be held in this type - */ - void SetMin() - { - info = 0; - - mantissa.SetMax(); - exponent.SetMax(); - SetSign(); - - // we don't have to use 'Standardizing()' because the last bit from - // the mantissa is set - } - - - /*! - testing whether there is a value zero or not - */ - bool IsZero() const - { - return IsInfoBit(TTMATH_BIG_ZERO); - } - - - /*! - this method returns true when there's the sign set - also we don't check the NaN flag - */ - bool IsSign() const - { - return IsInfoBit(TTMATH_BIG_SIGN); - } - - - /*! - this method returns true when there is not a valid number - */ - bool IsNan() const - { - return IsInfoBit(TTMATH_BIG_NAN); - } - - - - /*! - this method clears the sign - (there'll be an absolute value) - - e.g. - -1 -> 1 - 2 -> 2 - */ - void Abs() - { - ClearInfoBit(TTMATH_BIG_SIGN); - } - - - /*! - this method remains the 'sign' of the value - e.g. -2 = -1 - 0 = 0 - 10 = 1 - */ - void Sgn() - { - // we have to check the NaN flag, because the next SetOne() method would clear it - if( IsNan() ) - return; - - if( IsSign() ) - { - SetOne(); - SetSign(); - } - else - if( IsZero() ) - SetZero(); // !! is nedeed here? - else - SetOne(); - } - - - - /*! - this method sets the sign - - e.g. - -1 -> -1 - 2 -> -2 - - we do not check whether there is a zero or not, if you're using this method - you must be sure that the value is (or will be afterwards) different from zero - */ - void SetSign() - { - SetInfoBit(TTMATH_BIG_SIGN); - } - - - /*! - this method changes the sign - when there is a value of zero then the sign is not changed - - e.g. - -1 -> 1 - 2 -> -2 - */ - void ChangeSign() - { - // we don't have to check the NaN flag here - - if( IsZero() ) - return; - - if( IsSign() ) - ClearInfoBit(TTMATH_BIG_SIGN); - else - SetInfoBit(TTMATH_BIG_SIGN); - } - - - -private: - - /*! - this method does the half-to-even rounding (banker's rounding) - - if is_half is: - true - that means the rest was equal the half (0.5 decimal) - false - that means the rest was greater than a half (greater than 0.5 decimal) - - if the rest was less than a half then don't call this method - (the rounding should does nothing then) - */ - uint RoundHalfToEven(bool is_half, bool rounding_up = true) - { - uint c = 0; - - if( !is_half || mantissa.IsTheLowestBitSet() ) - { - if( rounding_up ) - { - if( mantissa.AddOne() ) - { - mantissa.Rcr(1, 1); - c = exponent.AddOne(); - } - } - else - { - #ifdef TTMATH_DEBUG - uint c_from_zero = - #endif - mantissa.SubOne(); - - // we're using rounding_up=false in Add() when the mantissas have different signs - // mantissa can be zero only when previous mantissa was equal to ss2.mantissa - // but in such a case 'last_bit_set' will not be set and consequently 'do_rounding' will be false - TTMATH_ASSERT( c_from_zero == 0 ) - } - } - - return c; - } - - - - - - /*! - * - * basic mathematic functions - * - */ - - - /*! - this method adds one to the existing value - */ - uint AddOne() - { - Big one; - - one.SetOne(); - - return Add(one); - } - - - /*! - this method subtracts one from the existing value - */ - uint SubOne() - { - Big one; - - one.SetOne(); - - return Sub(one); - } - - -private: - - - /*! - an auxiliary method for adding - */ - void AddCheckExponents( Big & ss2, - Int & exp_offset, - bool & last_bit_set, - bool & rest_zero, - bool & do_adding, - bool & do_rounding) - { - Int mantissa_size_in_bits( man * TTMATH_BITS_PER_UINT ); - - if( exp_offset == mantissa_size_in_bits ) - { - last_bit_set = ss2.mantissa.IsTheHighestBitSet(); - rest_zero = ss2.mantissa.AreFirstBitsZero(man*TTMATH_BITS_PER_UINT - 1); - do_rounding = true; // we'are only rounding - } - else - if( exp_offset < mantissa_size_in_bits ) - { - uint moved = exp_offset.ToInt(); // how many times we must move ss2.mantissa - rest_zero = true; - - if( moved > 0 ) - { - last_bit_set = static_cast( ss2.mantissa.GetBit(moved-1) ); - - if( moved > 1 ) - rest_zero = ss2.mantissa.AreFirstBitsZero(moved - 1); - - // (2) moving 'exp_offset' times - ss2.mantissa.Rcr(moved, 0); - } - - do_adding = true; - do_rounding = true; - } - - // if exp_offset is greater than mantissa_size_in_bits then we do nothing - // ss2 is too small for taking into consideration in the sum - } - - - /*! - an auxiliary method for adding - */ - uint AddMantissas( Big & ss2, - bool & last_bit_set, - bool & rest_zero) - { - uint c = 0; - - if( IsSign() == ss2.IsSign() ) - { - // values have the same signs - if( mantissa.Add(ss2.mantissa) ) - { - // we have one bit more from addition (carry) - // now rest_zero means the old rest_zero with the old last_bit_set - rest_zero = (!last_bit_set && rest_zero); - last_bit_set = mantissa.Rcr(1,1); - c += exponent.AddOne(); - } - } - else - { - // values have different signs - // there shouldn't be a carry here because - // (1) (2) guarantee that the mantissa of this - // is greater than or equal to the mantissa of the ss2 - - #ifdef TTMATH_DEBUG - uint c_temp = - #endif - mantissa.Sub(ss2.mantissa); - - TTMATH_ASSERT( c_temp == 0 ) - } - - return c; - } - - -public: - - - /*! - Addition this = this + ss2 - - it returns carry if the sum is too big - */ - uint Add(Big ss2, bool round = true, bool adding = true) - { - bool last_bit_set, rest_zero, do_adding, do_rounding, rounding_up; - Int exp_offset( exponent ); - uint c = 0; - - if( IsNan() || ss2.IsNan() ) - return CheckCarry(1); - - if( !adding ) - ss2.ChangeSign(); // subtracting - - exp_offset.Sub( ss2.exponent ); - exp_offset.Abs(); - - // (1) abs(this) will be >= abs(ss2) - if( SmallerWithoutSignThan(ss2) ) - Swap(ss2); - - if( ss2.IsZero() ) - return 0; - - last_bit_set = rest_zero = do_adding = do_rounding = false; - rounding_up = (IsSign() == ss2.IsSign()); - - AddCheckExponents(ss2, exp_offset, last_bit_set, rest_zero, do_adding, do_rounding); - - if( do_adding ) - c += AddMantissas(ss2, last_bit_set, rest_zero); - - if( !round || !last_bit_set ) - do_rounding = false; - - if( do_rounding ) - c += RoundHalfToEven(rest_zero, rounding_up); - - if( do_adding || do_rounding ) - c += Standardizing(); - - return CheckCarry(c); - } - - - /*! - Subtraction this = this - ss2 - - it returns carry if the result is too big - */ - uint Sub(const Big & ss2, bool round = true) - { - return Add(ss2, round, false); - } - - - /*! - bitwise AND - - this and ss2 must be >= 0 - return values: - 0 - ok - 1 - carry - 2 - this or ss2 was negative - */ - uint BitAnd(Big ss2) - { - if( IsNan() || ss2.IsNan() ) - return CheckCarry(1); - - if( IsSign() || ss2.IsSign() ) - { - SetNan(); - return 2; - } - - if( IsZero() ) - return 0; - - if( ss2.IsZero() ) - { - SetZero(); - return 0; - } - - Int exp_offset( exponent ); - Int mantissa_size_in_bits( man * TTMATH_BITS_PER_UINT ); - - uint c = 0; - - exp_offset.Sub( ss2.exponent ); - exp_offset.Abs(); - - // abs(this) will be >= abs(ss2) - if( SmallerWithoutSignThan(ss2) ) - Swap(ss2); - - if( exp_offset >= mantissa_size_in_bits ) - { - // the second value is too small - SetZero(); - return 0; - } - - // exp_offset < mantissa_size_in_bits, moving 'exp_offset' times - ss2.mantissa.Rcr( exp_offset.ToInt(), 0 ); - mantissa.BitAnd(ss2.mantissa); - - c += Standardizing(); - - return CheckCarry(c); - } - - - /*! - bitwise OR - - this and ss2 must be >= 0 - return values: - 0 - ok - 1 - carry - 2 - this or ss2 was negative - */ - uint BitOr(Big ss2) - { - if( IsNan() || ss2.IsNan() ) - return CheckCarry(1); - - if( IsSign() || ss2.IsSign() ) - { - SetNan(); - return 2; - } - - if( IsZero() ) - { - *this = ss2; - return 0; - } - - if( ss2.IsZero() ) - return 0; - - Int exp_offset( exponent ); - Int mantissa_size_in_bits( man * TTMATH_BITS_PER_UINT ); - - uint c = 0; - - exp_offset.Sub( ss2.exponent ); - exp_offset.Abs(); - - // abs(this) will be >= abs(ss2) - if( SmallerWithoutSignThan(ss2) ) - Swap(ss2); - - if( exp_offset >= mantissa_size_in_bits ) - // the second value is too small - return 0; - - // exp_offset < mantissa_size_in_bits, moving 'exp_offset' times - ss2.mantissa.Rcr( exp_offset.ToInt(), 0 ); - mantissa.BitOr(ss2.mantissa); - - c += Standardizing(); - - return CheckCarry(c); - } - - - /*! - bitwise XOR - - this and ss2 must be >= 0 - return values: - 0 - ok - 1 - carry - 2 - this or ss2 was negative - */ - uint BitXor(Big ss2) - { - if( IsNan() || ss2.IsNan() ) - return CheckCarry(1); - - if( IsSign() || ss2.IsSign() ) - { - SetNan(); - return 2; - } - - if( ss2.IsZero() ) - return 0; - - if( IsZero() ) - { - *this = ss2; - return 0; - } - - Int exp_offset( exponent ); - Int mantissa_size_in_bits( man * TTMATH_BITS_PER_UINT ); - - uint c = 0; - - exp_offset.Sub( ss2.exponent ); - exp_offset.Abs(); - - // abs(this) will be >= abs(ss2) - if( SmallerWithoutSignThan(ss2) ) - Swap(ss2); - - if( exp_offset >= mantissa_size_in_bits ) - // the second value is too small - return 0; - - // exp_offset < mantissa_size_in_bits, moving 'exp_offset' times - ss2.mantissa.Rcr( exp_offset.ToInt(), 0 ); - mantissa.BitXor(ss2.mantissa); - - c += Standardizing(); - - return CheckCarry(c); - } - - - - /*! - Multiplication this = this * ss2 (ss2 is uint) - - ss2 without a sign - */ - uint MulUInt(uint ss2) - { - UInt man_result; - uint i,c = 0; - - if( IsNan() ) - return 1; - - if( IsZero() ) - return 0; - - if( ss2 == 0 ) - { - SetZero(); - return 0; - } - - // man_result = mantissa * ss2.mantissa - mantissa.MulInt(ss2, man_result); - - sint bit = UInt::FindLeadingBitInWord(man_result.table[man]); // man - last word - - if( bit!=-1 && uint(bit) > (TTMATH_BITS_PER_UINT/2) ) - { - // 'i' will be from 0 to TTMATH_BITS_PER_UINT - i = man_result.CompensationToLeft(); - c = exponent.Add( TTMATH_BITS_PER_UINT - i ); - - for(i=0 ; i0 && (tab[len-1] & TTMATH_UINT_HIGHEST_BIT)!=0 ) - - for(i=0 ; i & ss2, bool round = true) - { - TTMATH_REFERENCE_ASSERT( ss2 ) - - UInt man_result; - uint c = 0; - uint i; - - if( IsNan() || ss2.IsNan() ) - return CheckCarry(1); - - if( IsZero() ) - return 0; - - if( ss2.IsZero() ) - { - SetZero(); - return 0; - } - - // man_result = mantissa * ss2.mantissa - mantissa.MulBig(ss2.mantissa, man_result); - - // 'i' will be from 0 to man*TTMATH_BITS_PER_UINT - // because mantissa and ss2.mantissa are standardized - // (the highest bit in man_result is set to 1 or - // if there is a zero value in man_result the method CompensationToLeft() - // returns 0 but we'll correct this at the end in Standardizing() method) - i = man_result.CompensationToLeft(); - uint exp_add = man * TTMATH_BITS_PER_UINT - i; - - if( exp_add ) - c += exponent.Add( exp_add ); - - c += exponent.Add( ss2.exponent ); - - for(i=0 ; i & ss2, bool round = true) - { - if( this == &ss2 ) - { - Big copy_ss2(ss2); - return MulRef(copy_ss2, round); - } - else - { - return MulRef(ss2, round); - } - } - - -private: - - /*! - division this = this / ss2 - - return value: - 0 - ok - 1 - carry (in a division carry can be as well) - 2 - improper argument (ss2 is zero) - */ - uint DivRef(const Big & ss2, bool round = true) - { - TTMATH_REFERENCE_ASSERT( ss2 ) - - UInt man1; - UInt man2; - uint i,c = 0; - - if( IsNan() || ss2.IsNan() ) - return CheckCarry(1); - - if( ss2.IsZero() ) - { - SetNan(); - return 2; - } - - if( IsZero() ) - return 0; - - // !! this two loops can be joined together - - for(i=0 ; i & ss2, bool round = true) - { - if( this == &ss2 ) - { - Big copy_ss2(ss2); - return DivRef(copy_ss2, round); - } - else - { - return DivRef(ss2, round); - } - } - - -private: - - /*! - the remainder from a division - */ - uint ModRef(const Big & ss2) - { - TTMATH_REFERENCE_ASSERT( ss2 ) - - uint c = 0; - - if( IsNan() || ss2.IsNan() ) - return CheckCarry(1); - - if( ss2.IsZero() ) - { - SetNan(); - return 2; - } - - if( !SmallerWithoutSignThan(ss2) ) - { - Big temp(*this); - - c = temp.Div(ss2); - temp.SkipFraction(); - c += temp.Mul(ss2); - c += Sub(temp); - - if( !SmallerWithoutSignThan( ss2 ) ) - c += 1; - } - - return CheckCarry(c); - } - - -public: - - /*! - the remainder from a division - - e.g. - 12.6 mod 3 = 0.6 because 12.6 = 3*4 + 0.6 - -12.6 mod 3 = -0.6 bacause -12.6 = 3*(-4) + (-0.6) - 12.6 mod -3 = 0.6 - -12.6 mod -3 = -0.6 - - it means: - in other words: this(old) = ss2 * q + this(new) - - return value: - 0 - ok - 1 - carry - 2 - improper argument (ss2 is zero) - */ - uint Mod(const Big & ss2) - { - if( this == &ss2 ) - { - Big copy_ss2(ss2); - return ModRef(copy_ss2); - } - else - { - return ModRef(ss2); - } - } - - - /*! - this method returns: 'this' mod 2 - (either zero or one) - - this method is much faster than using Mod( object_with_value_two ) - */ - uint Mod2() const - { - if( exponent>sint(0) || exponent<=-sint(man*TTMATH_BITS_PER_UINT) ) - return 0; - - sint exp_int = exponent.ToInt(); - // 'exp_int' is negative (or zero), we set it as positive - exp_int = -exp_int; - - return mantissa.GetBit(exp_int); - } - - - /*! - power this = this ^ pow - (pow without a sign) - - binary algorithm (r-to-l) - - return values: - 0 - ok - 1 - carry - 2 - incorrect arguments (0^0) - */ - template - uint Pow(UInt pow) - { - if( IsNan() ) - return 1; - - if( IsZero() ) - { - if( pow.IsZero() ) - { - // we don't define zero^zero - SetNan(); - return 2; - } - - // 0^(+something) is zero - return 0; - } - - Big start(*this); - Big result; - result.SetOne(); - uint c = 0; - - while( !c ) - { - if( pow.table[0] & 1 ) - c += result.Mul(start); - - pow.Rcr(1); - - if( pow.IsZero() ) - break; - - c += start.Mul(start); - } - - *this = result; - - return CheckCarry(c); - } - - - /*! - power this = this ^ pow - p can be negative - - return values: - 0 - ok - 1 - carry - 2 - incorrect arguments 0^0 or 0^(-something) - */ - template - uint Pow(Int pow) - { - if( IsNan() ) - return 1; - - if( !pow.IsSign() ) - return Pow( UInt(pow) ); - - if( IsZero() ) - { - // if 'p' is negative then - // 'this' must be different from zero - SetNan(); - return 2; - } - - uint c = pow.ChangeSign(); - - Big t(*this); - c += t.Pow( UInt(pow) ); // here can only be a carry (return:1) - - SetOne(); - c += Div(t); - - return CheckCarry(c); - } - - - /*! - power this = this ^ abs([pow]) - pow is treated as a value without a sign and without a fraction - if pow has a sign then the method pow.Abs() is used - if pow has a fraction the fraction is skipped (not used in calculation) - - return values: - 0 - ok - 1 - carry - 2 - incorrect arguments (0^0) - */ - uint PowUInt(Big pow) - { - if( IsNan() || pow.IsNan() ) - return CheckCarry(1); - - if( IsZero() ) - { - if( pow.IsZero() ) - { - SetNan(); - return 2; - } - - // 0^(+something) is zero - return 0; - } - - if( pow.IsSign() ) - pow.Abs(); - - Big start(*this); - Big result; - Big one; - uint c = 0; - one.SetOne(); - result = one; - - while( !c ) - { - if( pow.Mod2() ) - c += result.Mul(start); - - c += pow.exponent.SubOne(); - - if( pow < one ) - break; - - c += start.Mul(start); - } - - *this = result; - - return CheckCarry(c); - } - - - /*! - power this = this ^ [pow] - pow is treated as a value without a fraction - pow can be negative - - return values: - 0 - ok - 1 - carry - 2 - incorrect arguments 0^0 or 0^(-something) - */ - uint PowInt(const Big & pow) - { - if( IsNan() || pow.IsNan() ) - return CheckCarry(1); - - if( !pow.IsSign() ) - return PowUInt(pow); - - if( IsZero() ) - { - // if 'pow' is negative then - // 'this' must be different from zero - SetNan(); - return 2; - } - - Big temp(*this); - uint c = temp.PowUInt(pow); // here can only be a carry (result:1) - - SetOne(); - c += Div(temp); - - return CheckCarry(c); - } - - - /*! - power this = this ^ pow - this must be greater than zero (this > 0) - pow can be negative and with fraction - - return values: - 0 - ok - 1 - carry - 2 - incorrect argument ('this' <= 0) - */ - uint PowFrac(const Big & pow) - { - if( IsNan() || pow.IsNan() ) - return CheckCarry(1); - - Big temp; - uint c = temp.Ln(*this); - - if( c != 0 ) // can be 2 from Ln() - { - SetNan(); - return c; - } - - c += temp.Mul(pow); - c += Exp(temp); - - return CheckCarry(c); - } - - - /*! - power this = this ^ pow - pow can be negative and with fraction - - return values: - 0 - ok - 1 - carry - 2 - incorrect argument ('this' or 'pow') - */ - uint Pow(const Big & pow) - { - if( IsNan() || pow.IsNan() ) - return CheckCarry(1); - - if( IsZero() ) - { - // 0^pow will be 0 only for pow>0 - if( pow.IsSign() || pow.IsZero() ) - { - SetNan(); - return 2; - } - - SetZero(); - - return 0; - } - - if( pow.exponent>-sint(man*TTMATH_BITS_PER_UINT) && pow.exponent<=0 ) - { - if( pow.IsInteger() ) - return PowInt( pow ); - } - - return PowFrac(pow); - } - - - /*! - this function calculates the square root - e.g. let this=9 then this.Sqrt() gives 3 - - return: 0 - ok - 1 - carry - 2 - improper argument (this<0 or NaN) - */ - uint Sqrt() - { - if( IsNan() || IsSign() ) - { - SetNan(); - return 2; - } - - if( IsZero() ) - return 0; - - Big old(*this); - Big ln; - uint c = 0; - - // we're using the formula: sqrt(x) = e ^ (ln(x) / 2) - c += ln.Ln(*this); - c += ln.exponent.SubOne(); // ln = ln / 2 - c += Exp(ln); - - // above formula doesn't give accurate results for some integers - // e.g. Sqrt(81) would not be 9 but a value very closed to 9 - // we're rounding the result, calculating result*result and comparing - // with the old value, if they are equal then the result is an integer too - - if( !c && old.IsInteger() && !IsInteger() ) - { - Big temp(*this); - c += temp.Round(); - - Big temp2(temp); - c += temp.Mul(temp2); - - if( temp == old ) - *this = temp2; - } - - return CheckCarry(c); - } - - -private: - -#ifdef TTMATH_CONSTANTSGENERATOR -public: -#endif - - /*! - Exponent this = exp(x) = e^x where x is in (-1,1) - - we're using the formula exp(x) = 1 + (x)/(1!) + (x^2)/(2!) + (x^3)/(3!) + ... - */ - void ExpSurrounding0(const Big & x, uint * steps = 0) - { - TTMATH_REFERENCE_ASSERT( x ) - - Big denominator, denominator_i; - Big one, old_value, next_part; - Big numerator = x; - - SetOne(); - one.SetOne(); - denominator.SetOne(); - denominator_i.SetOne(); - - uint i; - old_value = *this; - - // we begin from 1 in order to not test at the beginning - #ifdef TTMATH_CONSTANTSGENERATOR - for(i=1 ; true ; ++i) - #else - for(i=1 ; i<=TTMATH_ARITHMETIC_MAX_LOOP ; ++i) - #endif - { - bool testing = ((i & 3) == 0); // it means '(i % 4) == 0' - - next_part = numerator; - - if( next_part.Div( denominator ) ) - // if there is a carry here we only break the loop - // however the result we return as good - // it means there are too many parts of the formula - break; - - // there shouldn't be a carry here - Add( next_part ); - - if( testing ) - { - if( old_value == *this ) - // we've added next few parts of the formula but the result - // is still the same then we break the loop - break; - else - old_value = *this; - } - - // we set the denominator and the numerator for a next part of the formula - if( denominator_i.Add(one) ) - // if there is a carry here the result we return as good - break; - - if( denominator.Mul(denominator_i) ) - break; - - if( numerator.Mul(x) ) - break; - } - - if( steps ) - *steps = i; - } - -public: - - - /*! - Exponent this = exp(x) = e^x - - we're using the fact that our value is stored in form of: - x = mantissa * 2^exponent - then - e^x = e^(mantissa* 2^exponent) or - e^x = (e^mantissa)^(2^exponent) - - 'Exp' returns a carry if we can't count the result ('x' is too big) - */ - uint Exp(const Big & x) - { - uint c = 0; - - if( x.IsNan() ) - return CheckCarry(1); - - if( x.IsZero() ) - { - SetOne(); - return 0; - } - - // m will be the value of the mantissa in range (-1,1) - Big m(x); - m.exponent = -sint(man*TTMATH_BITS_PER_UINT); - - // 'e_' will be the value of '2^exponent' - // e_.mantissa.table[man-1] = TTMATH_UINT_HIGHEST_BIT; and - // e_.exponent.Add(1) mean: - // e_.mantissa.table[0] = 1; - // e_.Standardizing(); - // e_.exponent.Add(man*TTMATH_BITS_PER_UINT) - // (we must add 'man*TTMATH_BITS_PER_UINT' because we've taken it from the mantissa) - Big e_(x); - e_.mantissa.SetZero(); - e_.mantissa.table[man-1] = TTMATH_UINT_HIGHEST_BIT; - c += e_.exponent.Add(1); - e_.Abs(); - - /* - now we've got: - m - the value of the mantissa in range (-1,1) - e_ - 2^exponent - - e_ can be as: - ...2^-2, 2^-1, 2^0, 2^1, 2^2 ... - ...1/4 , 1/2 , 1 , 2 , 4 ... - - above one e_ is integer - - if e_ is greater than 1 we calculate the exponent as: - e^(m * e_) = ExpSurrounding0(m) ^ e_ - and if e_ is smaller or equal one we calculate the exponent in this way: - e^(m * e_) = ExpSurrounding0(m* e_) - because if e_ is smaller or equal 1 then the product of m*e_ is smaller or equal m - */ - - if( e_ <= 1 ) - { - m.Mul(e_); - ExpSurrounding0(m); - } - else - { - ExpSurrounding0(m); - c += PowUInt(e_); - } - - return CheckCarry(c); - } - - - - -private: - -#ifdef TTMATH_CONSTANTSGENERATOR -public: -#endif - - /*! - Natural logarithm this = ln(x) where x in range <1,2) - - we're using the formula: - ln x = 2 * [ (x-1)/(x+1) + (1/3)((x-1)/(x+1))^3 + (1/5)((x-1)/(x+1))^5 + ... ] - */ - void LnSurrounding1(const Big & x, uint * steps = 0) - { - Big old_value, next_part, denominator, one, two, x1(x), x2(x); - - one.SetOne(); - - if( x == one ) - { - // LnSurrounding1(1) is 0 - SetZero(); - return; - } - - two = 2; - - x1.Sub(one); - x2.Add(one); - - x1.Div(x2); - x2 = x1; - x2.Mul(x1); - - denominator.SetOne(); - SetZero(); - - old_value = *this; - uint i; - - - #ifdef TTMATH_CONSTANTSGENERATOR - for(i=1 ; true ; ++i) - #else - // we begin from 1 in order to not test at the beginning - for(i=1 ; i<=TTMATH_ARITHMETIC_MAX_LOOP ; ++i) - #endif - { - bool testing = ((i & 3) == 0); // it means '(i % 4) == 0' - - next_part = x1; - - if( next_part.Div(denominator) ) - // if there is a carry here we only break the loop - // however the result we return as good - // it means there are too many parts of the formula - break; - - // there shouldn't be a carry here - Add(next_part); - - if( testing ) - { - if( old_value == *this ) - // we've added next (step_test) parts of the formula but the result - // is still the same then we break the loop - break; - else - old_value = *this; - } - - if( x1.Mul(x2) ) - // if there is a carry here the result we return as good - break; - - if( denominator.Add(two) ) - break; - } - - // this = this * 2 - // ( there can't be a carry here because we calculate the logarithm between <1,2) ) - exponent.AddOne(); - - if( steps ) - *steps = i; - } - - - - -public: - - - /*! - Natural logarithm this = ln(x) - (a logarithm with the base equal 'e') - - we're using the fact that our value is stored in form of: - x = mantissa * 2^exponent - then - ln(x) = ln (mantissa * 2^exponent) = ln (mantissa) + (exponent * ln (2)) - - the mantissa we'll show as a value from range <1,2) because the logarithm - is decreasing too fast when 'x' is going to 0 - - return values: - 0 - ok - 1 - overflow (carry) - 2 - incorrect argument (x<=0) - */ - uint Ln(const Big & x) - { - if( x.IsNan() ) - return CheckCarry(1); - - if( x.IsSign() || x.IsZero() ) - { - SetNan(); - return 2; - } - - Big exponent_temp; - exponent_temp.FromInt( x.exponent ); - - // m will be the value of the mantissa in range <1,2) - Big m(x); - m.exponent = -sint(man*TTMATH_BITS_PER_UINT - 1); - - // we must add 'man*TTMATH_BITS_PER_UINT-1' because we've taken it from the mantissa - uint c = exponent_temp.Add(man*TTMATH_BITS_PER_UINT-1); - - LnSurrounding1(m); - - Big ln2; - ln2.SetLn2(); - c += exponent_temp.Mul(ln2); - c += Add(exponent_temp); - - return CheckCarry(c); - } - - - /*! - Logarithm from 'x' with a 'base' - - we're using the formula: - Log(x) with 'base' = ln(x) / ln(base) - - return values: - 0 - ok - 1 - overflow - 2 - incorrect argument (x<=0) - 3 - incorrect base (a<=0 lub a=1) - */ - uint Log(const Big & x, const Big & base) - { - if( x.IsNan() || base.IsNan() ) - return CheckCarry(1); - - if( x.IsSign() || x.IsZero() ) - { - SetNan(); - return 2; - } - - Big denominator;; - denominator.SetOne(); - - if( base.IsSign() || base.IsZero() || base==denominator ) - { - SetNan(); - return 3; - } - - if( x == denominator ) // (this is: if x == 1) - { - // log(1) is 0 - SetZero(); - return 0; - } - - // another error values we've tested at the beginning - // there can only be a carry - uint c = Ln(x); - - c += denominator.Ln(base); - c += Div(denominator); - - return CheckCarry(c); - } - - - - - /*! - * - * converting methods - * - */ - - - /*! - converting from another type of a Big object - */ - template - uint FromBig(const Big & another) - { - info = another.info; - - if( IsNan() ) - return 1; - - if( exponent.FromInt(another.exponent) ) - { - SetNan(); - return 1; - } - - uint man_len_min = (man < another_man)? man : another_man; - uint i; - uint c = 0; - - for( i = 0 ; i another_man )' and 'if( man < another_man )' and there'll be no such situation here - #ifdef _MSC_VER - #pragma warning( disable: 4307 ) - #endif - - if( man > another_man ) - { - uint man_diff = (man - another_man) * TTMATH_BITS_PER_UINT; - c += exponent.SubInt(man_diff, 0); - } - else - if( man < another_man ) - { - uint man_diff = (another_man - man) * TTMATH_BITS_PER_UINT; - c += exponent.AddInt(man_diff, 0); - } - - #ifdef _MSC_VER - #pragma warning( default: 4307 ) - #endif - - // mantissa doesn't have to be standardized (either the highest bit is set or all bits are equal zero) - CorrectZero(); - - return CheckCarry(c); - } - - -private: - - /*! - an auxiliary method for converting 'this' into 'result' - if the value is too big this method returns a carry (1) - */ - uint ToUIntOrInt(uint & result) const - { - result = 0; - - if( IsZero() ) - return 0; - - sint maxbit = -sint(man*TTMATH_BITS_PER_UINT); - - if( exponent > maxbit + sint(TTMATH_BITS_PER_UINT) ) - // if exponent > (maxbit + sint(TTMATH_BITS_PER_UINT)) the value can't be passed - // into the 'sint' type (it's too big) - return 1; - - if( exponent <= maxbit ) - // our value is from the range of (-1,1) and we return zero - return 0; - - // exponent is from a range of (maxbit, maxbit + sint(TTMATH_BITS_PER_UINT) > - // and [maxbit + sint(TTMATH_BITS_PER_UINT] <= 0 - sint how_many_bits = exponent.ToInt(); - - // how_many_bits is negative, we'll make it positive - how_many_bits = -how_many_bits; - - result = (mantissa.table[man-1] >> (how_many_bits % TTMATH_BITS_PER_UINT)); - - return 0; - } - - -public: - - /*! - this method converts 'this' into uint - */ - uint ToUInt() const - { - uint result; - - ToUInt(result); - - return result; - } - - - /*! - this method converts 'this' into 'result' - - if the value is too big this method returns a carry (1) - */ - uint ToUInt(uint & result) const - { - if( ToUIntOrInt(result) ) - return 1; - - if( IsSign() ) - return 1; - - return 0; - } - - - /*! - this method converts 'this' into sint - */ - sint ToInt() const - { - sint result; - - ToInt(result); - - return result; - } - - - /*! - this method converts 'this' into 'result' - - if the value is too big this method returns a carry (1) - */ - uint ToInt(uint & result) const - { - return ToUInt(result); - } - - - /*! - this method converts 'this' into 'result' - - if the value is too big this method returns a carry (1) - */ - uint ToInt(sint & result) const - { - uint result_uint; - - uint c = ToUIntOrInt(result_uint); - result = sint(result_uint); - - if( c ) - return 1; - - uint mask = 0; - - if( IsSign() ) - { - mask = TTMATH_UINT_MAX_VALUE; - result = -result; - } - - return ((result & TTMATH_UINT_HIGHEST_BIT) == (mask & TTMATH_UINT_HIGHEST_BIT)) ? 0 : 1; - } - - -private: - - /*! - an auxiliary method for converting 'this' into 'result' - - if the value is too big this method returns a carry (1) - */ - template - uint ToUIntOrInt(UInt & result) const - { - result.SetZero(); - - if( IsZero() ) - return 0; - - sint maxbit = -sint(man*TTMATH_BITS_PER_UINT); - - if( exponent > maxbit + sint(int_size*TTMATH_BITS_PER_UINT) ) - // if exponent > (maxbit + sint(int_size*TTMATH_BITS_PER_UINT)) the value can't be passed - // into the 'UInt' type (it's too big) - return 1; - - if( exponent <= maxbit ) - // our value is from range (-1,1) and we return zero - return 0; - - sint how_many_bits = exponent.ToInt(); - - if( how_many_bits < 0 ) - { - how_many_bits = -how_many_bits; - uint index = how_many_bits / TTMATH_BITS_PER_UINT; - - UInt mantissa_temp(mantissa); - mantissa_temp.Rcr( how_many_bits % TTMATH_BITS_PER_UINT, 0 ); - - for(uint i=index, a=0 ; i maxbit + sint(int_size*TTMATH_BITS_PER_UINT) )" - // but gcc doesn't understand our types - exponent is Int<> - - for(uint i=0 ; i - uint ToUInt(UInt & result) const - { - uint c = ToUIntOrInt(result); - - if( c ) - return 1; - - if( IsSign() ) - return 1; - - return 0; - } - - - /*! - this method converts 'this' into 'result' - - if the value is too big this method returns a carry (1) - */ - template - uint ToInt(UInt & result) const - { - return ToUInt(result); - } - - - /*! - this method converts 'this' into 'result' - - if the value is too big this method returns a carry (1) - */ - template - uint ToInt(Int & result) const - { - uint c = ToUIntOrInt(result); - - if( c ) - return 1; - - uint mask = 0; - - if( IsSign() ) - { - result.ChangeSign(); - mask = TTMATH_UINT_MAX_VALUE; - } - - return ((result.table[int_size-1] & TTMATH_UINT_HIGHEST_BIT) == (mask & TTMATH_UINT_HIGHEST_BIT))? 0 : 1; - } - - - /*! - a method for converting 'uint' to this class - */ - uint FromUInt(uint value) - { - if( value == 0 ) - { - SetZero(); - return 0; - } - - info = 0; - - for(uint i=0 ; i> 20; - uint m1 = ((temp.u[1] & 0xFFFFFu) << 11) | (temp.u[0] >> 21); - uint m2 = temp.u[0] << 11; - - if( e == 2047 ) - { - // If E=2047 and F is nonzero, then V=NaN ("Not a number") - // If E=2047 and F is zero and S is 1, then V=-Infinity - // If E=2047 and F is zero and S is 0, then V=Infinity - - // we do not support -Infinity and +Infinity - // we assume that there is always NaN - - SetNan(); - } - else - if( e > 0 ) - { - // If 0 m; - m.table[1] = m1; - m.table[0] = m2; - uint moved = m.CompensationToLeft(); - - FromDouble_SetExpAndMan((temp.u[1] & 0x80000000u) != 0, - e - 1022 - man*TTMATH_BITS_PER_UINT + 1 - moved, 0, - m.table[1], m.table[2]); - } - else - { - // If E=0 and F is zero and S is 1, then V=-0 - // If E=0 and F is zero and S is 0, then V=0 - - // we do not support -0 or 0, only is one 0 - SetZero(); - } - } - - return 0; // never be a carry - } - - -private: - - void FromDouble_SetExpAndMan(bool is_sign, int e, uint mhighest, uint m1, uint m2) - { - exponent = e; - - if( man > 1 ) - { - mantissa.table[man-1] = m1 | mhighest; - mantissa.table[sint(man-2)] = m2; - // although man>1 we're using casting into sint - // to get rid from a warning which generates Microsoft Visual: - // warning C4307: '*' : integral constant overflow - - for(uint i=0 ; i> 52; - uint m = (temp.u & 0xFFFFFFFFFFFFFul) << 11; - - if( e == 2047 ) - { - // If E=2047 and F is nonzero, then V=NaN ("Not a number") - // If E=2047 and F is zero and S is 1, then V=-Infinity - // If E=2047 and F is zero and S is 0, then V=Infinity - - // we do not support -Infinity and +Infinity - // we assume that there is always NaN - - SetNan(); - } - else - if( e > 0 ) - { - // If 0> 23) & 0xff) == 0xff ) - { - if( (temp.u & 0x7FFFFF) == 0 ) - return true; // +/- infinity - } - - return false; - } - - -public: - - /*! - this method converts from this class into the 'float' - - if the value is too big: - 'result' will be +/-infinity (depending on the sign) - if the value is too small: - 'result' will be 0 - */ - float ToFloat() const - { - float result; - - ToFloat(result); - - return result; - } - - - /*! - this method converts from this class into the 'float' - - if the value is too big: - 'result' will be +/-infinity (depending on the sign) - and the method returns 1 - if the value is too small: - 'result' will be 0 - and the method returns 1 - */ - uint ToFloat(float & result) const - { - double result_double; - - uint c = ToDouble(result_double); - result = float(result_double); - - if( result == -0.0f ) - result = 0.0f; - - if( c ) - return 1; - - // although the result_double can have a correct value - // but after converting to float there can be infinity - - if( IsInf(result) ) - return 1; - - if( result == 0.0f && result_double != 0.0 ) - // result_double was too small for float - return 1; - - return 0; - } - - - /*! - this method converts from this class into the 'double' - - if the value is too big: - 'result' will be +/-infinity (depending on the sign) - and the method returns 1 - if the value is too small: - 'result' will be 0 - and the method returns 1 - */ - uint ToDouble(double & result) const - { - if( IsZero() ) - { - result = 0.0; - return 0; - } - - if( IsNan() ) - { - result = ToDouble_SetDouble( false, 2047, 0, false, true); - - return 0; - } - - sint e_correction = sint(man*TTMATH_BITS_PER_UINT) - 1; - - if( exponent >= 1024 - e_correction ) - { - // +/- infinity - result = ToDouble_SetDouble( IsSign(), 2047, 0, true); - - return 1; - } - else - if( exponent <= -1023 - 52 - e_correction ) - { - // too small value - we assume that there'll be a zero - result = 0; - - // and return a carry - return 1; - } - - sint e = exponent.ToInt() + e_correction; - - if( e <= -1023 ) - { - // -1023-52 < e <= -1023 (unnormalized value) - result = ToDouble_SetDouble( IsSign(), 0, -(e + 1023)); - } - else - { - // -1023 < e < 1024 - result = ToDouble_SetDouble( IsSign(), e + 1023, -1); - } - - return 0; - } - -private: - -#ifdef TTMATH_PLATFORM32 - - // 32bit platforms - double ToDouble_SetDouble(bool is_sign, uint e, sint move, bool infinity = false, bool nan = false) const - { - union - { - double d; - uint u[2]; // two 32bit words - } temp; - - temp.u[0] = temp.u[1] = 0; - - if( is_sign ) - temp.u[1] |= 0x80000000u; - - temp.u[1] |= (e << 20) & 0x7FF00000u; - - if( nan ) - { - temp.u[0] |= 1; - return temp.d; - } - - if( infinity ) - return temp.d; - - UInt<2> m; - m.table[1] = mantissa.table[man-1]; - m.table[0] = ( man > 1 ) ? mantissa.table[sint(man-2)] : 0; - // although man>1 we're using casting into sint - // to get rid from a warning which generates Microsoft Visual: - // warning C4307: '*' : integral constant overflow - - m.Rcr( 12 + move ); - m.table[1] &= 0xFFFFFu; // cutting the 20 bit (when 'move' was -1) - - temp.u[1] |= m.table[1]; - temp.u[0] |= m.table[0]; - - return temp.d; - } - -#else - - // 64bit platforms - double ToDouble_SetDouble(bool is_sign, uint e, sint move, bool infinity = false, bool nan = false) const - { - union - { - double d; - uint u; // 64bit word - } temp; - - temp.u = 0; - - if( is_sign ) - temp.u |= 0x8000000000000000ul; - - temp.u |= (e << 52) & 0x7FF0000000000000ul; - - if( nan ) - { - temp.u |= 1; - return temp.d; - } - - if( infinity ) - return temp.d; - - uint m = mantissa.table[man-1]; - - m >>= ( 12 + move ); - m &= 0xFFFFFFFFFFFFFul; // cutting the 20 bit (when 'move' was -1) - temp.u |= m; - - return temp.d; - } - -#endif - - -public: - - - /*! - an operator= for converting 'sint' to this class - */ - Big & operator=(sint value) - { - FromInt(value); - - return *this; - } - - - /*! - an operator= for converting 'uint' to this class - */ - Big & operator=(uint value) - { - FromUInt(value); - - return *this; - } - - - /*! - an operator= for converting 'float' to this class - */ - Big & operator=(float value) - { - FromFloat(value); - - return *this; - } - - - /*! - an operator= for converting 'double' to this class - */ - Big & operator=(double value) - { - FromDouble(value); - - return *this; - } - - - /*! - a constructor for converting 'sint' to this class - */ - Big(sint value) - { - FromInt(value); - } - - /*! - a constructor for converting 'uint' to this class - */ - Big(uint value) - { - FromUInt(value); - } - - - /*! - a constructor for converting 'double' to this class - */ - Big(double value) - { - FromDouble(value); - } - - - /*! - a constructor for converting 'float' to this class - */ - Big(float value) - { - FromFloat(value); - } - - -#ifdef TTMATH_PLATFORM32 - - /*! - this method converts 'this' into 'result' (64 bit unsigned integer) - if the value is too big this method returns a carry (1) - */ - uint ToUInt(ulint & result) const - { - UInt<2> temp; // 64 bits container - - uint c = ToUInt(temp); - temp.ToUInt(result); - - return c; - } - - - /*! - this method converts 'this' into 'result' (64 bit unsigned integer) - if the value is too big this method returns a carry (1) - */ - uint ToInt(ulint & result) const - { - return ToUInt(result); - } - - - /*! - this method converts 'this' into 'result' (64 bit unsigned integer) - if the value is too big this method returns a carry (1) - */ - uint ToInt(slint & result) const - { - Int<2> temp; // 64 bits container - - uint c = ToInt(temp); - temp.ToInt(result); - - return c; - } - - - /*! - a method for converting 'ulint' (64bit unsigned integer) to this class - */ - uint FromUInt(ulint value) - { - if( value == 0 ) - { - SetZero(); - return 0; - } - - info = 0; - - if( man == 1 ) - { - sint bit = mantissa.FindLeadingBitInWord(uint(value >> TTMATH_BITS_PER_UINT)); - - if( bit != -1 ) - { - // the highest word from value is different from zero - bit += 1; - value >>= bit; - exponent = bit; - } - else - { - exponent.SetZero(); - } - - mantissa.table[0] = uint(value); - } - else - { - #ifdef _MSC_VER - //warning C4307: '*' : integral constant overflow - #pragma warning( disable: 4307 ) - #endif - - // man >= 2 - mantissa.table[man-1] = uint(value >> TTMATH_BITS_PER_UINT); - mantissa.table[man-2] = uint(value); - - #ifdef _MSC_VER - //warning C4307: '*' : integral constant overflow - #pragma warning( default: 4307 ) - #endif - - exponent = -sint(man-2) * sint(TTMATH_BITS_PER_UINT); - - for(uint i=0 ; i & operator=(ulint value) - { - FromUInt(value); - - return *this; - } - - - /*! - a constructor for converting 'slint' (64bit signed integer) to this class - */ - Big(slint value) - { - FromInt(value); - } - - - /*! - an operator for converting 'slint' (64bit signed integer) to this class - */ - Big & operator=(slint value) - { - FromInt(value); - - return *this; - } - -#endif - - - -#ifdef TTMATH_PLATFORM64 - - - /*! - this method converts 'this' into 'result' (32 bit unsigned integer) - ***this method is created only on a 64bit platform*** - if the value is too big this method returns a carry (1) - */ - uint ToUInt(unsigned int & result) const - { - uint result_uint; - - uint c = ToUInt(result_uint); - result = (unsigned int)result_uint; - - if( c || result_uint != uint(result) ) - return 1; - - return 0; - } - - - /*! - this method converts 'this' into 'result' (32 bit unsigned integer) - ***this method is created only on a 64bit platform*** - if the value is too big this method returns a carry (1) - */ - uint ToInt(unsigned int & result) const - { - return ToUInt(result); - } - - - /*! - this method converts 'this' into 'result' (32 bit signed integer) - ***this method is created only on a 64bit platform*** - if the value is too big this method returns a carry (1) - */ - uint ToInt(signed int & result) const - { - sint result_sint; - - uint c = ToInt(result_sint); - result = (signed int)result_sint; - - if( c || result_sint != sint(result) ) - return 1; - - return 0; - } - - - /* - this method converts 32 bit unsigned int to this class - ***this method is created only on a 64bit platform*** - */ - uint FromUInt(unsigned int value) - { - return FromUInt(uint(value)); - } - - - /* - this method converts 32 bit unsigned int to this class - ***this method is created only on a 64bit platform*** - */ - uint FromInt(unsigned int value) - { - return FromUInt(uint(value)); - } - - - /* - this method converts 32 bit signed int to this class - ***this method is created only on a 64bit platform*** - */ - uint FromInt(signed int value) - { - return FromInt(sint(value)); - } - - - /*! - an operator= for converting 32 bit unsigned int to this class - ***this operator is created only on a 64bit platform*** - */ - Big & operator=(unsigned int value) - { - FromUInt(value); - - return *this; - } - - - /*! - a constructor for converting 32 bit unsigned int to this class - ***this constructor is created only on a 64bit platform*** - */ - Big(unsigned int value) - { - FromUInt(value); - } - - - /*! - an operator for converting 32 bit signed int to this class - ***this operator is created only on a 64bit platform*** - */ - Big & operator=(signed int value) - { - FromInt(value); - - return *this; - } - - - /*! - a constructor for converting 32 bit signed int to this class - ***this constructor is created only on a 64bit platform*** - */ - Big(signed int value) - { - FromInt(value); - } - -#endif - - -private: - - /*! - an auxiliary method for converting from UInt and Int - - we assume that there'll never be a carry here - (we have an exponent and the value in Big can be bigger than - that one from the UInt) - */ - template - uint FromUIntOrInt(const UInt & value, sint compensation) - { - uint minimum_size = (int_size < man)? int_size : man; - exponent = (sint(int_size)-sint(man)) * sint(TTMATH_BITS_PER_UINT) - compensation; - - // copying the highest words - uint i; - for(i=1 ; i<=minimum_size ; ++i) - mantissa.table[man-i] = value.table[int_size-i]; - - // setting the rest of mantissa.table into zero (if some has left) - for( ; i<=man ; ++i) - mantissa.table[man-i] = 0; - - // the highest bit is either one or zero (when the whole mantissa is zero) - // we can only call CorrectZero() - CorrectZero(); - - return 0; - } - - -public: - - /*! - a method for converting from 'UInt' to this class - */ - template - uint FromUInt(UInt value) - { - info = 0; - sint compensation = (sint)value.CompensationToLeft(); - - return FromUIntOrInt(value, compensation); - } - - - /*! - a method for converting from 'UInt' to this class - */ - template - uint FromInt(const UInt & value) - { - return FromUInt(value); - } - - - /*! - a method for converting from 'Int' to this class - */ - template - uint FromInt(Int value) - { - info = 0; - bool is_sign = false; - - if( value.IsSign() ) - { - value.ChangeSign(); - is_sign = true; - } - - sint compensation = (sint)value.CompensationToLeft(); - FromUIntOrInt(value, compensation); - - if( is_sign ) - SetSign(); - - return 0; - } - - - /*! - an operator= for converting from 'Int' to this class - */ - template - Big & operator=(const Int & value) - { - FromInt(value); - - return *this; - } - - - /*! - a constructor for converting from 'Int' to this class - */ - template - Big(const Int & value) - { - FromInt(value); - } - - - /*! - an operator= for converting from 'UInt' to this class - */ - template - Big & operator=(const UInt & value) - { - FromUInt(value); - - return *this; - } - - - /*! - a constructor for converting from 'UInt' to this class - */ - template - Big(const UInt & value) - { - FromUInt(value); - } - - - /*! - an operator= for converting from 'Big' to this class - */ - template - Big & operator=(const Big & value) - { - FromBig(value); - - return *this; - } - - - /*! - a constructor for converting from 'Big' to this class - */ - template - Big(const Big & value) - { - FromBig(value); - } - - - /*! - a default constructor - - by default we don't set any of the members to zero - only NaN flag is set - - if you want the mantissa and exponent to be set to zero - define TTMATH_BIG_DEFAULT_CLEAR macro - (useful for debug purposes) - */ - Big() - { - #ifdef TTMATH_BIG_DEFAULT_CLEAR - - SetZeroNan(); - - #else - - info = TTMATH_BIG_NAN; - // we're directly setting 'info' (instead of calling SetNan()) - // in order to get rid of a warning saying that 'info' is uninitialized - - #endif - } - - - /*! - a destructor - */ - ~Big() - { - } - - - /*! - the default assignment operator - */ - Big & operator=(const Big & value) - { - info = value.info; - exponent = value.exponent; - mantissa = value.mantissa; - - return *this; - } - - - /*! - a constructor for copying from another object of this class - */ - - Big(const Big & value) - { - operator=(value); - } - - - - /*! - a method for converting into a string - struct Conv is defined in ttmathtypes.h, look there for more information about parameters - - output: - return value: - 0 - ok and 'result' will be an object of type std::string (or std::wstring) which holds the value - 1 - if there is a carry (it shoudn't be in a normal situation - if it is that means there - is somewhere an error in the library) - */ - uint ToString( std::string & result, - uint base = 10, - bool scient = false, - sint scient_from = 15, - sint round = -1, - bool trim_zeroes = true, - char comma = '.' ) const - { - Conv conv; - - conv.base = base; - conv.scient = scient; - conv.scient_from = scient_from; - conv.round = round; - conv.trim_zeroes = trim_zeroes; - conv.comma = static_cast(comma); - - return ToStringBase(result, conv); - } - - - /*! - a method for converting into a string - struct Conv is defined in ttmathtypes.h, look there for more information about parameters - */ - uint ToString(std::string & result, const Conv & conv) const - { - return ToStringBase(result, conv); - } - - - /*! - a method for converting into a string - struct Conv is defined in ttmathtypes.h, look there for more information about parameters - */ - std::string ToString(const Conv & conv) const - { - std::string result; - ToStringBase(result, conv); - - return result; - } - - - /*! - a method for converting into a string - struct Conv is defined in ttmathtypes.h, look there for more information about parameters - */ - std::string ToString(uint base = 10) const - { - Conv conv; - conv.base = base; - - return ToString(conv); - } - - - -#ifndef TTMATH_DONT_USE_WCHAR - - - /*! - a method for converting into a string - struct Conv is defined in ttmathtypes.h, look there for more information about parameters - */ - uint ToString( std::wstring & result, - uint base = 10, - bool scient = false, - sint scient_from = 15, - sint round = -1, - bool trim_zeroes = true, - wchar_t comma = '.' ) const - { - Conv conv; - - conv.base = base; - conv.scient = scient; - conv.scient_from = scient_from; - conv.round = round; - conv.trim_zeroes = trim_zeroes; - conv.comma = static_cast(comma); - - return ToStringBase(result, conv); - } - - - /*! - a method for converting into a string - struct Conv is defined in ttmathtypes.h, look there for more information about parameters - */ - uint ToString(std::wstring & result, const Conv & conv) const - { - return ToStringBase(result, conv); - } - - - /*! - a method for converting into a string - struct Conv is defined in ttmathtypes.h, look there for more information about parameters - */ - std::wstring ToWString(const Conv & conv) const - { - std::wstring result; - ToStringBase(result, conv); - - return result; - } - - - /*! - a method for converting into a string - struct Conv is defined in ttmathtypes.h, look there for more information about parameters - */ - std::wstring ToWString(uint base = 10) const - { - Conv conv; - conv.base = base; - - return ToWString(conv); - } - -#endif - - - -private: - - - /*! - an auxiliary method for converting into the string - */ - template - uint ToStringBase(string_type & result, const Conv & conv) const - { - static char error_overflow_msg[] = "overflow"; - static char error_nan_msg[] = "NaN"; - result.erase(); - - if( IsNan() ) - { - Misc::AssignString(result, error_nan_msg); - return 0; - } - - if( conv.base<2 || conv.base>16 ) - { - Misc::AssignString(result, error_overflow_msg); - return 1; - } - - if( IsZero() ) - { - result = '0'; - - return 0; - } - - /* - since 'base' is greater or equal 2 that 'new_exp' of type 'Int' should - hold the new value of exponent but we're using 'Int' because - if the value for example would be 'max()' then we couldn't show it - - max() -> 11111111 * 2 ^ 11111111111 (bin)(the mantissa and exponent have all bits set) - if we were using 'Int' we couldn't show it in this format: - 1,1111111 * 2 ^ 11111111111 (bin) - because we have to add something to the mantissa and because - mantissa is full we can't do it and it'll be a carry - (look at ToString_SetCommaAndExponent(...)) - - when the base would be greater than two (for example 10) - we could use 'Int' here - */ - Int new_exp; - - if( ToString_CreateNewMantissaAndExponent(result, conv, new_exp) ) - { - Misc::AssignString(result, error_overflow_msg); - return 1; - } - - - if( ToString_SetCommaAndExponent(result, conv, new_exp) ) - { - Misc::AssignString(result, error_overflow_msg); - return 1; - } - - if( IsSign() ) - result.insert(result.begin(), '-'); - - - // converted successfully - return 0; - } - - - - /*! - in the method 'ToString_CreateNewMantissaAndExponent()' we're using - type 'Big' and we should have the ability to use some - necessary methods from that class (methods which are private here) - */ - friend class Big; - - - /*! - an auxiliary method for converting into the string - - input: - base - the base in range <2,16> - - output: - return values: - 0 - ok - 1 - if there was a carry - new_man - the new mantissa for 'base' - new_exp - the new exponent for 'base' - - mathematic part: - - the value is stored as: - value = mantissa * 2^exponent - we want to show 'value' as: - value = new_man * base^new_exp - - then 'new_man' we'll print using the standard method from UInt<> type for printing - and 'new_exp' is the offset of the comma operator in a system of a base 'base' - - value = mantissa * 2^exponent - value = mantissa * 2^exponent * (base^new_exp / base^new_exp) - value = mantissa * (2^exponent / base^new_exp) * base^new_exp - - look at the part (2^exponent / base^new_exp), there'll be good if we take - a 'new_exp' equal that value when the (2^exponent / base^new_exp) will be equal one - - on account of the 'base' is not as power of 2 (can be from 2 to 16), - this formula will not be true for integer 'new_exp' then in our case we take - 'base^new_exp' _greater_ than '2^exponent' - - if 'base^new_exp' were smaller than '2^exponent' the new mantissa could be - greater than the max value of the container UInt - - value = mantissa * (2^exponent / base^new_exp) * base^new_exp - let M = mantissa * (2^exponent / base^new_exp) then - value = M * base^new_exp - - in our calculation we treat M as floating value showing it as: - M = mm * 2^ee where ee will be <= 0 - - next we'll move all bits of mm into the right when ee is equal zero - abs(ee) must not be too big that only few bits from mm we can leave - - then we'll have: - M = mmm * 2^0 - 'mmm' is the new_man which we're looking for - - - new_exp we calculate in this way: - 2^exponent <= base^new_exp - new_exp >= log base (2^exponent) <- logarithm with the base 'base' from (2^exponent) - - but we need new_exp as integer then we test: - if new_exp is greater than zero and with fraction we add one to new_exp - new_exp = new_exp + 1 (if new_exp>0 and with fraction) - and at the end we take the integer part: - new_exp = int(new_exp) - */ - template - uint ToString_CreateNewMantissaAndExponent( string_type & new_man, const Conv & conv, - Int & new_exp) const - { - uint c = 0; - - if( conv.base<2 || conv.base>16 ) - return 1; - - // special method for base equal 2 - if( conv.base == 2 ) - return ToString_CreateNewMantissaAndExponent_Base2(new_man, new_exp); - - // special method for base equal 4 - if( conv.base == 4 ) - return ToString_CreateNewMantissaAndExponent_BasePow2(new_man, new_exp, 2); - - // special method for base equal 8 - if( conv.base == 8 ) - return ToString_CreateNewMantissaAndExponent_BasePow2(new_man, new_exp, 3); - - // special method for base equal 16 - if( conv.base == 16 ) - return ToString_CreateNewMantissaAndExponent_BasePow2(new_man, new_exp, 4); - - - // this = mantissa * 2^exponent - - // temp = +1 * 2^exponent - // we're using a bigger type than 'big' (look below) - Big temp; - temp.info = 0; - temp.exponent = exponent; - temp.mantissa.SetOne(); - c += temp.Standardizing(); - - // new_exp_ = log base (2^exponent) - // if new_exp_ is positive and with fraction then we add one - Big new_exp_; - c += new_exp_.ToString_Log(temp, conv.base); // this logarithm isn't very complicated - - // rounding up to the nearest integer - if( !new_exp_.IsInteger() ) - { - if( !new_exp_.IsSign() ) - c += new_exp_.AddOne(); // new_exp_ > 0 and with fraction - - new_exp_.SkipFraction(); - } - - if( ToString_CreateNewMantissaTryExponent(new_man, conv, new_exp_, new_exp) ) - { - // in very rare cases there can be an overflow from ToString_CreateNewMantissaTryExponent - // it means that new_exp_ was too small (the problem comes from floating point numbers precision) - // so we increse new_exp_ and try again - new_exp_.AddOne(); - c += ToString_CreateNewMantissaTryExponent(new_man, conv, new_exp_, new_exp); - } - - return (c==0)? 0 : 1; - } - - - - /*! - an auxiliary method for converting into the string - - trying to calculate new_man for given exponent (new_exp_) - if there is a carry it can mean that new_exp_ is too small - */ - template - uint ToString_CreateNewMantissaTryExponent( string_type & new_man, const Conv & conv, - const Big & new_exp_, Int & new_exp) const - { - uint c = 0; - - // because 'base^new_exp' is >= '2^exponent' then - // because base is >= 2 then we've got: - // 'new_exp_' must be smaller or equal 'new_exp' - // and we can pass it into the Int type - // (in fact we're using a greater type then it'll be ok) - c += new_exp_.ToInt(new_exp); - - // base_ = base - Big base_(conv.base); - - // base_ = base_ ^ new_exp_ - c += base_.Pow( new_exp_ ); // use new_exp_ so Pow(Big<> &) version will be used - // if we hadn't used a bigger type than 'Big' then the result - // of this formula 'Pow(...)' would have been with an overflow - - // temp = mantissa * 2^exponent / base_^new_exp_ - Big temp; - temp.info = 0; - temp.mantissa = mantissa; - temp.exponent = exponent; - c += temp.Div(base_); - - // moving all bits of the mantissa into the right - // (how many times to move depend on the exponent) - c += temp.ToString_MoveMantissaIntoRight(); - - // because we took 'new_exp' as small as it was - // possible ([log base (2^exponent)] + 1) that after the division - // (temp.Div( base_ )) the value of exponent should be equal zero or - // minimum smaller than zero then we've got the mantissa which has - // maximum valid bits - temp.mantissa.ToString(new_man, conv.base); - - if( IsInteger() ) - { - // making sure the new mantissa will be without fraction (integer) - ToString_CheckMantissaInteger(new_man, new_exp); - } - else - if( conv.base_round ) - { - c += ToString_BaseRound(new_man, conv, new_exp); - } - - return (c==0)? 0 : 1; - } - - - /*! - this method calculates the logarithm - it is used by ToString_CreateNewMantissaAndExponent() method - - it's not too complicated - because x=+1*2^exponent (mantissa is one) then during the calculation - the Ln(x) will not be making the long formula from LnSurrounding1() - and only we have to calculate 'Ln(base)' but it'll be calculated - only once, the next time we will get it from the 'history' - - x is greater than 0 - base is in <2,16> range - */ - uint ToString_Log(const Big & x, uint base) - { - TTMATH_REFERENCE_ASSERT( x ) - TTMATH_ASSERT( base>=2 && base<=16 ) - - Big temp; - temp.SetOne(); - - if( x == temp ) - { - // log(1) is 0 - SetZero(); - - return 0; - } - - // there can be only a carry - // because the 'x' is in '1+2*exponent' form then - // the long formula from LnSurrounding1() will not be calculated - // (LnSurrounding1() will return one immediately) - uint c = Ln(x); - - if( base==10 && man<=TTMATH_BUILTIN_VARIABLES_SIZE ) - { - // for the base equal 10 we're using SetLn10() instead of calculating it - // (only if we have the constant sufficient big) - temp.SetLn10(); - } - else - { - c += ToString_LogBase(base, temp); - } - - c += Div( temp ); - - return (c==0)? 0 : 1; - } - - -#ifndef TTMATH_MULTITHREADS - - /*! - this method calculates the logarithm of 'base' - it's used in single thread environment - */ - uint ToString_LogBase(uint base, Big & result) - { - TTMATH_ASSERT( base>=2 && base<=16 ) - - // this guardians are initialized before the program runs (static POD types) - static int guardians[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; - static Big log_history[15]; - uint index = base - 2; - uint c = 0; - - if( guardians[index] == 0 ) - { - Big base_(base); - c += log_history[index].Ln(base_); - guardians[index] = 1; - } - - result = log_history[index]; - - return (c==0)? 0 : 1; - } - -#else - - /*! - this method calculates the logarithm of 'base' - it's used in multi-thread environment - */ - uint ToString_LogBase(uint base, Big & result) - { - TTMATH_ASSERT( base>=2 && base<=16 ) - - // this guardians are initialized before the program runs (static POD types) - volatile static sig_atomic_t guardians[15] = {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; - static Big * plog_history; - uint index = base - 2; - uint c = 0; - - // double-checked locking - if( guardians[index] == 0 ) - { - ThreadLock thread_lock; - - // locking - if( thread_lock.Lock() ) - { - static Big log_history[15]; - - if( guardians[index] == 0 ) - { - plog_history = log_history; - - Big base_(base); - c += log_history[index].Ln(base_); - guardians[index] = 1; - } - } - else - { - // there was a problem with locking, we store the result directly in 'result' object - Big base_(base); - c += result.Ln(base_); - - return (c==0)? 0 : 1; - } - - // automatically unlocking - } - - result = plog_history[index]; - - return (c==0)? 0 : 1; - } - -#endif - - /*! - an auxiliary method for converting into the string (private) - - this method moving all bits from mantissa into the right side - the exponent tell us how many times moving (the exponent is <=0) - */ - uint ToString_MoveMantissaIntoRight() - { - if( exponent.IsZero() ) - return 0; - - // exponent can't be greater than zero - // because we would cat the highest bits of the mantissa - if( !exponent.IsSign() ) - return 1; - - - if( exponent <= -sint(man*TTMATH_BITS_PER_UINT) ) - // if 'exponent' is <= than '-sint(man*TTMATH_BITS_PER_UINT)' - // it means that we must cut the whole mantissa - // (there'll not be any of the valid bits) - return 1; - - // e will be from (-man*TTMATH_BITS_PER_UINT, 0> - sint e = -( exponent.ToInt() ); - mantissa.Rcr(e,0); - - return 0; - } - - - /*! - a special method similar to the 'ToString_CreateNewMantissaAndExponent' - when the 'base' is equal 2 - - we use it because if base is equal 2 we don't have to make those - complicated calculations and the output is directly from the source - (there will not be any small distortions) - */ - template - uint ToString_CreateNewMantissaAndExponent_Base2( string_type & new_man, - Int & new_exp ) const - { - for( sint i=man-1 ; i>=0 ; --i ) - { - uint value = mantissa.table[i]; - - for( uint bit=0 ; bit - uint ToString_CreateNewMantissaAndExponent_BasePow2( string_type & new_man, - Int & new_exp, - uint bits) const - { - sint move; // how many times move the mantissa - UInt man_temp(mantissa); // man+1 for moving - new_exp = exponent; - new_exp.DivInt((sint)bits, move); - - if( move != 0 ) - { - // we're moving the man_temp to left-hand side - if( move < 0 ) - { - move = sint(bits) + move; - new_exp.SubOne(); // when move is < than 0 then new_exp is < 0 too - } - - man_temp.Rcl(move); - } - - - if( bits == 3 ) - { - // base 8 - // now 'move' is greater than or equal 0 - uint len = man*TTMATH_BITS_PER_UINT + move; - return ToString_CreateNewMantissaAndExponent_Base8(new_man, man_temp, len, bits); - } - else - { - // base 4 or 16 - return ToString_CreateNewMantissaAndExponent_Base4or16(new_man, man_temp, bits); - } - } - - - /*! - a special method used to calculate the new mantissa - when the 'base' is equal 8 - - bits is always 3 - - we can use this algorithm when the base is 4 or 16 too - but we have a faster method ToString_CreateNewMantissaAndExponent_Base4or16() - */ - template - uint ToString_CreateNewMantissaAndExponent_Base8( string_type & new_man, - UInt & man_temp, - uint len, - uint bits) const - { - uint shift = TTMATH_BITS_PER_UINT - bits; - uint mask = TTMATH_UINT_MAX_VALUE >> shift; - uint i; - - for( i=0 ; i(Misc::DigitToChar(digit))); - - man_temp.Rcr(bits); - } - - TTMATH_ASSERT( man_temp.IsZero() ) - - return 0; - } - - - /*! - a special method used to calculate the new mantissa - when the 'base' is equal 4 or 16 - - when the base is equal 4 or 16 the bits is 2 or 4 - and because TTMATH_BITS_PER_UINT (32 or 64) is divisible by 2 (or 4) - then we can get digits from the end of our mantissa - */ - template - uint ToString_CreateNewMantissaAndExponent_Base4or16( string_type & new_man, - UInt & man_temp, - uint bits) const - { - TTMATH_ASSERT( TTMATH_BITS_PER_UINT % 2 == 0 ) - TTMATH_ASSERT( TTMATH_BITS_PER_UINT % 4 == 0 ) - - uint shift = TTMATH_BITS_PER_UINT - bits; - uint mask = TTMATH_UINT_MAX_VALUE << shift; - uint digit; - - // table[man] - last word - is different from zero if we moved man_temp - digit = man_temp.table[man]; - - if( digit != 0 ) - new_man += static_cast(Misc::DigitToChar(digit)); - - - for( int i=man-1 ; i>=0 ; --i ) - { - uint shift_local = shift; - uint mask_local = mask; - - while( mask_local != 0 ) - { - digit = man_temp.table[i] & mask_local; - - if( shift_local != 0 ) - digit = digit >> shift_local; - - new_man += static_cast(Misc::DigitToChar(digit)); - mask_local = mask_local >> bits; - shift_local = shift_local - bits; - } - } - - return 0; - } - - - /*! - an auxiliary method for converting into the string - */ - template - bool ToString_RoundMantissaWouldBeInteger(string_type & new_man, const Conv & conv, Int & new_exp) const - { - // if new_exp is greater or equal to zero then we have an integer value, - // if new_exp is equal -1 then we have only one digit after the comma - // and after rounding it would be an integer value - if( !new_exp.IsSign() || new_exp == -1 ) - return true; - - if( new_man.size() >= TTMATH_UINT_HIGHEST_BIT || new_man.size() < 2 ) - return true; // oops, the mantissa is too large for calculating (or too small) - we are not doing the base rounding - - uint i = 0; - char_type digit; - - if( new_exp >= -sint(new_man.size()) ) - { - uint new_exp_abs = -new_exp.ToInt(); - i = new_man.size() - new_exp_abs; // start from the first digit after the comma operator - } - - if( Misc::CharToDigit(new_man[new_man.size()-1]) >= conv.base/2 ) - { - if( new_exp < -sint(new_man.size()) ) - { - // there are some zeroes after the comma operator - // (between the comma and the first digit from the mantissa) - // and the result value will never be an integer - return false; - } - - digit = static_cast( Misc::DigitToChar(conv.base-1) ); - } - else - { - digit = '0'; - } - - for( ; i < new_man.size()-1 ; ++i) - if( new_man[i] != digit ) - return false; // it will not be an integer - - return true; // it will be integer after rounding - } - - - /*! - an auxiliary method for converting into the string - (when this is integer) - - after floating point calculating the new mantissa can consist of some fraction - so if our value is integer we should check the new mantissa - (after the decimal point there should be only zeroes) - - often this is a last digit different from zero - ToString_BaseRound would not get rid of it because the method make a test against - an integer value (ToString_RoundMantissaWouldBeInteger) and returns immediately - */ - template - void ToString_CheckMantissaInteger(string_type & new_man, const Int & new_exp) const - { - if( !new_exp.IsSign() ) - return; // return if new_exp >= 0 - - uint i = 0; - uint man_size = new_man.size(); - - if( man_size >= TTMATH_UINT_HIGHEST_BIT ) - return; // ops, the mantissa is too long - - sint sman_size = -sint(man_size); - - if( new_exp >= sman_size ) - { - sint e = new_exp.ToInt(); - e = -e; - // now e means how many last digits from the mantissa should be equal zero - - i = man_size - uint(e); - } - - for( ; i - uint ToString_BaseRound(string_type & new_man, const Conv & conv, Int & new_exp) const - { - // we must have minimum two characters - if( new_man.size() < 2 ) - return 0; - - // assert that there will not be an integer after rounding - if( ToString_RoundMantissaWouldBeInteger(new_man, conv, new_exp) ) - return 0; - - typename string_type::size_type i = new_man.length() - 1; - - // we're erasing the last character - uint digit = Misc::CharToDigit( new_man[i] ); - new_man.erase(i, 1); - uint c = new_exp.AddOne(); - - // if the last character is greater or equal 'base/2' - // we are adding one into the new mantissa - if( digit >= conv.base / 2 ) - ToString_RoundMantissa_AddOneIntoMantissa(new_man, conv); - - return c; - } - - - /*! - an auxiliary method for converting into the string - - this method addes one into the new mantissa - */ - template - void ToString_RoundMantissa_AddOneIntoMantissa(string_type & new_man, const Conv & conv) const - { - if( new_man.empty() ) - return; - - sint i = sint( new_man.length() ) - 1; - bool was_carry = true; - - for( ; i>=0 && was_carry ; --i ) - { - // we can have the comma as well because - // we're using this method later in ToString_CorrectDigitsAfterComma_Round() - // (we're only ignoring it) - if( new_man[i] == static_cast(conv.comma) ) - continue; - - // we're adding one - uint digit = Misc::CharToDigit( new_man[i] ) + 1; - - if( digit == conv.base ) - digit = 0; - else - was_carry = false; - - new_man[i] = static_cast( Misc::DigitToChar(digit) ); - } - - if( i<0 && was_carry ) - new_man.insert( new_man.begin() , '1' ); - } - - - - /*! - an auxiliary method for converting into the string - - this method sets the comma operator and/or puts the exponent - into the string - */ - template - uint ToString_SetCommaAndExponent(string_type & new_man, const Conv & conv, Int & new_exp) const - { - uint carry = 0; - - if( new_man.empty() ) - return carry; - - Int scientific_exp( new_exp ); - - // 'new_exp' depends on the 'new_man' which is stored like this e.g: - // 32342343234 (the comma is at the end) - // we'd like to show it in this way: - // 3.2342343234 (the 'scientific_exp' is connected with this example) - - sint offset = sint( new_man.length() ) - 1; - carry += scientific_exp.Add( offset ); - // there shouldn't have been a carry because we're using - // a greater type -- 'Int' instead of 'Int' - - bool print_scientific = conv.scient; - - if( !print_scientific ) - { - if( scientific_exp > conv.scient_from || scientific_exp < -sint(conv.scient_from) ) - print_scientific = true; - } - - if( !print_scientific ) - ToString_SetCommaAndExponent_Normal(new_man, conv, new_exp); - else - // we're passing the 'scientific_exp' instead of 'new_exp' here - ToString_SetCommaAndExponent_Scientific(new_man, conv, scientific_exp); - - return (carry==0)? 0 : 1; - } - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_SetCommaAndExponent_Normal(string_type & new_man, const Conv & conv, Int & new_exp ) const - { - if( !new_exp.IsSign() ) // it means: if( new_exp >= 0 ) - ToString_SetCommaAndExponent_Normal_AddingZero(new_man, new_exp); - else - ToString_SetCommaAndExponent_Normal_SetCommaInside(new_man, conv, new_exp); - - - ToString_Group_man(new_man, conv); - } - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_SetCommaAndExponent_Normal_AddingZero(string_type & new_man, - Int & new_exp) const - { - // we're adding zero characters at the end - // 'i' will be smaller than 'when_scientific' (or equal) - uint i = new_exp.ToInt(); - - if( new_man.length() + i > new_man.capacity() ) - // about 6 characters more (we'll need it for the comma or something) - new_man.reserve( new_man.length() + i + 6 ); - - for( ; i>0 ; --i) - new_man += '0'; - } - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_SetCommaAndExponent_Normal_SetCommaInside( - string_type & new_man, - const Conv & conv, - Int & new_exp ) const - { - // new_exp is < 0 - - sint new_man_len = sint(new_man.length()); // 'new_man_len' with a sign - sint e = -( new_exp.ToInt() ); // 'e' will be positive - - if( new_exp > -new_man_len ) - { - // we're setting the comma within the mantissa - - sint index = new_man_len - e; - new_man.insert( new_man.begin() + index, static_cast(conv.comma)); - } - else - { - // we're adding zero characters before the mantissa - - uint how_many = e - new_man_len; - string_type man_temp(how_many+1, '0'); - - man_temp.insert( man_temp.begin()+1, static_cast(conv.comma)); - new_man.insert(0, man_temp); - } - - ToString_CorrectDigitsAfterComma(new_man, conv); - } - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_SetCommaAndExponent_Scientific( string_type & new_man, - const Conv & conv, - Int & scientific_exp ) const - { - if( new_man.empty() ) - return; - - if( new_man.size() > 1 ) - { - new_man.insert( new_man.begin()+1, static_cast(conv.comma) ); - ToString_CorrectDigitsAfterComma(new_man, conv); - } - - ToString_Group_man(new_man, conv); - - if( conv.base == 10 ) - { - new_man += 'e'; - - if( !scientific_exp.IsSign() ) - new_man += '+'; - } - else - { - // the 10 here is meant as the base 'base' - // (no matter which 'base' we're using there'll always be 10 here) - Misc::AddString(new_man, "*10^"); - } - - string_type temp_exp; - scientific_exp.ToString( temp_exp, conv.base ); - - new_man += temp_exp; - } - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_Group_man(string_type & new_man, const Conv & conv) const - { - typedef typename string_type::size_type StrSize; - - if( conv.group == 0 ) - return; - - // first we're looking for the comma operator - StrSize index = new_man.find(static_cast(conv.comma), 0); - - if( index == string_type::npos ) - index = new_man.size(); - - ToString_Group_man_before_comma(new_man, conv, index); - ToString_Group_man_after_comma(new_man, conv, index+1); - } - - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_Group_man_before_comma( string_type & new_man, const Conv & conv, - typename string_type::size_type & index) const - { - typedef typename string_type::size_type StrSize; - - uint group = 0; - StrSize i = index; - uint group_digits = conv.group_digits; - - if( group_digits < 1 ) - group_digits = 1; - - // adding group characters before the comma operator - // i>0 because on the first position we don't put any additional grouping characters - for( ; i>0 ; --i, ++group) - { - if( group >= group_digits ) - { - group = 0; - new_man.insert(i, 1, static_cast(conv.group)); - ++index; - } - } - } - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_Group_man_after_comma(string_type & new_man, const Conv & conv, - typename string_type::size_type index) const - { - uint group = 0; - uint group_digits = conv.group_digits; - - if( group_digits < 1 ) - group_digits = 1; - - for( ; index= group_digits ) - { - group = 0; - new_man.insert(index, 1, static_cast(conv.group)); - ++index; - } - } - } - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_CorrectDigitsAfterComma( string_type & new_man, - const Conv & conv ) const - { - if( conv.round >= 0 ) - ToString_CorrectDigitsAfterComma_Round(new_man, conv); - - if( conv.trim_zeroes ) - ToString_CorrectDigitsAfterComma_CutOffZeroCharacters(new_man, conv); - } - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_CorrectDigitsAfterComma_CutOffZeroCharacters( - string_type & new_man, - const Conv & conv) const - { - // minimum two characters - if( new_man.length() < 2 ) - return; - - // we're looking for the index of the last character which is not zero - uint i = uint( new_man.length() ) - 1; - for( ; i>0 && new_man[i]=='0' ; --i ); - - // if there is another character than zero at the end - // we're finishing - if( i == new_man.length() - 1 ) - return; - - // we must have a comma - // (the comma can be removed by ToString_CorrectDigitsAfterComma_Round - // which is called before) - if( new_man.find_last_of(static_cast(conv.comma), i) == string_type::npos ) - return; - - // if directly before the first zero is the comma operator - // we're cutting it as well - if( i>0 && new_man[i]==static_cast(conv.comma) ) - --i; - - new_man.erase(i+1, new_man.length()-i-1); - } - - - /*! - an auxiliary method for converting into the string - */ - template - void ToString_CorrectDigitsAfterComma_Round( - string_type & new_man, - const Conv & conv ) const - { - typedef typename string_type::size_type StrSize; - - // first we're looking for the comma operator - StrSize index = new_man.find(static_cast(conv.comma), 0); - - if( index == string_type::npos ) - // nothing was found (actually there can't be this situation) - return; - - // we're calculating how many digits there are at the end (after the comma) - // 'after_comma' will be greater than zero because at the end - // we have at least one digit - StrSize after_comma = new_man.length() - index - 1; - - // if 'max_digit_after_comma' is greater than 'after_comma' (or equal) - // we don't have anything for cutting - if( static_cast(conv.round) >= after_comma ) - return; - - uint last_digit = Misc::CharToDigit( new_man[ index + conv.round + 1 ], conv.base ); - - // we're cutting the rest of the string - new_man.erase(index + conv.round + 1, after_comma - conv.round); - - if( conv.round == 0 ) - { - // we're cutting the comma operator as well - // (it's not needed now because we've cut the whole rest after the comma) - new_man.erase(index, 1); - } - - if( last_digit >= conv.base / 2 ) - // we must round here - ToString_RoundMantissa_AddOneIntoMantissa(new_man, conv); - } - - - -public: - - /*! - a method for converting a string into its value - - it returns 1 if the value is too big -- we cannot pass it into the range - of our class Big (or if the base is incorrect) - - that means only digits before the comma operator can make this value too big, - all digits after the comma we can ignore - - 'source' - pointer to the string for parsing - - if 'after_source' is set that when this method finishes - it sets the pointer to the new first character after parsed value - - 'value_read' - if the pointer is provided that means the value_read will be true - only when a value has been actually read, there can be situation where only such - a string '-' or '+' will be parsed -- 'after_source' will be different from 'source' but - no value has been read (there are no digits) - on other words if 'value_read' is true -- there is at least one digit in the string - */ - uint FromString(const char * source, uint base = 10, const char ** after_source = 0, bool * value_read = 0) - { - Conv conv; - conv.base = base; - - return FromStringBase(source, conv, after_source, value_read); - } - - - /*! - a method for converting a string into its value - */ - uint FromString(const char * source, const Conv & conv, const char ** after_source = 0, bool * value_read = 0) - { - return FromStringBase(source, conv, after_source, value_read); - } - - - /*! - a method for converting a string into its value - */ - uint FromString(const std::string & string, uint base = 10, const char ** after_source = 0, bool * value_read = 0) - { - return FromString(string.c_str(), base, after_source, value_read); - } - - - /*! - a method for converting a string into its value - */ - uint FromString(const std::string & string, const Conv & conv, const char ** after_source = 0, bool * value_read = 0) - { - return FromString(string.c_str(), conv, after_source, value_read); - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - a method for converting a string into its value - */ - uint FromString(const wchar_t * source, uint base = 10, const wchar_t ** after_source = 0, bool * value_read = 0) - { - Conv conv; - conv.base = base; - - return FromStringBase(source, conv, after_source, value_read); - } - - - /*! - a method for converting a string into its value - */ - uint FromString(const wchar_t * source, const Conv & conv, const wchar_t ** after_source = 0, bool * value_read = 0) - { - return FromStringBase(source, conv, after_source, value_read); - } - - - /*! - a method for converting a string into its value - */ - uint FromString(const std::wstring & string, uint base = 10, const wchar_t ** after_source = 0, bool * value_read = 0) - { - return FromString(string.c_str(), base, after_source, value_read); - } - - - /*! - a method for converting a string into its value - */ - uint FromString(const std::wstring & string, const Conv & conv, const wchar_t ** after_source = 0, bool * value_read = 0) - { - return FromString(string.c_str(), conv, after_source, value_read); - } - -#endif - - -private: - - - /*! - an auxiliary method for converting from a string - */ - template - uint FromStringBase(const char_type * source, const Conv & conv, const char_type ** after_source = 0, bool * value_read = 0) - { - bool is_sign; - bool value_read_temp = false; - - if( conv.base<2 || conv.base>16 ) - { - SetNan(); - - if( after_source ) - *after_source = source; - - if( value_read ) - *value_read = value_read_temp; - - return 1; - } - - SetZero(); - FromString_TestSign( source, is_sign ); - - uint c = FromString_ReadPartBeforeComma( source, conv, value_read_temp ); - - if( FromString_TestCommaOperator(source, conv) ) - c += FromString_ReadPartAfterComma( source, conv, value_read_temp ); - - if( value_read_temp && conv.base == 10 ) - c += FromString_ReadScientificIfExists( source ); - - if( is_sign && !IsZero() ) - ChangeSign(); - - if( after_source ) - *after_source = source; - - if( value_read ) - *value_read = value_read_temp; - - return CheckCarry(c); - } - - - /*! - we're testing whether the value is with the sign - - (this method is used from 'FromString_ReadPartScientific' too) - */ - template - void FromString_TestSign( const char_type * & source, bool & is_sign ) - { - Misc::SkipWhiteCharacters(source); - - is_sign = false; - - if( *source == '-' ) - { - is_sign = true; - ++source; - } - else - if( *source == '+' ) - { - ++source; - } - } - - - /*! - we're testing whether there's a comma operator - */ - template - bool FromString_TestCommaOperator(const char_type * & source, const Conv & conv) - { - if( (*source == static_cast(conv.comma)) || - (*source == static_cast(conv.comma2) && conv.comma2 != 0 ) ) - { - ++source; - - return true; - } - - return false; - } - - - /*! - this method reads the first part of a string - (before the comma operator) - */ - template - uint FromString_ReadPartBeforeComma( const char_type * & source, const Conv & conv, bool & value_read ) - { - sint character; - Big temp; - Big base_( conv.base ); - - Misc::SkipWhiteCharacters( source ); - - for( ; true ; ++source ) - { - if( conv.group!=0 && *source==static_cast(conv.group) ) - continue; - - character = Misc::CharToDigit(*source, conv.base); - - if( character == -1 ) - break; - - value_read = true; - temp = character; - - if( Mul(base_) ) - return 1; - - if( Add(temp) ) - return 1; - } - - return 0; - } - - - /*! - this method reads the second part of a string - (after the comma operator) - */ - template - uint FromString_ReadPartAfterComma( const char_type * & source, const Conv & conv, bool & value_read ) - { - sint character; - uint c = 0, index = 1; - Big sum, part, power, old_value, base_( conv.base ); - - // we don't remove any white characters here - - // this is only to avoid getting a warning about an uninitialized object 'old_value' which GCC reports - // (in fact we will initialize it later when the condition 'testing' is fulfilled) - old_value.SetZero(); - - power.SetOne(); - sum.SetZero(); - - for( ; true ; ++source, ++index ) - { - if( conv.group!=0 && *source==static_cast(conv.group) ) - continue; - - character = Misc::CharToDigit(*source, conv.base); - - if( character == -1 ) - break; - - value_read = true; - - part = character; - - if( power.Mul( base_ ) ) - // there's no sens to add the next parts, but we can't report this - // as an error (this is only inaccuracy) - break; - - if( part.Div( power ) ) - break; - - // every 5 iteration we make a test whether the value will be changed or not - // (character must be different from zero to this test) - bool testing = (character != 0 && (index % 5) == 0); - - if( testing ) - old_value = sum; - - // there actually shouldn't be a carry here - c += sum.Add( part ); - - if( testing && old_value == sum ) - // after adding 'part' the value has not been changed - // there's no sense to add any next parts - break; - } - - // we could break the parsing somewhere in the middle of the string, - // but the result (value) still can be good - // we should set a correct value of 'source' now - for( ; Misc::CharToDigit(*source, conv.base) != -1 ; ++source ); - - c += Add(sum); - - return (c==0)? 0 : 1; - } - - - /*! - this method checks whether there is a scientific part: [e|E][-|+]value - - it is called when the base is 10 and some digits were read before - */ - template - uint FromString_ReadScientificIfExists(const char_type * & source) - { - uint c = 0; - - bool scientific_read = false; - const char_type * before_scientific = source; - - if( FromString_TestScientific(source) ) - c += FromString_ReadPartScientific( source, scientific_read ); - - if( !scientific_read ) - source = before_scientific; - - return (c==0)? 0 : 1; - } - - - - /*! - we're testing whether is there the character 'e' - - this character is only allowed when we're using the base equals 10 - */ - template - bool FromString_TestScientific(const char_type * & source) - { - Misc::SkipWhiteCharacters(source); - - if( *source=='e' || *source=='E' ) - { - ++source; - - return true; - } - - return false; - } - - - /*! - this method reads the exponent (after 'e' character) when there's a scientific - format of value and only when we're using the base equals 10 - */ - template - uint FromString_ReadPartScientific( const char_type * & source, bool & scientific_read ) - { - uint c = 0; - Big new_exponent, temp; - bool was_sign = false; - - FromString_TestSign( source, was_sign ); - c += FromString_ReadPartScientific_ReadExponent( source, new_exponent, scientific_read ); - - if( scientific_read ) - { - if( was_sign ) - new_exponent.ChangeSign(); - - temp = 10; - c += temp.Pow( new_exponent ); - c += Mul(temp); - } - - return (c==0)? 0 : 1; - } - - - /*! - this method reads the value of the extra exponent when scientific format is used - (only when base == 10) - */ - template - uint FromString_ReadPartScientific_ReadExponent( const char_type * & source, Big & new_exponent, bool & scientific_read ) - { - sint character; - Big base, temp; - - Misc::SkipWhiteCharacters(source); - - new_exponent.SetZero(); - base = 10; - - for( ; (character=Misc::CharToDigit(*source, 10)) != -1 ; ++source ) - { - scientific_read = true; - - temp = character; - - if( new_exponent.Mul(base) ) - return 1; - - if( new_exponent.Add(temp) ) - return 1; - } - - return 0; - } - - -public: - - - /*! - a constructor for converting a string into this class - */ - Big(const char * string) - { - FromString( string ); - } - - - /*! - a constructor for converting a string into this class - */ - Big(const std::string & string) - { - FromString( string.c_str() ); - } - - - /*! - an operator= for converting a string into its value - */ - Big & operator=(const char * string) - { - FromString( string ); - - return *this; - } - - - /*! - an operator= for converting a string into its value - */ - Big & operator=(const std::string & string) - { - FromString( string.c_str() ); - - return *this; - } - - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - a constructor for converting a string into this class - */ - Big(const wchar_t * string) - { - FromString( string ); - } - - - /*! - a constructor for converting a string into this class - */ - Big(const std::wstring & string) - { - FromString( string.c_str() ); - } - - - /*! - an operator= for converting a string into its value - */ - Big & operator=(const wchar_t * string) - { - FromString( string ); - - return *this; - } - - - /*! - an operator= for converting a string into its value - */ - Big & operator=(const std::wstring & string) - { - FromString( string.c_str() ); - - return *this; - } - - -#endif - - - - /*! - * - * methods for comparing - * - */ - - - /*! - this method performs the formula 'abs(this) < abs(ss2)' - and returns the result - - (in other words it treats 'this' and 'ss2' as values without a sign) - we don't check the NaN flag - */ - bool SmallerWithoutSignThan(const Big & ss2) const - { - if( IsZero() ) - { - if( ss2.IsZero() ) - // we've got two zeroes - return false; - else - // this==0 and ss2!=0 - return true; - } - - if( ss2.IsZero() ) - // this!=0 and ss2==0 - return false; - - // we're using the fact that all bits in mantissa are pushed - // into the left side -- Standardizing() - if( exponent == ss2.exponent ) - return mantissa < ss2.mantissa; - - return exponent < ss2.exponent; - } - - - /*! - this method performs the formula 'abs(this) > abs(ss2)' - and returns the result - - (in other words it treats 'this' and 'ss2' as values without a sign) - we don't check the NaN flag - */ - bool GreaterWithoutSignThan(const Big & ss2) const - { - if( IsZero() ) - { - if( ss2.IsZero() ) - // we've got two zeroes - return false; - else - // this==0 and ss2!=0 - return false; - } - - if( ss2.IsZero() ) - // this!=0 and ss2==0 - return true; - - // we're using the fact that all bits in mantissa are pushed - // into the left side -- Standardizing() - if( exponent == ss2.exponent ) - return mantissa > ss2.mantissa; - - return exponent > ss2.exponent; - } - - - /*! - this method performs the formula 'abs(this) == abs(ss2)' - and returns the result - - (in other words it treats 'this' and 'ss2' as values without a sign) - we don't check the NaN flag - */ - bool EqualWithoutSign(const Big & ss2) const - { - if( IsZero() ) - { - if( ss2.IsZero() ) - // we've got two zeroes - return true; - else - // this==0 and ss2!=0 - return false; - } - - if( ss2.IsZero() ) - // this!=0 and ss2==0 - return false; - - if( exponent==ss2.exponent && mantissa==ss2.mantissa ) - return true; - - return false; - } - - - bool operator<(const Big & ss2) const - { - if( IsSign() && !ss2.IsSign() ) - // this<0 and ss2>=0 - return true; - - if( !IsSign() && ss2.IsSign() ) - // this>=0 and ss2<0 - return false; - - // both signs are the same - - if( IsSign() ) - return ss2.SmallerWithoutSignThan( *this ); - - return SmallerWithoutSignThan( ss2 ); - } - - - bool operator==(const Big & ss2) const - { - if( IsSign() != ss2.IsSign() ) - return false; - - return EqualWithoutSign( ss2 ); - } - - - bool operator>(const Big & ss2) const - { - if( IsSign() && !ss2.IsSign() ) - // this<0 and ss2>=0 - return false; - - if( !IsSign() && ss2.IsSign() ) - // this>=0 and ss2<0 - return true; - - // both signs are the same - - if( IsSign() ) - return ss2.GreaterWithoutSignThan( *this ); - - return GreaterWithoutSignThan( ss2 ); - } - - - bool operator>=(const Big & ss2) const - { - return !operator<( ss2 ); - } - - - bool operator<=(const Big & ss2) const - { - return !operator>( ss2 ); - } - - - bool operator!=(const Big & ss2) const - { - return !operator==(ss2); - } - - - - - - /*! - * - * standard mathematical operators - * - */ - - - /*! - an operator for changing the sign - - this method is not changing 'this' but the changed value is returned - */ - Big operator-() const - { - Big temp(*this); - - temp.ChangeSign(); - - return temp; - } - - - Big operator-(const Big & ss2) const - { - Big temp(*this); - - temp.Sub(ss2); - - return temp; - } - - Big & operator-=(const Big & ss2) - { - Sub(ss2); - - return *this; - } - - - Big operator+(const Big & ss2) const - { - Big temp(*this); - - temp.Add(ss2); - - return temp; - } - - - Big & operator+=(const Big & ss2) - { - Add(ss2); - - return *this; - } - - - Big operator*(const Big & ss2) const - { - Big temp(*this); - - temp.Mul(ss2); - - return temp; - } - - - Big & operator*=(const Big & ss2) - { - Mul(ss2); - - return *this; - } - - - Big operator/(const Big & ss2) const - { - Big temp(*this); - - temp.Div(ss2); - - return temp; - } - - - Big & operator/=(const Big & ss2) - { - Div(ss2); - - return *this; - } - - - /*! - Prefix operator e.g ++variable - */ - Big & operator++() - { - AddOne(); - - return *this; - } - - - /*! - Postfix operator e.g variable++ - */ - Big operator++(int) - { - Big temp( *this ); - - AddOne(); - - return temp; - } - - - Big & operator--() - { - SubOne(); - - return *this; - } - - - Big operator--(int) - { - Big temp( *this ); - - SubOne(); - - return temp; - } - - - - /*! - * - * bitwise operators - * (we do not define bitwise not) - */ - - - Big operator&(const Big & p2) const - { - Big temp( *this ); - - temp.BitAnd(p2); - - return temp; - } - - - Big & operator&=(const Big & p2) - { - BitAnd(p2); - - return *this; - } - - - Big operator|(const Big & p2) const - { - Big temp( *this ); - - temp.BitOr(p2); - - return temp; - } - - - Big & operator|=(const Big & p2) - { - BitOr(p2); - - return *this; - } - - - Big operator^(const Big & p2) const - { - Big temp( *this ); - - temp.BitXor(p2); - - return temp; - } - - - Big & operator^=(const Big & p2) - { - BitXor(p2); - - return *this; - } - - - - - - - /*! - this method makes an integer value by skipping any fractions - - for example: - 10.7 will be 10 - 12.1 -- 12 - -20.2 -- 20 - -20.9 -- 20 - -0.7 -- 0 - 0.8 -- 0 - */ - void SkipFraction() - { - if( IsNan() || IsZero() ) - return; - - if( !exponent.IsSign() ) - // exponent >=0 -- the value don't have any fractions - return; - - if( exponent <= -sint(man*TTMATH_BITS_PER_UINT) ) - { - // the value is from (-1,1), we return zero - SetZero(); - return; - } - - // exponent is in range (-man*TTMATH_BITS_PER_UINT, 0) - sint e = exponent.ToInt(); - - mantissa.ClearFirstBits( -e ); - - // we don't have to standardize 'Standardizing()' the value because - // there's at least one bit in the mantissa - // (the highest bit which we didn't touch) - } - - - /*! - this method remains only a fraction from the value - - for example: - 30.56 will be 0.56 - -12.67 -- -0.67 - */ - void RemainFraction() - { - if( IsNan() || IsZero() ) - return; - - if( !exponent.IsSign() ) - { - // exponent >= 0 -- the value doesn't have any fractions - // we return zero - SetZero(); - return; - } - - if( exponent <= -sint(man*TTMATH_BITS_PER_UINT) ) - { - // the value is from (-1,1) - // we don't make anything with the value - return; - } - - // e will be from (-man*TTMATH_BITS_PER_UINT, 0) - sint e = exponent.ToInt(); - - sint how_many_bits_leave = sint(man*TTMATH_BITS_PER_UINT) + e; // there'll be a subtraction -- e is negative - mantissa.Rcl( how_many_bits_leave, 0); - - // there'll not be a carry because the exponent is too small - exponent.Sub( how_many_bits_leave ); - - // we must call Standardizing() here - Standardizing(); - } - - - - /*! - this method returns true if the value is integer - (there is no a fraction) - - (we don't check nan) - */ - bool IsInteger() const - { - if( IsZero() ) - return true; - - if( !exponent.IsSign() ) - // exponent >=0 -- the value don't have any fractions - return true; - - if( exponent <= -sint(man*TTMATH_BITS_PER_UINT) ) - // the value is from (-1,1) - return false; - - // exponent is in range (-man*TTMATH_BITS_PER_UINT, 0) - sint e = exponent.ToInt(); - e = -e; // e means how many bits we must check - - uint len = e / TTMATH_BITS_PER_UINT; - uint rest = e % TTMATH_BITS_PER_UINT; - uint i = 0; - - for( ; i 0 ) - { - uint rest_mask = TTMATH_UINT_MAX_VALUE >> (TTMATH_BITS_PER_UINT - rest); - if( (mantissa.table[i] & rest_mask) != 0 ) - return false; - } - - return true; - } - - - /*! - this method rounds to the nearest integer value - (it returns a carry if it was) - - for example: - 2.3 = 2 - 2.8 = 3 - - -2.3 = -2 - -2.8 = 3 - */ - uint Round() - { - Big half; - uint c; - - if( IsNan() ) - return 1; - - if( IsZero() ) - return 0; - - half.Set05(); - - if( IsSign() ) - { - // 'this' is < 0 - c = Sub( half ); - } - else - { - // 'this' is > 0 - c = Add( half ); - } - - SkipFraction(); - - return CheckCarry(c); - } - - - - /*! - * - * input/output operators for standard streams - * - */ - -private: - - /*! - an auxiliary method for outputing to standard streams - */ - template - static ostream_type & OutputToStream(ostream_type & s, const Big & l) - { - string_type ss; - - l.ToString(ss); - s << ss; - - return s; - } - - -public: - - - /*! - output to standard streams - */ - friend std::ostream & operator<<(std::ostream & s, const Big & l) - { - return OutputToStream(s, l); - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - output to standard streams - */ - friend std::wostream & operator<<(std::wostream & s, const Big & l) - { - return OutputToStream(s, l); - } - -#endif - - - -private: - - /*! - an auxiliary method for converting from a string - */ - template - static istream_type & InputFromStream(istream_type & s, Big & l) - { - string_type ss; - - // char or wchar_t for operator>> - char_type z, old_z; - bool was_comma = false; - bool was_e = false; - - - // operator>> omits white characters if they're set for ommiting - s >> z; - - if( z=='-' || z=='+' ) - { - ss += z; - s >> z; // we're reading a next character (white characters can be ommited) - } - - old_z = 0; - - // we're reading only digits (base=10) and only one comma operator - for( ; s.good() ; z=static_cast(s.get()) ) - { - if( z=='.' || z==',' ) - { - if( was_comma || was_e ) - // second comma operator or comma operator after 'e' character - break; - - was_comma = true; - } - else - if( z == 'e' || z == 'E' ) - { - if( was_e ) - // second 'e' character - break; - - was_e = true; - } - else - if( z == '+' || z == '-' ) - { - if( old_z != 'e' && old_z != 'E' ) - // '+' or '-' is allowed only after 'e' character - break; - } - else - if( Misc::CharToDigit(z, 10) < 0 ) - break; - - - ss += z; - old_z = z; - } - - // we're leaving the last read character - // (it's not belonging to the value) - s.unget(); - - l.FromString( ss ); - - return s; - } - - - -public: - - /*! - input from standard streams - */ - friend std::istream & operator>>(std::istream & s, Big & l) - { - return InputFromStream(s, l); - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - input from standard streams - */ - friend std::wistream & operator>>(std::wistream & s, Big & l) - { - return InputFromStream(s, l); - } - -#endif - -}; - - -} // namespace - -#endif diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathint.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathint.h deleted file mode 100644 index ad306f01ab..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathint.h +++ /dev/null @@ -1,1922 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2011, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - - - -#ifndef headerfilettmathint -#define headerfilettmathint - -/*! - \file ttmathint.h - \brief template class Int -*/ - -#include "ttmathuint.h" - -namespace ttmath -{ - - -/*! - \brief Int implements a big integer value with a sign - - value_size - how many bytes specify our value - on 32bit platforms: value_size=1 -> 4 bytes -> 32 bits - on 64bit platforms: value_size=1 -> 8 bytes -> 64 bits - value_size = 1,2,3,4,5,6.... -*/ -template -class Int : public UInt -{ -public: - - /*! - this method sets the max value which this class can hold - (all bits will be one besides the last one) - */ - void SetMax() - { - UInt::SetMax(); - UInt::table[value_size-1] = ~ TTMATH_UINT_HIGHEST_BIT; - } - - - /*! - this method sets the min value which this class can hold - (all bits will be zero besides the last one which is one) - */ - void SetMin() - { - UInt::SetZero(); - UInt::table[value_size-1] = TTMATH_UINT_HIGHEST_BIT; - } - - - /*! - this method sets -1 as the value - (-1 is equal the max value in an unsigned type) - */ - void SetSignOne() - { - UInt::SetMax(); - } - - - /*! - we change the sign of the value - - if it isn't possible to change the sign this method returns 1 - else return 0 and changing the sign - */ - uint ChangeSign() - { - /* - if the value is equal that one which has been returned from SetMin - (only the highest bit is set) that means we can't change sign - because the value is too big (bigger about one) - - e.g. when value_size = 1 and value is -2147483648 we can't change it to the - 2147483648 because the max value which can be held is 2147483647 - - we don't change the value and we're using this fact somewhere in some methods - (if we look on our value without the sign we get the correct value - eg. -2147483648 in Int<1> will be 2147483648 on the UInt<1> type) - */ - if( UInt::IsOnlyTheHighestBitSet() ) - return 1; - - UInt temp(*this); - UInt::SetZero(); - UInt::Sub(temp); - - return 0; - } - - - - /*! - this method sets the sign - - e.g. 1 -> -1 - -2 -> -2 - - from a positive value we make a negative value, - if the value is negative we do nothing - */ - void SetSign() - { - if( IsSign() ) - return; - - ChangeSign(); - } - - - - /*! - this method returns true if there's the sign - - (the highest bit will be converted to the bool) - */ - bool IsSign() const - { - return UInt::IsTheHighestBitSet(); - } - - - - /*! - it sets an absolute value - - it can return carry (1) (look on ChangeSign() for details) - */ - uint Abs() - { - if( !IsSign() ) - return 0; - - return ChangeSign(); - } - - - - - /*! - * - * basic mathematic functions - * - */ - -private: - - uint CorrectCarryAfterAdding(bool p1_is_sign, bool p2_is_sign) - { - if( !p1_is_sign && !p2_is_sign ) - { - if( UInt::IsTheHighestBitSet() ) - return 1; - } - - if( p1_is_sign && p2_is_sign ) - { - if( ! UInt::IsTheHighestBitSet() ) - return 1; - } - - return 0; - } - - -public: - - /*! - this method adds two value with a sign and returns a carry - - we're using methods from the base class because values are stored with U2 - we must only make the carry correction - - this = p1(=this) + p2 - - when p1>=0 i p2>=0 carry is set when the highest bit of value is set - when p1<0 i p2<0 carry is set when the highest bit of value is clear - when p1>=0 i p2<0 carry will never be set - when p1<0 i p2>=0 carry will never be set - */ - uint Add(const Int & ss2) - { - bool p1_is_sign = IsSign(); - bool p2_is_sign = ss2.IsSign(); - - UInt::Add(ss2); - - return CorrectCarryAfterAdding(p1_is_sign, p2_is_sign); - } - - - /*! - this method adds one *unsigned* word (at a specific position) - and returns a carry (if it was) - - look at a description in UInt<>::AddInt(...) - */ - uint AddInt(uint value, uint index = 0) - { - bool p1_is_sign = IsSign(); - - UInt::AddInt(value, index); - - return CorrectCarryAfterAdding(p1_is_sign, false); - } - - - /*! - this method adds two *unsigned* words to the existing value - and these words begin on the 'index' position - - index should be equal or smaller than value_size-2 (index <= value_size-2) - x1 - lower word, x2 - higher word - - look at a description in UInt<>::AddTwoInts(...) - */ - uint AddTwoInts(uint x2, uint x1, uint index) - { - bool p1_is_sign = IsSign(); - - UInt::AddTwoInts(x2, x1, index); - - return CorrectCarryAfterAdding(p1_is_sign, false); - } - -private: - - uint CorrectCarryAfterSubtracting(bool p1_is_sign, bool p2_is_sign) - { - if( !p1_is_sign && p2_is_sign ) - { - if( UInt::IsTheHighestBitSet() ) - return 1; - } - - if( p1_is_sign && !p2_is_sign ) - { - if( ! UInt::IsTheHighestBitSet() ) - return 1; - } - - return 0; - } - -public: - - /*! - this method subtracts two values with a sign - - we don't use the previous Add because the method ChangeSign can - sometimes return carry - - this = p1(=this) - p2 - - when p1>=0 i p2>=0 carry will never be set - when p1<0 i p2<0 carry will never be set - when p1>=0 i p2<0 carry is set when the highest bit of value is set - when p1<0 i p2>=0 carry is set when the highest bit of value is clear - */ - uint Sub(const Int & ss2) - { - bool p1_is_sign = IsSign(); - bool p2_is_sign = ss2.IsSign(); - - UInt::Sub(ss2); - - return CorrectCarryAfterSubtracting(p1_is_sign, p2_is_sign); - } - - - /*! - this method subtracts one *unsigned* word (at a specific position) - and returns a carry (if it was) - */ - uint SubInt(uint value, uint index = 0) - { - bool p1_is_sign = IsSign(); - - UInt::SubInt(value, index); - - return CorrectCarryAfterSubtracting(p1_is_sign, false); - } - - - /*! - this method adds one to the value and returns carry - */ - uint AddOne() - { - bool p1_is_sign = IsSign(); - - UInt::AddOne(); - - return CorrectCarryAfterAdding(p1_is_sign, false); - } - - - /*! - this method subtracts one from the value and returns carry - */ - uint SubOne() - { - bool p1_is_sign = IsSign(); - - UInt::SubOne(); - - return CorrectCarryAfterSubtracting(p1_is_sign, false); - } - - -private: - - - uint CheckMinCarry(bool ss1_is_sign, bool ss2_is_sign) - { - /* - we have to examine the sign of the result now - but if the result is with the sign then: - 1. if the signs were the same that means the result is too big - (the result must be without a sign) - 2. if the signs were different that means if the result - is different from that one which has been returned from SetMin() - that is carry (result too big) but if the result is equal SetMin() - there'll be ok (and the next SetSign will has no effect because - the value is actually negative -- look at description of that case - in ChangeSign()) - */ - if( IsSign() ) - { - if( ss1_is_sign != ss2_is_sign ) - { - /* - there can be one case where signs are different and - the result will be equal the value from SetMin() (only the highest bit is set) - (this situation is ok) - */ - if( !UInt::IsOnlyTheHighestBitSet() ) - return 1; - } - else - { - // signs were the same - return 1; - } - } - - return 0; - } - - -public: - - - /*! - multiplication: this = this * ss2 - - it can return a carry - */ - uint MulInt(sint ss2) - { - bool ss1_is_sign, ss2_is_sign; - uint c; - - ss1_is_sign = IsSign(); - - /* - we don't have to check the carry from Abs (values will be correct - because next we're using the method MulInt from the base class UInt - which is without a sign) - */ - Abs(); - - if( ss2 < 0 ) - { - ss2 = -ss2; - ss2_is_sign = true; - } - else - { - ss2_is_sign = false; - } - - c = UInt::MulInt((uint)ss2); - c += CheckMinCarry(ss1_is_sign, ss2_is_sign); - - if( ss1_is_sign != ss2_is_sign ) - SetSign(); - - return c; - } - - - - /*! - multiplication this = this * ss2 - - it returns carry if the result is too big - (we're using the method from the base class but we have to make - one correction in account of signs) - */ - uint Mul(Int ss2) - { - bool ss1_is_sign, ss2_is_sign; - uint c; - - ss1_is_sign = IsSign(); - ss2_is_sign = ss2.IsSign(); - - /* - we don't have to check the carry from Abs (values will be correct - because next we're using the method Mul from the base class UInt - which is without a sign) - */ - Abs(); - ss2.Abs(); - - c = UInt::Mul(ss2); - c += CheckMinCarry(ss1_is_sign, ss2_is_sign); - - if( ss1_is_sign != ss2_is_sign ) - SetSign(); - - return c; - } - - - /*! - division this = this / ss2 - returned values: - 0 - ok - 1 - division by zero - - for example: (result means 'this') - 20 / 3 --> result: 6 remainder: 2 - -20 / 3 --> result: -6 remainder: -2 - 20 / -3 --> result: -6 remainder: 2 - -20 / -3 --> result: 6 remainder: -2 - - in other words: this(old) = ss2 * this(new)(result) + remainder - */ - uint Div(Int ss2, Int * remainder = 0) - { - bool ss1_is_sign, ss2_is_sign; - - ss1_is_sign = IsSign(); - ss2_is_sign = ss2.IsSign(); - - /* - we don't have to test the carry from Abs as well as in Mul - */ - Abs(); - ss2.Abs(); - - uint c = UInt::Div(ss2, remainder); - - if( ss1_is_sign != ss2_is_sign ) - SetSign(); - - if( ss1_is_sign && remainder ) - remainder->SetSign(); - - return c; - } - - uint Div(const Int & ss2, Int & remainder) - { - return Div(ss2, &remainder); - } - - - /*! - division this = this / ss2 (ss2 is int) - returned values: - 0 - ok - 1 - division by zero - - for example: (result means 'this') - 20 / 3 --> result: 6 remainder: 2 - -20 / 3 --> result: -6 remainder: -2 - 20 / -3 --> result: -6 remainder: 2 - -20 / -3 --> result: 6 remainder: -2 - - in other words: this(old) = ss2 * this(new)(result) + remainder - */ - uint DivInt(sint ss2, sint * remainder = 0) - { - bool ss1_is_sign, ss2_is_sign; - - ss1_is_sign = IsSign(); - - /* - we don't have to test the carry from Abs as well as in Mul - */ - Abs(); - - if( ss2 < 0 ) - { - ss2 = -ss2; - ss2_is_sign = true; - } - else - { - ss2_is_sign = false; - } - - uint rem; - uint c = UInt::DivInt((uint)ss2, &rem); - - if( ss1_is_sign != ss2_is_sign ) - SetSign(); - - if( remainder ) - { - if( ss1_is_sign ) - *remainder = -sint(rem); - else - *remainder = sint(rem); - } - - return c; - } - - - uint DivInt(sint ss2, sint & remainder) - { - return DivInt(ss2, &remainder); - } - - -private: - - - /*! - power this = this ^ pow - this can be negative - pow is >= 0 - */ - uint Pow2(const Int & pow) - { - bool was_sign = IsSign(); - uint c = 0; - - if( was_sign ) - c += Abs(); - - uint c_temp = UInt::Pow(pow); - if( c_temp > 0 ) - return c_temp; // c_temp can be: 0, 1 or 2 - - if( was_sign && (pow.table[0] & 1) == 1 ) - // negative value to the power of odd number is negative - c += ChangeSign(); - - return (c==0)? 0 : 1; - } - - -public: - - - /*! - power this = this ^ pow - - return values: - 0 - ok - 1 - carry - 2 - incorrect arguments 0^0 or 0^(-something) - */ - uint Pow(Int pow) - { - if( !pow.IsSign() ) - return Pow2(pow); - - if( UInt::IsZero() ) - // if 'pow' is negative then - // 'this' must be different from zero - return 2; - - if( pow.ChangeSign() ) - return 1; - - Int t(*this); - uint c_temp = t.Pow2(pow); - if( c_temp > 0 ) - return c_temp; - - UInt::SetOne(); - if( Div(t) ) - return 1; - - return 0; - } - - - - /*! - * - * convertion methods - * - */ -private: - - - /*! - an auxiliary method for converting both from UInt and Int - */ - template - uint FromUIntOrInt(const UInt & p, bool UInt_type) - { - uint min_size = (value_size < argument_size)? value_size : argument_size; - uint i; - - for(i=0 ; i::table[i] = p.table[i]; - - - if( value_size > argument_size ) - { - uint fill; - - if( UInt_type ) - fill = 0; - else - fill = (p.table[argument_size-1] & TTMATH_UINT_HIGHEST_BIT)? - TTMATH_UINT_MAX_VALUE : 0; - - // 'this' is longer than 'p' - for( ; i::table[i] = fill; - } - else - { - uint test = (UInt::table[value_size-1] & TTMATH_UINT_HIGHEST_BIT)? - TTMATH_UINT_MAX_VALUE : 0; - - if( UInt_type && test!=0 ) - return 1; - - for( ; i type into this class - - this operation has mainly sense if the value from p - can be held in this type - - it returns a carry if the value 'p' is too big - */ - template - uint FromInt(const Int & p) - { - return FromUIntOrInt(p, false); - } - - - /*! - this method converts the sint type into this class - */ - uint FromInt(sint value) - { - uint fill = ( value<0 ) ? TTMATH_UINT_MAX_VALUE : 0; - - for(uint i=1 ; i::table[i] = fill; - - UInt::table[0] = uint(value); - - // there'll never be a carry here - return 0; - } - - - /*! - this method converts UInt into this class - */ - template - uint FromUInt(const UInt & p) - { - return FromUIntOrInt(p, true); - } - - - /*! - this method converts UInt into this class - */ - template - uint FromInt(const UInt & p) - { - return FromUIntOrInt(p, true); - } - - - /*! - this method converts the uint type into this class - */ - uint FromUInt(uint value) - { - for(uint i=1 ; i::table[i] = 0; - - UInt::table[0] = value; - - // there can be a carry here when the size of this value is equal one word - // and the 'value' has the highest bit set - if( value_size==1 && (value & TTMATH_UINT_HIGHEST_BIT)!=0 ) - return 1; - - return 0; - } - - - /*! - this method converts the uint type into this class - */ - uint FromInt(uint value) - { - return FromUInt(value); - } - - - /*! - the default assignment operator - */ - Int & operator=(const Int & p) - { - FromInt(p); - - return *this; - } - - - /*! - this operator converts an Int type to this class - - it doesn't return a carry - */ - template - Int & operator=(const Int & p) - { - FromInt(p); - - return *this; - } - - - /*! - this method converts the sint type to this class - */ - Int & operator=(sint i) - { - FromInt(i); - - return *this; - } - - - /*! - a constructor for converting the uint to this class - */ - Int(sint i) - { - FromInt(i); - } - - - /*! - a copy constructor - */ - Int(const Int & u) - { - FromInt(u); - } - - - /*! - a constructor for copying from another types - */ - template - Int(const Int & u) - { - // look that 'size' we still set as 'value_size' and not as u.value_size - FromInt(u); - } - - - - /*! - this operator converts an UInt type to this class - - it doesn't return a carry - */ - template - Int & operator=(const UInt & p) - { - FromUInt(p); - - return *this; - } - - - /*! - this method converts the Uint type to this class - */ - Int & operator=(uint i) - { - FromUInt(i); - - return *this; - } - - - /*! - a constructor for converting the uint to this class - */ - Int(uint i) - { - FromUInt(i); - } - - - /*! - a constructor for copying from another types - */ - template - Int(const UInt & u) - { - // look that 'size' we still set as 'value_size' and not as u.value_size - FromUInt(u); - } - - - -#ifdef TTMATH_PLATFORM32 - - - /*! - this method converts unsigned 64 bit int type to this class - ***this method is created only on a 32bit platform*** - */ - uint FromUInt(ulint n) - { - uint c = UInt::FromUInt(n); - - if( c ) - return 1; - - if( value_size == 1 ) - return ((UInt::table[0] & TTMATH_UINT_HIGHEST_BIT) == 0) ? 0 : 1; - - if( value_size == 2 ) - return ((UInt::table[1] & TTMATH_UINT_HIGHEST_BIT) == 0) ? 0 : 1; - - return 0; - } - - - /*! - this method converts unsigned 64 bit int type to this class - ***this method is created only on a 32bit platform*** - */ - uint FromInt(ulint n) - { - return FromUInt(n); - } - - - /*! - this method converts signed 64 bit int type to this class - ***this method is created only on a 32bit platform*** - */ - uint FromInt(slint n) - { - uint mask = (n < 0) ? TTMATH_UINT_MAX_VALUE : 0; - - UInt::table[0] = (uint)(ulint)n; - - if( value_size == 1 ) - { - if( uint(ulint(n) >> 32) != mask ) - return 1; - - return ((UInt::table[0] & TTMATH_UINT_HIGHEST_BIT) == (mask & TTMATH_UINT_HIGHEST_BIT)) ? 0 : 1; - } - - UInt::table[1] = (uint)(ulint(n) >> 32); - - for(uint i=2 ; i::table[i] = mask; - - return 0; - } - - - /*! - this operator converts unsigned 64 bit int type to this class - ***this operator is created only on a 32bit platform*** - */ - Int & operator=(ulint n) - { - FromUInt(n); - - return *this; - } - - - /*! - a constructor for converting unsigned 64 bit int to this class - ***this constructor is created only on a 32bit platform*** - */ - Int(ulint n) - { - FromUInt(n); - } - - - /*! - this operator converts signed 64 bit int type to this class - ***this operator is created only on a 32bit platform*** - */ - Int & operator=(slint n) - { - FromInt(n); - - return *this; - } - - - /*! - a constructor for converting signed 64 bit int to this class - ***this constructor is created only on a 32bit platform*** - */ - Int(slint n) - { - FromInt(n); - } - -#endif - - - - -#ifdef TTMATH_PLATFORM64 - - /*! - this method converts 32 bit unsigned int type to this class - ***this operator is created only on a 64bit platform*** - */ - uint FromUInt(unsigned int i) - { - return FromUInt(uint(i)); - } - - - /*! - this method converts 32 bit unsigned int type to this class - ***this operator is created only on a 64bit platform*** - */ - uint FromInt(unsigned int i) - { - return FromUInt(i); - } - - - /*! - this method converts 32 bit signed int type to this class - ***this operator is created only on a 64bit platform*** - */ - uint FromInt(signed int i) - { - return FromInt(sint(i)); - } - - - /*! - this method converts 32 bit unsigned int type to this class - ***this operator is created only on a 64bit platform*** - */ - Int & operator=(unsigned int i) - { - FromUInt(i); - - return *this; - } - - - /*! - a constructor for converting 32 bit unsigned int to this class - ***this constructor is created only on a 64bit platform*** - */ - Int(unsigned int i) - { - FromUInt(i); - } - - - /*! - this operator converts 32 bit signed int type to this class - ***this operator is created only on a 64bit platform*** - */ - Int & operator=(signed int i) - { - FromInt(i); - - return *this; - } - - - /*! - a constructor for converting 32 bit signed int to this class - ***this constructor is created only on a 64bit platform*** - */ - Int(signed int i) - { - FromInt(i); - } - -#endif - - - - /*! - a constructor for converting string to this class (with the base=10) - */ - Int(const char * s) - { - FromString(s); - } - - - /*! - a constructor for converting a string to this class (with the base=10) - */ - Int(const std::string & s) - { - FromString( s.c_str() ); - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - a constructor for converting string to this class (with the base=10) - */ - Int(const wchar_t * s) - { - FromString(s); - } - - - /*! - a constructor for converting a string to this class (with the base=10) - */ - Int(const std::wstring & s) - { - FromString( s.c_str() ); - } - -#endif - - - /*! - a default constructor - - we don't clear table etc. - */ - Int() - { - } - - - /*! - the destructor - */ - ~Int() - { - } - - - /*! - this method returns the lowest value from table with a sign - - we must be sure when we using this method whether the value - will hold in an sint type or not (the rest value from table must be zero or -1) - */ - sint ToInt() const - { - return sint( UInt::table[0] ); - } - - - /*! - this method converts the value to uint type - can return a carry if the value is too long to store it in uint type - */ - uint ToUInt(uint & result) const - { - uint c = UInt::ToUInt(result); - - if( value_size == 1 ) - return (result & TTMATH_UINT_HIGHEST_BIT) == 0 ? 0 : 1; - - return c; - } - - - /*! - this method converts the value to uint type - can return a carry if the value is too long to store it in uint type - */ - uint ToInt(uint & result) const - { - return ToUInt(result); - } - - - /*! - this method converts the value to sint type - can return a carry if the value is too long to store it in sint type - */ - uint ToInt(sint & result) const - { - result = sint( UInt::table[0] ); - uint mask = IsSign() ? TTMATH_UINT_MAX_VALUE : 0; - - if( (result & TTMATH_UINT_HIGHEST_BIT) != (mask & TTMATH_UINT_HIGHEST_BIT) ) - return 1; - - for(uint i=1 ; i::table[i] != mask ) - return 1; - - return 0; - } - - -#ifdef TTMATH_PLATFORM32 - - /*! - this method converts the value to ulint type (64 bit unsigned integer) - can return a carry if the value is too long to store it in ulint type - *** this method is created only on a 32 bit platform *** - */ - uint ToUInt(ulint & result) const - { - uint c = UInt::ToUInt(result); - - if( value_size == 1 ) - return (UInt::table[0] & TTMATH_UINT_HIGHEST_BIT) == 0 ? 0 : 1; - - if( value_size == 2 ) - return (UInt::table[1] & TTMATH_UINT_HIGHEST_BIT) == 0 ? 0 : 1; - - return c; - } - - - /*! - this method converts the value to ulint type (64 bit unsigned integer) - can return a carry if the value is too long to store it in ulint type - *** this method is created only on a 32 bit platform *** - */ - uint ToInt(ulint & result) const - { - return ToUInt(result); - } - - - /*! - this method converts the value to slint type (64 bit signed integer) - can return a carry if the value is too long to store it in slint type - *** this method is created only on a 32 bit platform *** - */ - uint ToInt(slint & result) const - { - if( value_size == 1 ) - { - result = slint(sint(UInt::table[0])); - } - else - { - uint low = UInt::table[0]; - uint high = UInt::table[1]; - - result = low; - result |= (ulint(high) << TTMATH_BITS_PER_UINT); - - uint mask = IsSign() ? TTMATH_UINT_MAX_VALUE : 0; - - if( (high & TTMATH_UINT_HIGHEST_BIT) != (mask & TTMATH_UINT_HIGHEST_BIT) ) - return 1; - - for(uint i=2 ; i::table[i] != mask ) - return 1; - } - - return 0; - } - -#endif - - - -#ifdef TTMATH_PLATFORM64 - - /*! - this method converts the value to a 32 bit unsigned integer - can return a carry if the value is too long to store it in this type - *** this method is created only on a 64 bit platform *** - */ - uint ToUInt(unsigned int & result) const - { - uint c = UInt::ToUInt(result); - - if( c || IsSign() ) - return 1; - - return 0; - } - - - /*! - this method converts the value to a 32 bit unsigned integer - can return a carry if the value is too long to store it in this type - *** this method is created only on a 64 bit platform *** - */ - uint ToInt(unsigned int & result) const - { - return ToUInt(result); - } - - - /*! - this method converts the value to a 32 bit signed integer - can return a carry if the value is too long to store it in this type - *** this method is created only on a 64 bit platform *** - */ - uint ToInt(int & result) const - { - uint first = UInt::table[0]; - - result = int(first); - uint mask = IsSign() ? TTMATH_UINT_MAX_VALUE : 0; - - if( (first >> 31) != (mask >> 31) ) - return 1; - - for(uint i=1 ; i::table[i] != mask ) - return 1; - - return 0; - } - -#endif - - - - -private: - - /*! - an auxiliary method for converting to a string - */ - template - void ToStringBase(string_type & result, uint b = 10) const - { - if( IsSign() ) - { - Int temp(*this); - temp.Abs(); - temp.UInt::ToStringBase(result, b, true); - } - else - { - UInt::ToStringBase(result, b, false); - } - } - -public: - - /*! - this method converts the value to a string with a base equal 'b' - */ - void ToString(std::string & result, uint b = 10) const - { - return ToStringBase(result, b); - } - - - /*! - this method converts the value to a string with a base equal 'b' - */ - std::string ToString(uint b = 10) const - { - std::string result; - ToStringBase(result, b); - - return result; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - this method converts the value to a string with a base equal 'b' - */ - void ToString(std::wstring & result, uint b = 10) const - { - return ToStringBase(result, b); - } - - - /*! - this method converts the value to a string with a base equal 'b' - */ - std::wstring ToWString(uint b = 10) const - { - std::wstring result; - ToStringBase(result, b); - - return result; - } - -#endif - - - -private: - - /*! - an auxiliary method for converting from a string - */ - template - uint FromStringBase(const char_type * s, uint b = 10, const char_type ** after_source = 0, bool * value_read = 0) - { - bool is_sign = false; - - Misc::SkipWhiteCharacters(s); - - if( *s == '-' ) - { - is_sign = true; - Misc::SkipWhiteCharacters(++s); - } - else - if( *s == '+' ) - { - Misc::SkipWhiteCharacters(++s); - } - - if( UInt::FromString(s,b,after_source,value_read) ) - return 1; - - if( is_sign ) - { - Int mmin; - - mmin.SetMin(); - - /* - the reference to mmin will be automatically converted to the reference - to UInt type - (this value can be equal mmin -- look at a description in ChangeSign()) - */ - if( UInt::operator>( mmin ) ) - return 1; - - /* - if the value is equal mmin the method ChangeSign() does nothing (only returns 1 but we ignore it) - */ - ChangeSign(); - } - else - { - Int mmax; - - mmax.SetMax(); - - if( UInt::operator>( mmax ) ) - return 1; - } - - return 0; - } - - -public: - - /*! - this method converts a string into its value - it returns carry=1 if the value will be too big or an incorrect base 'b' is given - - string is ended with a non-digit value, for example: - "-12" will be translated to -12 - as well as: - "- 12foo" will be translated to -12 too - - existing first white characters will be ommited - (between '-' and a first digit can be white characters too) - - after_source (if exists) is pointing at the end of the parsed string - - value_read (if exists) tells whether something has actually been read (at least one digit) - */ - uint FromString(const char * s, uint b = 10, const char ** after_source = 0, bool * value_read = 0) - { - return FromStringBase(s, b, after_source, value_read); - } - - - /*! - this method converts a string into its value - */ - uint FromString(const wchar_t * s, uint b = 10, const wchar_t ** after_source = 0, bool * value_read = 0) - { - return FromStringBase(s, b, after_source, value_read); - } - - - /*! - this method converts a string into its value - it returns carry=1 if the value will be too big or an incorrect base 'b' is given - */ - uint FromString(const std::string & s, uint b = 10) - { - return FromString( s.c_str(), b ); - } - - - /*! - this operator converts a string into its value (with base = 10) - */ - Int & operator=(const char * s) - { - FromString(s); - - return *this; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - - /*! - this method converts a string into its value - it returns carry=1 if the value will be too big or an incorrect base 'b' is given - */ - uint FromString(const std::wstring & s, uint b = 10) - { - return FromString( s.c_str(), b ); - } - - - /*! - this operator converts a string into its value (with base = 10) - */ - Int & operator=(const wchar_t * s) - { - FromString(s); - - return *this; - } - - - /*! - this operator converts a string into its value (with base = 10) - */ - Int & operator=(const std::wstring & s) - { - FromString( s.c_str() ); - - return *this; - } - -#endif - - - /*! - this operator converts a string into its value (with base = 10) - */ - Int & operator=(const std::string & s) - { - FromString( s.c_str() ); - - return *this; - } - - - - /*! - * - * methods for comparing - * - * - */ - - bool operator==(const Int & l) const - { - return UInt::operator==(l); - } - - bool operator!=(const Int & l) const - { - return UInt::operator!=(l); - } - - bool operator<(const Int & l) const - { - sint i=value_size-1; - - sint a1 = sint(UInt::table[i]); - sint a2 = sint(l.table[i]); - - if( a1 != a2 ) - return a1 < a2; - - - for(--i ; i>=0 ; --i) - { - if( UInt::table[i] != l.table[i] ) - // comparison as unsigned int - return UInt::table[i] < l.table[i]; - } - - // they're equal - return false; - } - - - bool operator>(const Int & l) const - { - sint i=value_size-1; - - sint a1 = sint(UInt::table[i]); - sint a2 = sint(l.table[i]); - - if( a1 != a2 ) - return a1 > a2; - - - for(--i ; i>=0 ; --i) - { - if( UInt::table[i] != l.table[i] ) - // comparison as unsigned int - return UInt::table[i] > l.table[i]; - } - - // they're equal - return false; - } - - - bool operator<=(const Int & l) const - { - sint i=value_size-1; - - sint a1 = sint(UInt::table[i]); - sint a2 = sint(l.table[i]); - - if( a1 != a2 ) - return a1 < a2; - - - for(--i ; i>=0 ; --i) - { - if( UInt::table[i] != l.table[i] ) - // comparison as unsigned int - return UInt::table[i] < l.table[i]; - } - - // they're equal - return true; - } - - - bool operator>=(const Int & l) const - { - sint i=value_size-1; - - sint a1 = sint(UInt::table[i]); - sint a2 = sint(l.table[i]); - - if( a1 != a2 ) - return a1 > a2; - - - for(--i ; i>=0 ; --i) - { - if( UInt::table[i] != l.table[i] ) - // comparison as unsigned int - return UInt::table[i] > l.table[i]; - } - - // they're equal - return true; - } - - - - /*! - * - * standard mathematical operators - * - */ - - - /*! - an operator for changing the sign - - it's not changing 'this' but the changed value will be returned - */ - Int operator-() const - { - Int temp(*this); - - temp.ChangeSign(); - - return temp; - } - - - Int operator-(const Int & p2) const - { - Int temp(*this); - - temp.Sub(p2); - - return temp; - } - - - Int & operator-=(const Int & p2) - { - Sub(p2); - - return *this; - } - - - Int operator+(const Int & p2) const - { - Int temp(*this); - - temp.Add(p2); - - return temp; - } - - - Int & operator+=(const Int & p2) - { - Add(p2); - - return *this; - } - - - Int operator*(const Int & p2) const - { - Int temp(*this); - - temp.Mul(p2); - - return temp; - } - - - Int & operator*=(const Int & p2) - { - Mul(p2); - - return *this; - } - - - Int operator/(const Int & p2) const - { - Int temp(*this); - - temp.Div(p2); - - return temp; - } - - - Int & operator/=(const Int & p2) - { - Div(p2); - - return *this; - } - - - Int operator%(const Int & p2) const - { - Int temp(*this); - Int remainder; - - temp.Div(p2, remainder); - - return remainder; - } - - - Int & operator%=(const Int & p2) - { - Int remainder; - - Div(p2, remainder); - operator=(remainder); - - return *this; - } - - - /*! - Prefix operator e.g. ++variable - */ - UInt & operator++() - { - AddOne(); - - return *this; - } - - - /*! - Postfix operator e.g. variable++ - */ - UInt operator++(int) - { - UInt temp( *this ); - - AddOne(); - - return temp; - } - - - UInt & operator--() - { - SubOne(); - - return *this; - } - - - UInt operator--(int) - { - UInt temp( *this ); - - SubOne(); - - return temp; - } - - - - /*! - * - * input/output operators for standard streams - * - */ - -private: - - /*! - an auxiliary method for outputing to standard streams - */ - template - static ostream_type & OutputToStream(ostream_type & s, const Int & l) - { - string_type ss; - - l.ToString(ss); - s << ss; - - return s; - } - - - -public: - - - /*! - output to standard streams - */ - friend std::ostream & operator<<(std::ostream & s, const Int & l) - { - return OutputToStream(s, l); - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - output to standard streams - */ - friend std::wostream & operator<<(std::wostream & s, const Int & l) - { - return OutputToStream(s, l); - } - -#endif - - - -private: - - /*! - an auxiliary method for converting from a string - */ - template - static istream_type & InputFromStream(istream_type & s, Int & l) - { - string_type ss; - - // char or wchar_t for operator>> - char_type z; - - // operator>> omits white characters if they're set for ommiting - s >> z; - - if( z=='-' || z=='+' ) - { - ss += z; - s >> z; // we're reading a next character (white characters can be ommited) - } - - // we're reading only digits (base=10) - while( s.good() && Misc::CharToDigit(z, 10)>=0 ) - { - ss += z; - z = static_cast(s.get()); - } - - // we're leaving the last readed character - // (it's not belonging to the value) - s.unget(); - - l.FromString(ss); - - return s; - } - - -public: - - /*! - input from standard streams - */ - friend std::istream & operator>>(std::istream & s, Int & l) - { - return InputFromStream(s, l); - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - input from standard streams - */ - friend std::wistream & operator>>(std::wistream & s, Int & l) - { - return InputFromStream(s, l); - } -#endif - - -}; - -} // namespace - -#endif diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathmisc.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathmisc.h deleted file mode 100644 index 330a43a468..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathmisc.h +++ /dev/null @@ -1,250 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2010, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef headerfilettmathmisc -#define headerfilettmathmisc - - -/*! - \file ttmathmisc.h - \brief some helpful functions -*/ - - -#include - - -namespace ttmath -{ - -/*! - some helpful functions -*/ -class Misc -{ -public: - - -/* - * - * AssignString(result, str) - * result = str - * - */ - -/*! - result = str -*/ -static void AssignString(std::string & result, const char * str) -{ - result = str; -} - - -#ifndef TTMATH_DONT_USE_WCHAR - -/*! - result = str -*/ -static void AssignString(std::wstring & result, const char * str) -{ - result.clear(); - - for( ; *str ; ++str ) - result += *str; -} - - -/*! - result = str -*/ -static void AssignString(std::wstring & result, const std::string & str) -{ - return AssignString(result, str.c_str()); -} - - -/*! - result = str -*/ -static void AssignString(std::string & result, const wchar_t * str) -{ - result.clear(); - - for( ; *str ; ++str ) - result += static_cast(*str); -} - - -/*! - result = str -*/ -static void AssignString(std::string & result, const std::wstring & str) -{ - return AssignString(result, str.c_str()); -} - -#endif - - -/* - * - * AddString(result, str) - * result += str - * - */ - - -/*! - result += str -*/ -static void AddString(std::string & result, const char * str) -{ - result += str; -} - - -#ifndef TTMATH_DONT_USE_WCHAR - -/*! - result += str -*/ -static void AddString(std::wstring & result, const char * str) -{ - for( ; *str ; ++str ) - result += *str; -} - -#endif - - -/* - this method omits any white characters from the string - char_type is char or wchar_t -*/ -template -static void SkipWhiteCharacters(const char_type * & c) -{ - // 13 is at the end in a DOS text file (\r\n) - while( (*c==' ' ) || (*c=='\t') || (*c==13 ) || (*c=='\n') ) - ++c; -} - - - - -/*! - this static method converts one character into its value - - for example: - 1 -> 1 - 8 -> 8 - A -> 10 - f -> 15 - - this method don't check whether c is correct or not -*/ -static uint CharToDigit(uint c) -{ - if(c>='0' && c<='9') - return c-'0'; - - if(c>='a' && c<='z') - return c-'a'+10; - -return c-'A'+10; -} - - -/*! - this method changes a character 'c' into its value - (if there can't be a correct value it returns -1) - - for example: - c=2, base=10 -> function returns 2 - c=A, base=10 -> function returns -1 - c=A, base=16 -> function returns 10 -*/ -static sint CharToDigit(uint c, uint base) -{ - if( c>='0' && c<='9' ) - c=c-'0'; - else - if( c>='a' && c<='z' ) - c=c-'a'+10; - else - if( c>='A' && c<='Z' ) - c=c-'A'+10; - else - return -1; - - - if( c >= base ) - return -1; - - -return sint(c); -} - - - -/*! - this method converts a digit into a char - digit should be from <0,F> - (we don't have to get a base) - - for example: - 1 -> 1 - 8 -> 8 - 10 -> A - 15 -> F -*/ -static uint DigitToChar(uint digit) -{ - if( digit < 10 ) - return digit + '0'; - -return digit - 10 + 'A'; -} - - -}; // struct Misc - -} - - -#endif diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathobjects.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathobjects.h deleted file mode 100644 index c35026bbd0..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathobjects.h +++ /dev/null @@ -1,809 +0,0 @@ -/* - * This file is a part of TTMath Mathematical Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2010, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef headerfilettmathobject -#define headerfilettmathobject - -/*! - \file ttmathobjects.h - \brief Mathematic functions. -*/ - -#include -#include -#include -#include - -#include "ttmathtypes.h" -#include "ttmathmisc.h" - - -namespace ttmath -{ - -/*! - objects of this class are used with the mathematical parser - they hold variables or functions defined by a user - - each object has its own table in which we're keeping variables or functions -*/ -class Objects -{ -public: - - - /*! - one item (variable or function) - 'items' will be on the table - */ - struct Item - { - // name of a variable of a function - // internally we store variables and funcions as std::string (not std::wstring even when wide characters are used) - std::string value; - - // number of parameters required by the function - // (if there's a variable this 'param' is ignored) - int param; - - Item() {} - Item(const std::string & v, int p) : value(v), param(p) {} - }; - - // 'Table' is the type of our table - typedef std::map Table; - typedef Table::iterator Iterator; - typedef Table::const_iterator CIterator; - - - - /*! - this method returns true if a character 'c' is a character - which can be in a name - - if 'can_be_digit' is true that means when the 'c' is a digit this - method returns true otherwise it returns false - */ - static bool CorrectCharacter(int c, bool can_be_digit) - { - if( (c>='a' && c<='z') || (c>='A' && c<='Z') ) - return true; - - if( can_be_digit && ((c>='0' && c<='9') || c=='_') ) - return true; - - return false; - } - - - /*! - this method returns true if the name can be as a name of an object - */ - template - static bool IsNameCorrect(const string_type & name) - { - if( name.empty() ) - return false; - - if( !CorrectCharacter(name[0], false) ) - return false; - - typename string_type::const_iterator i = name.begin(); - - for(++i ; i!=name.end() ; ++i) - if( !CorrectCharacter(*i, true) ) - return false; - - return true; - } - - - /*! - this method returns true if such an object is defined (name exists) - */ - bool IsDefined(const std::string & name) - { - Iterator i = table.find(name); - - if( i != table.end() ) - // we have this object in our table - return true; - - return false; - } - - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - this method returns true if such an object is defined (name exists) - */ - bool IsDefined(const std::wstring & name) - { - // we should check whether the name (in wide characters) are correct - // before calling AssignString() function - if( !IsNameCorrect(name) ) - return false; - - Misc::AssignString(str_tmp1, name); - - return IsDefined(str_tmp1); - } - -#endif - - - /*! - this method adds one object (variable of function) into the table - */ - ErrorCode Add(const std::string & name, const std::string & value, int param = 0) - { - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Iterator i = table.find(name); - - if( i != table.end() ) - // we have this object in our table - return err_object_exists; - - table.insert( std::make_pair(name, Item(value, param)) ); - - return err_ok; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - this method adds one object (variable of function) into the table - */ - ErrorCode Add(const std::wstring & name, const std::wstring & value, int param = 0) - { - // we should check whether the name (in wide characters) are correct - // before calling AssignString() function - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Misc::AssignString(str_tmp1, name); - Misc::AssignString(str_tmp2, value); - - return Add(str_tmp1, str_tmp2, param); - } - -#endif - - - /*! - this method returns 'true' if the table is empty - */ - bool Empty() const - { - return table.empty(); - } - - - /*! - this method clears the table - */ - void Clear() - { - return table.clear(); - } - - - /*! - this method returns 'const_iterator' on the first item on the table - */ - CIterator Begin() const - { - return table.begin(); - } - - - /*! - this method returns 'const_iterator' pointing at the space after last item - (returns table.end()) - */ - CIterator End() const - { - return table.end(); - } - - - /*! - this method changes the value and the number of parameters for a specific object - */ - ErrorCode EditValue(const std::string & name, const std::string & value, int param = 0) - { - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Iterator i = table.find(name); - - if( i == table.end() ) - return err_unknown_object; - - i->second.value = value; - i->second.param = param; - - return err_ok; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - - /*! - this method changes the value and the number of parameters for a specific object - */ - ErrorCode EditValue(const std::wstring & name, const std::wstring & value, int param = 0) - { - // we should check whether the name (in wide characters) are correct - // before calling AssignString() function - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Misc::AssignString(str_tmp1, name); - Misc::AssignString(str_tmp2, value); - - return EditValue(str_tmp1, str_tmp2, param); - } - -#endif - - - /*! - this method changes the name of a specific object - */ - ErrorCode EditName(const std::string & old_name, const std::string & new_name) - { - if( !IsNameCorrect(old_name) || !IsNameCorrect(new_name) ) - return err_incorrect_name; - - Iterator old_i = table.find(old_name); - if( old_i == table.end() ) - return err_unknown_object; - - if( old_name == new_name ) - // the new name is the same as the old one - // we treat it as a normal situation - return err_ok; - - ErrorCode err = Add(new_name, old_i->second.value, old_i->second.param); - - if( err == err_ok ) - { - old_i = table.find(old_name); - TTMATH_ASSERT( old_i != table.end() ) - - table.erase(old_i); - } - - return err; - } - - - -#ifndef TTMATH_DONT_USE_WCHAR - - - /*! - this method changes the name of a specific object - */ - ErrorCode EditName(const std::wstring & old_name, const std::wstring & new_name) - { - // we should check whether the name (in wide characters) are correct - // before calling AssignString() function - if( !IsNameCorrect(old_name) || !IsNameCorrect(new_name) ) - return err_incorrect_name; - - Misc::AssignString(str_tmp1, old_name); - Misc::AssignString(str_tmp2, new_name); - - return EditName(str_tmp1, str_tmp2); - } - -#endif - - - /*! - this method deletes an object - */ - ErrorCode Delete(const std::string & name) - { - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Iterator i = table.find(name); - - if( i == table.end() ) - return err_unknown_object; - - table.erase( i ); - - return err_ok; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - - /*! - this method deletes an object - */ - ErrorCode Delete(const std::wstring & name) - { - // we should check whether the name (in wide characters) are correct - // before calling AssignString() function - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Misc::AssignString(str_tmp1, name); - - return Delete(str_tmp1); - } - -#endif - - - /*! - this method gets the value of a specific object - */ - ErrorCode GetValue(const std::string & name, std::string & value) const - { - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - CIterator i = table.find(name); - - if( i == table.end() ) - { - value.clear(); - return err_unknown_object; - } - - value = i->second.value; - - return err_ok; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - this method gets the value of a specific object - */ - ErrorCode GetValue(const std::wstring & name, std::wstring & value) - { - // we should check whether the name (in wide characters) are correct - // before calling AssignString() function - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Misc::AssignString(str_tmp1, name); - ErrorCode err = GetValue(str_tmp1, str_tmp2); - Misc::AssignString(value, str_tmp2); - - return err; - } - -#endif - - - /*! - this method gets the value of a specific object - (this version is used for not copying the whole string) - */ - ErrorCode GetValue(const std::string & name, const char ** value) const - { - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - CIterator i = table.find(name); - - if( i == table.end() ) - { - *value = 0; - return err_unknown_object; - } - - *value = i->second.value.c_str(); - - return err_ok; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - this method gets the value of a specific object - (this version is used for not copying the whole string) - */ - ErrorCode GetValue(const std::wstring & name, const char ** value) - { - // we should check whether the name (in wide characters) are correct - // before calling AssignString() function - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Misc::AssignString(str_tmp1, name); - - return GetValue(str_tmp1, value); - } - -#endif - - - /*! - this method gets the value and the number of parameters - of a specific object - */ - ErrorCode GetValueAndParam(const std::string & name, std::string & value, int * param) const - { - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - CIterator i = table.find(name); - - if( i == table.end() ) - { - value.empty(); - *param = 0; - return err_unknown_object; - } - - value = i->second.value; - *param = i->second.param; - - return err_ok; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - this method gets the value and the number of parameters - of a specific object - */ - ErrorCode GetValueAndParam(const std::wstring & name, std::wstring & value, int * param) - { - // we should check whether the name (in wide characters) are correct - // before calling AssignString() function - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Misc::AssignString(str_tmp1, name); - ErrorCode err = GetValueAndParam(str_tmp1, str_tmp2, param); - Misc::AssignString(value, str_tmp2); - - return err; - } - -#endif - - - /*! - this method sets the value and the number of parameters - of a specific object - (this version is used for not copying the whole string) - */ - ErrorCode GetValueAndParam(const std::string & name, const char ** value, int * param) const - { - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - CIterator i = table.find(name); - - if( i == table.end() ) - { - *value = 0; - *param = 0; - return err_unknown_object; - } - - *value = i->second.value.c_str(); - *param = i->second.param; - - return err_ok; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - - /*! - this method sets the value and the number of parameters - of a specific object - (this version is used for not copying the whole string - but in fact we make one copying during AssignString()) - */ - ErrorCode GetValueAndParam(const std::wstring & name, const char ** value, int * param) - { - // we should check whether the name (in wide characters) are correct - // before calling AssignString() function - if( !IsNameCorrect(name) ) - return err_incorrect_name; - - Misc::AssignString(str_tmp1, name); - - return GetValueAndParam(str_tmp1, value, param); - } - - -#endif - - - /*! - this method returns a pointer into the table - */ - Table * GetTable() - { - return &table; - } - - -private: - - Table table; - std::string str_tmp1, str_tmp2; - -}; // end of class Objects - - - - - - - -/*! - objects of the class History are used to keep values in functions - which take a lot of time during calculating, for instance in the - function Factorial(x) - - it means that when we're calculating e.g. Factorial(1000) and the - Factorial finds that we have calculated it before, the value (result) - is taken from the history -*/ -template -class History -{ - /*! - one item in the History's object holds a key, a value for the key - and a corresponding error code - */ - struct Item - { - ValueType key, value; - ErrorCode err; - }; - - - /*! - we use std::list for simply deleting the first item - but because we're searching through the whole container - (in the method Get) the container should not be too big - (linear time of searching) - */ - typedef std::list buffer_type; - buffer_type buffer; - typename buffer_type::size_type buffer_max_size; - -public: - - /*! - default constructor - default max size of the History's container is 15 items - */ - History() - { - buffer_max_size = 15; - } - - - /*! - a constructor which takes another value of the max size - of the History's container - */ - History(typename buffer_type::size_type new_size) - { - buffer_max_size = new_size; - } - - - /*! - this method adds one item into the History - if the size of the container is greater than buffer_max_size - the first item will be removed - */ - void Add(const ValueType & key, const ValueType & value, ErrorCode err) - { - Item item; - item.key = key; - item.value = value; - item.err = err; - - buffer.insert( buffer.end(), item ); - - if( buffer.size() > buffer_max_size ) - buffer.erase(buffer.begin()); - } - - - /*! - this method checks whether we have an item which has the key equal 'key' - - if there's such item the method sets the 'value' and the 'err' - and returns true otherwise it returns false and 'value' and 'err' - remain unchanged - */ - bool Get(const ValueType & key, ValueType & value, ErrorCode & err) - { - typename buffer_type::iterator i = buffer.begin(); - - for( ; i != buffer.end() ; ++i ) - { - if( i->key == key ) - { - value = i->value; - err = i->err; - return true; - } - } - - return false; - } - - - /*! - this methods deletes an item - - we assume that there is only one item with the 'key' - (this methods removes the first one) - */ - bool Remove(const ValueType & key) - { - typename buffer_type::iterator i = buffer.begin(); - - for( ; i != buffer.end() ; ++i ) - { - if( i->key == key ) - { - buffer.erase(i); - return true; - } - } - - return false; - } - - -}; // end of class History - - - -/*! - this is an auxiliary class used when calculating Gamma() or Factorial() - - in multithreaded environment you can provide an object of this class to - the Gamma() or Factorial() function, e.g; - typedef Big<1, 3> MyBig; - MyBig x = 123456; - CGamma cgamma; - std::cout << Gamma(x, cgamma); - each thread should have its own CGamma<> object - - in a single-thread environment a CGamma<> object is a static variable - in a second version of Gamma() and you don't have to explicitly use it, e.g. - typedef Big<1, 3> MyBig; - MyBig x = 123456; - std::cout << Gamma(x); -*/ -template -struct CGamma -{ - /*! - this table holds factorials - 1 - 1 - 2 - 6 - 24 - 120 - 720 - ....... - */ - std::vector fact; - - - /*! - this table holds Bernoulli numbers - 1 - -0.5 - 0.166666666666666666666666667 - 0 - -0.0333333333333333333333333333 - 0 - 0.0238095238095238095238095238 - 0 - -0.0333333333333333333333333333 - 0 - 0.075757575757575757575757576 - ..... - */ - std::vector bern; - - - /*! - here we store some calculated values - (this is for speeding up, if the next argument of Gamma() or Factorial() - is in the 'history' then the result we are not calculating but simply - return from the 'history' object) - */ - History history; - - - /*! - this method prepares some coefficients: factorials and Bernoulli numbers - stored in 'fact' and 'bern' objects - - how many values should be depends on the size of the mantissa - if - the mantissa is larger then we must calculate more values - for a mantissa which consists of 256 bits (8 words on a 32bit platform) - we have to calculate about 30 values (the size of fact and bern will be 30), - and for a 2048 bits mantissa we have to calculate 306 coefficients - - you don't have to call this method, these coefficients will be automatically calculated - when they are needed - - you must note that calculating these coefficients is a little time-consuming operation, - (especially when the mantissa is large) and first call to Gamma() or Factorial() - can take more time than next calls, and in the end this is the point when InitAll() - comes in handy: you can call this method somewhere at the beginning of your program - */ - void InitAll(); - // definition is in ttmath.h -}; - - - - -} // namespace - -#endif diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathparser.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathparser.h deleted file mode 100644 index 4b2243f349..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathparser.h +++ /dev/null @@ -1,2777 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2010, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - - - -#ifndef headerfilettmathparser -#define headerfilettmathparser - -/*! - \file ttmathparser.h - \brief A mathematical parser -*/ - -#include -#include -#include -#include - -#include "ttmath.h" -#include "ttmathobjects.h" -#include "ttmathmisc.h" - - - -namespace ttmath -{ - -/*! - \brief Mathematical parser - - let x will be an input string meaning an expression for converting: - - x = [+|-]Value[operator[+|-]Value][operator[+|-]Value]... - where: - an operator can be: - ^ (pow) (the heighest priority) - - * (mul) (or multiplication without an operator -- short mul) - / (div) (* and / have the same priority) - - + (add) - - (sub) (+ and - have the same priority) - - < (lower than) - > (greater than) - <= (lower or equal than) - >= (greater or equal than) - == (equal) - != (not equal) (all above logical operators have the same priority) - - && (logical and) - - || (logical or) (the lowest priority) - - short mul: - if the second Value (Var below) is either a variable or function there might not be - an operator between them, e.g. - "[+|-]Value Var" is treated as "[+|-]Value * Var" and the multiplication - has the same priority as a normal multiplication: - 4x = 4 * x - 2^3m = (2^3)* m - 6h^3 = 6 * (h^3) - 2sin(pi) = 2 * sin(pi) - etc. - - Value can be: - constant e.g. 100, can be preceded by operators for changing the base (radix): [#|&] - # - hex - & - bin - sample: #10 = 16 - &10 = 2 - variable e.g. pi - another expression between brackets e.g (x) - function e.g. sin(x) - - for example a correct input string can be: - "1" - "2.1234" - "2,1234" (they are the same, by default we can either use a comma or a dot) - "1 + 2" - "(1 + 2) * 3" - "pi" - "sin(pi)" - "(1+2)*(2+3)" - "log(2;1234)" there's a semicolon here (not a comma), we use it in functions - for separating parameters - "1 < 2" (the result will be: 1) - "4 < 3" (the result will be: 0) - "2+x" (of course if the variable 'x' is defined) - "4x+10" - "#20+10" = 32 + 10 = 42 - "10 ^ -&101" = 10 ^ -5 = 0.00001 - "8 * -&10" = 8 * -2 = -16 - etc. - - we can also use a semicolon for separating any 'x' input strings - for example: - "1+2;4+5" - the result will be on the stack as follows: - stack[0].value=3 - stack[1].value=9 -*/ -template -class Parser -{ -private: - -/*! - there are 5 mathematical operators as follows (with their standard priorities): - add (+) - sub (-) - mul (*) - div (/) - pow (^) - and 'shortmul' used when there is no any operators between - a first parameter and a variable or function - (the 'shortmul' has the same priority as the normal multiplication ) -*/ - class MatOperator - { - public: - - enum Type - { - none,add,sub,mul,div,pow,lt,gt,let,get,eq,neq,lor,land,shortmul - }; - - enum Assoc - { - right, // right-associative - non_right // associative or left-associative - }; - - Type GetType() const { return type; } - int GetPriority() const { return priority; } - Assoc GetAssoc() const { return assoc; } - - void SetType(Type t) - { - type = t; - assoc = non_right; - - switch( type ) - { - case lor: - priority = 4; - break; - - case land: - priority = 5; - break; - - case eq: - case neq: - case lt: - case gt: - case let: - case get: - priority = 7; - break; - - case add: - case sub: - priority = 10; - break; - - case mul: - case shortmul: - case div: - priority = 12; - break; - - case pow: - priority = 14; - assoc = right; - break; - - default: - Error( err_internal_error ); - break; - } - } - - MatOperator(): type(none), priority(0), assoc(non_right) - { - } - - private: - - Type type; - int priority; - Assoc assoc; - }; // end of MatOperator class - - - -public: - - - - /*! - Objects of type 'Item' we are keeping on our stack - */ - struct Item - { - enum Type - { - none, numerical_value, mat_operator, first_bracket, - last_bracket, variable, semicolon - }; - - // The kind of type which we're keeping - Type type; - - // if type == numerical_value - ValueType value; - - // if type == mat_operator - MatOperator moperator; - - /* - if type == first_bracket - - if 'function' is set to true it means that the first recognized bracket - was the bracket from function in other words we must call a function when - we'll find the 'last' bracket - */ - bool function; - - // if function is true - std::string function_name; - - /* - the sign of value - - it can be for type==numerical_value or type==first_bracket - when it's true it means e.g. that value is equal -value - */ - bool sign; - - Item(): type(none), function(false), sign(false) - { - } - - }; // end of Item struct - - -/*! - stack on which we're keeping the Items - - at the end of parsing we'll have the result here - the result don't have to be one value, it can be - more than one if we have used a semicolon in the global space - e.g. such input string "1+2;3+4" will generate a result: - stack[0].value=3 - stack[1].value=7 - - you should check if the stack is not empty, because if there was - a syntax error in the input string then we do not have any results - on the stack -*/ -std::vector stack; - - -private: - - -/*! - size of the stack when we're starting parsing of the string - - if it's to small while parsing the stack will be automatically resized -*/ -const int default_stack_size; - - - -/*! - index of an object in our stack - it's pointing on the place behind the last element - for example at the beginning of parsing its value is zero -*/ -unsigned int stack_index; - - -/*! - code of the last error -*/ -ErrorCode error; - - -/*! - pointer to the currently reading char - when an error has occurred it may be used to count the index of the wrong character -*/ -const char * pstring; - - -/*! - the base (radix) of the mathematic system (for example it may be '10') -*/ -int base; - - -/*! - the unit of angles used in: sin,cos,tan,cot,asin,acos,atan,acot - 0 - deg - 1 - rad (default) - 2 - grad -*/ -int deg_rad_grad; - - - -/*! - a pointer to an object which tell us whether we should stop calculating or not -*/ -const volatile StopCalculating * pstop_calculating; - - - -/*! - a pointer to the user-defined variables' table -*/ -const Objects * puser_variables; - -/*! - a pointer to the user-defined functions' table -*/ -const Objects * puser_functions; - - -typedef std::map FunctionLocalVariables; - -/*! - a pointer to the local variables of a function -*/ -const FunctionLocalVariables * pfunction_local_variables; - - -/*! - a temporary set using during parsing user defined variables -*/ -std::set visited_variables; - - -/*! - a temporary set using during parsing user defined functions -*/ -std::set visited_functions; - - - - -/*! - pfunction is the type of pointer to a mathematic function - - these mathematic functions are private members of this class, - they are the wrappers for standard mathematics function - - 'pstack' is the pointer to the first argument on our stack - 'amount_of_arg' tell us how many argument there are in our stack - 'result' is the reference for result of function -*/ -typedef void (Parser::*pfunction)(int pstack, int amount_of_arg, ValueType & result); - - -/*! - pfunction is the type of pointer to a method which returns value of variable -*/ -typedef void (ValueType::*pfunction_var)(); - - -/*! - table of mathematic functions - - this map consists of: - std::string - function's name - pfunction - pointer to specific function -*/ -typedef std::map FunctionsTable; -FunctionsTable functions_table; - - -/*! - table of mathematic operators - - this map consists of: - std::string - operators's name - MatOperator::Type - type of the operator -*/ -typedef std::map OperatorsTable; -OperatorsTable operators_table; - - -/*! - table of mathematic variables - - this map consists of: - std::string - variable's name - pfunction_var - pointer to specific function which returns value of variable -*/ -typedef std::map VariablesTable; -VariablesTable variables_table; - - -/*! - some coefficients used when calculating the gamma (or factorial) function -*/ -CGamma cgamma; - - -/*! - temporary object for a whole string when Parse(std::wstring) is used -*/ -std::string wide_to_ansi; - - -/*! - group character (used when parsing) - default zero (not used) -*/ -int group; - - -/*! - characters used as a comma - default: '.' and ',' - comma2 can be zero (it means it is not used) -*/ -int comma, comma2; - - -/*! - an additional character used as a separator between function parameters - (semicolon is used always) -*/ -int param_sep; - - -/*! - true if something was calculated (at least one mathematical operator was used or a function or a variable) -*/ -bool calculated; - - - -/*! - we're using this method for reporting an error -*/ -static void Error(ErrorCode code) -{ - throw code; -} - - -/*! - this method skips the white character from the string - - it's moving the 'pstring' to the first no-white character -*/ -void SkipWhiteCharacters() -{ - while( (*pstring==' ' ) || (*pstring=='\t') ) - ++pstring; -} - - -/*! - an auxiliary method for RecurrenceParsingVariablesOrFunction(...) -*/ -void RecurrenceParsingVariablesOrFunction_CheckStopCondition(bool variable, const std::string & name) -{ - if( variable ) - { - if( visited_variables.find(name) != visited_variables.end() ) - Error( err_variable_loop ); - } - else - { - if( visited_functions.find(name) != visited_functions.end() ) - Error( err_functions_loop ); - } -} - - -/*! - an auxiliary method for RecurrenceParsingVariablesOrFunction(...) -*/ -void RecurrenceParsingVariablesOrFunction_AddName(bool variable, const std::string & name) -{ - if( variable ) - visited_variables.insert( name ); - else - visited_functions.insert( name ); -} - - -/*! - an auxiliary method for RecurrenceParsingVariablesOrFunction(...) -*/ -void RecurrenceParsingVariablesOrFunction_DeleteName(bool variable, const std::string & name) -{ - if( variable ) - visited_variables.erase( name ); - else - visited_functions.erase( name ); -} - - -/*! - this method returns the value of a variable or function - by creating a new instance of the mathematical parser - and making the standard parsing algorithm on the given string - - this method is used only during parsing user defined variables or functions - - (there can be a recurrence here therefore we're using 'visited_variables' - and 'visited_functions' sets to make a stop condition) -*/ -ValueType RecurrenceParsingVariablesOrFunction(bool variable, const std::string & name, const char * new_string, - FunctionLocalVariables * local_variables = 0) -{ - RecurrenceParsingVariablesOrFunction_CheckStopCondition(variable, name); - RecurrenceParsingVariablesOrFunction_AddName(variable, name); - - Parser NewParser(*this); - ErrorCode err; - - NewParser.pfunction_local_variables = local_variables; - - try - { - err = NewParser.Parse(new_string); - } - catch(...) - { - RecurrenceParsingVariablesOrFunction_DeleteName(variable, name); - - throw; - } - - RecurrenceParsingVariablesOrFunction_DeleteName(variable, name); - - if( err != err_ok ) - Error( err ); - - if( NewParser.stack.size() != 1 ) - Error( err_must_be_only_one_value ); - - if( NewParser.stack[0].type != Item::numerical_value ) - // I think there shouldn't be this error here - Error( err_incorrect_value ); - -return NewParser.stack[0].value; -} - - -public: - - -/*! - this method returns the user-defined value of a variable -*/ -bool GetValueOfUserDefinedVariable(const std::string & variable_name,ValueType & result) -{ - if( !puser_variables ) - return false; - - const char * string_value; - - if( puser_variables->GetValue(variable_name, &string_value) != err_ok ) - return false; - - result = RecurrenceParsingVariablesOrFunction(true, variable_name, string_value); - calculated = true; - -return true; -} - - -/*! - this method returns the value of a local variable of a function -*/ -bool GetValueOfFunctionLocalVariable(const std::string & variable_name, ValueType & result) -{ - if( !pfunction_local_variables ) - return false; - - typename FunctionLocalVariables::const_iterator i = pfunction_local_variables->find(variable_name); - - if( i == pfunction_local_variables->end() ) - return false; - - result = i->second; - -return true; -} - - -/*! - this method returns the value of a variable from variables' table - - we make an object of type ValueType then call a method which - sets the correct value in it and finally we'll return the object -*/ -ValueType GetValueOfVariable(const std::string & variable_name) -{ -ValueType result; - - if( GetValueOfFunctionLocalVariable(variable_name, result) ) - return result; - - if( GetValueOfUserDefinedVariable(variable_name, result) ) - return result; - - - typename std::map::iterator i = - variables_table.find(variable_name); - - if( i == variables_table.end() ) - Error( err_unknown_variable ); - - (result.*(i->second))(); - calculated = true; - -return result; -} - - -private: - -/*! - wrappers for mathematic functions - - 'sindex' is pointing on the first argument on our stack - (the second argument has 'sindex+2' - because 'sindex+1' is guaranted for the 'semicolon' operator) - the third artument has of course 'sindex+4' etc. - - 'result' will be the result of the function - - (we're using exceptions here for example when function gets an improper argument) -*/ - - -/*! - used by: sin,cos,tan,cot -*/ -ValueType ConvertAngleToRad(const ValueType & input) -{ - if( deg_rad_grad == 1 ) // rad - return input; - - ValueType result; - ErrorCode err; - - if( deg_rad_grad == 0 ) // deg - result = ttmath::DegToRad(input, &err); - else // grad - result = ttmath::GradToRad(input, &err); - - if( err != err_ok ) - Error( err ); - -return result; -} - - -/*! - used by: asin,acos,atan,acot -*/ -ValueType ConvertRadToAngle(const ValueType & input) -{ - if( deg_rad_grad == 1 ) // rad - return input; - - ValueType result; - ErrorCode err; - - if( deg_rad_grad == 0 ) // deg - result = ttmath::RadToDeg(input, &err); - else // grad - result = ttmath::RadToGrad(input, &err); - - if( err != err_ok ) - Error( err ); - -return result; -} - - -void Gamma(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - - result = ttmath::Gamma(stack[sindex].value, cgamma, &err, pstop_calculating); - - if(err != err_ok) - Error( err ); -} - - -/*! - factorial - result = 1 * 2 * 3 * 4 * .... * x -*/ -void Factorial(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - - result = ttmath::Factorial(stack[sindex].value, cgamma, &err, pstop_calculating); - - if(err != err_ok) - Error( err ); -} - - -void Abs(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - result = ttmath::Abs(stack[sindex].value); -} - -void Sin(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - result = ttmath::Sin( ConvertAngleToRad(stack[sindex].value), &err ); - - if(err != err_ok) - Error( err ); -} - -void Cos(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - result = ttmath::Cos( ConvertAngleToRad(stack[sindex].value), &err ); - - if(err != err_ok) - Error( err ); -} - -void Tan(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - result = ttmath::Tan(ConvertAngleToRad(stack[sindex].value), &err); - - if(err != err_ok) - Error( err ); -} - -void Cot(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - result = ttmath::Cot(ConvertAngleToRad(stack[sindex].value), &err); - - if(err != err_ok) - Error( err ); -} - -void Int(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - result = ttmath::SkipFraction(stack[sindex].value); -} - - -void Round(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - result = stack[sindex].value; - - if( result.Round() ) - Error( err_overflow ); -} - - -void Ln(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - result = ttmath::Ln(stack[sindex].value, &err); - - if(err != err_ok) - Error( err ); -} - -void Log(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 2 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - result = ttmath::Log(stack[sindex].value, stack[sindex+2].value, &err); - - if(err != err_ok) - Error( err ); -} - -void Exp(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - result = ttmath::Exp(stack[sindex].value, &err); - - if(err != err_ok) - Error( err ); -} - - -void Max(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args == 0 ) - { - result.SetMax(); - - return; - } - - result = stack[sindex].value; - - for(int i=1 ; i stack[sindex + i*2].value ) - result = stack[sindex + i*2].value; - } -} - - -void ASin(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - ValueType temp = ttmath::ASin(stack[sindex].value, &err); - - if(err != err_ok) - Error( err ); - - result = ConvertRadToAngle(temp); -} - - -void ACos(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - ErrorCode err; - ValueType temp = ttmath::ACos(stack[sindex].value, &err); - - if(err != err_ok) - Error( err ); - - result = ConvertRadToAngle(temp); -} - - -void ATan(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - result = ConvertRadToAngle(ttmath::ATan(stack[sindex].value)); -} - - -void ACot(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - result = ConvertRadToAngle(ttmath::ACot(stack[sindex].value)); -} - - -void Sgn(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 1 ) - Error( err_improper_amount_of_arguments ); - - result = ttmath::Sgn(stack[sindex].value); -} - - -void Mod(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 2 ) - Error( err_improper_amount_of_arguments ); - - if( stack[sindex+2].value.IsZero() ) - Error( err_improper_argument ); - - result = stack[sindex].value; - uint c = result.Mod(stack[sindex+2].value); - - if( c ) - Error( err_overflow ); -} - - -void If(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args != 3 ) - Error( err_improper_amount_of_arguments ); - - - if( !stack[sindex].value.IsZero() ) - result = stack[sindex+2].value; - else - result = stack[sindex+4].value; -} - - -void Or(int sindex, int amount_of_args, ValueType & result) -{ - if( amount_of_args < 2 ) - Error( err_improper_amount_of_arguments ); - - for(int i=0 ; iGetValueAndParam(function_name, &string_value, ¶m) != err_ok ) - return false; - - if( param != amount_of_args ) - Error( err_improper_amount_of_arguments ); - - - FunctionLocalVariables local_variables; - - if( amount_of_args > 0 ) - { - char buffer[30]; - - // x = x1 - buffer[0] = 'x'; - buffer[1] = 0; - local_variables.insert( std::make_pair(buffer, stack[sindex].value) ); - - for(int i=0 ; i*(i->second))(sindex, amount_of_args, stack[sindex-1].value); - calculated = true; -} - - - - - -/*! - inserting a function to the functions' table - - function_name - name of the function - pf - pointer to the function (to the wrapper) -*/ -void InsertFunctionToTable(const char * function_name, pfunction pf) -{ - std::string str; - Misc::AssignString(str, function_name); - - functions_table.insert( std::make_pair(str, pf) ); -} - - - -/*! - inserting a function to the variables' table - (this function returns value of variable) - - variable_name - name of the function - pf - pointer to the function -*/ -void InsertVariableToTable(const char * variable_name, pfunction_var pf) -{ - std::string str; - Misc::AssignString(str, variable_name); - - variables_table.insert( std::make_pair(str, pf) ); -} - - -/*! - this method creates the table of functions -*/ -void CreateFunctionsTable() -{ - InsertFunctionToTable("gamma", &Parser::Gamma); - InsertFunctionToTable("factorial", &Parser::Factorial); - InsertFunctionToTable("abs", &Parser::Abs); - InsertFunctionToTable("sin", &Parser::Sin); - InsertFunctionToTable("cos", &Parser::Cos); - InsertFunctionToTable("tan", &Parser::Tan); - InsertFunctionToTable("tg", &Parser::Tan); - InsertFunctionToTable("cot", &Parser::Cot); - InsertFunctionToTable("ctg", &Parser::Cot); - InsertFunctionToTable("int", &Parser::Int); - InsertFunctionToTable("round", &Parser::Round); - InsertFunctionToTable("ln", &Parser::Ln); - InsertFunctionToTable("log", &Parser::Log); - InsertFunctionToTable("exp", &Parser::Exp); - InsertFunctionToTable("max", &Parser::Max); - InsertFunctionToTable("min", &Parser::Min); - InsertFunctionToTable("asin", &Parser::ASin); - InsertFunctionToTable("acos", &Parser::ACos); - InsertFunctionToTable("atan", &Parser::ATan); - InsertFunctionToTable("atg", &Parser::ATan); - InsertFunctionToTable("acot", &Parser::ACot); - InsertFunctionToTable("actg", &Parser::ACot); - InsertFunctionToTable("sgn", &Parser::Sgn); - InsertFunctionToTable("mod", &Parser::Mod); - InsertFunctionToTable("if", &Parser::If); - InsertFunctionToTable("or", &Parser::Or); - InsertFunctionToTable("and", &Parser::And); - InsertFunctionToTable("not", &Parser::Not); - InsertFunctionToTable("degtorad", &Parser::DegToRad); - InsertFunctionToTable("radtodeg", &Parser::RadToDeg); - InsertFunctionToTable("degtodeg", &Parser::DegToDeg); - InsertFunctionToTable("gradtorad", &Parser::GradToRad); - InsertFunctionToTable("radtograd", &Parser::RadToGrad); - InsertFunctionToTable("degtograd", &Parser::DegToGrad); - InsertFunctionToTable("gradtodeg", &Parser::GradToDeg); - InsertFunctionToTable("ceil", &Parser::Ceil); - InsertFunctionToTable("floor", &Parser::Floor); - InsertFunctionToTable("sqrt", &Parser::Sqrt); - InsertFunctionToTable("sinh", &Parser::Sinh); - InsertFunctionToTable("cosh", &Parser::Cosh); - InsertFunctionToTable("tanh", &Parser::Tanh); - InsertFunctionToTable("tgh", &Parser::Tanh); - InsertFunctionToTable("coth", &Parser::Coth); - InsertFunctionToTable("ctgh", &Parser::Coth); - InsertFunctionToTable("root", &Parser::Root); - InsertFunctionToTable("asinh", &Parser::ASinh); - InsertFunctionToTable("acosh", &Parser::ACosh); - InsertFunctionToTable("atanh", &Parser::ATanh); - InsertFunctionToTable("atgh", &Parser::ATanh); - InsertFunctionToTable("acoth", &Parser::ACoth); - InsertFunctionToTable("actgh", &Parser::ACoth); - InsertFunctionToTable("bitand", &Parser::BitAnd); - InsertFunctionToTable("bitor", &Parser::BitOr); - InsertFunctionToTable("bitxor", &Parser::BitXor); - InsertFunctionToTable("band", &Parser::BitAnd); - InsertFunctionToTable("bor", &Parser::BitOr); - InsertFunctionToTable("bxor", &Parser::BitXor); - InsertFunctionToTable("sum", &Parser::Sum); - InsertFunctionToTable("avg", &Parser::Avg); - InsertFunctionToTable("frac", &Parser::Frac); -} - - -/*! - this method creates the table of variables -*/ -void CreateVariablesTable() -{ - InsertVariableToTable("pi", &ValueType::SetPi); - InsertVariableToTable("e", &ValueType::SetE); -} - - -/*! - converting from a big letter to a small one -*/ -int ToLowerCase(int c) -{ - if( c>='A' && c<='Z' ) - return c - 'A' + 'a'; - -return c; -} - - -/*! - this method read the name of a variable or a function - - 'result' will be the name of a variable or a function - function return 'false' if this name is the name of a variable - or function return 'true' if this name is the name of a function - - what should be returned is tested just by a '(' character that means if there's - a '(' character after a name that function returns 'true' -*/ -bool ReadName(std::string & result) -{ -int character; - - - result.erase(); - character = *pstring; - - /* - the first letter must be from range 'a' - 'z' or 'A' - 'Z' - */ - if( ! (( character>='a' && character<='z' ) || ( character>='A' && character<='Z' )) ) - Error( err_unknown_character ); - - - do - { - result += static_cast( character ); - character = * ++pstring; - } - while( (character>='a' && character<='z') || - (character>='A' && character<='Z') || - (character>='0' && character<='9') || - character=='_' ); - - - SkipWhiteCharacters(); - - - /* - if there's a character '(' that means this name is a name of a function - */ - if( *pstring == '(' ) - { - ++pstring; - return true; - } - - -return false; -} - - -/*! - we're checking whether the first character is '-' or '+' - if it is we'll return 'true' and if it is equally '-' we'll set the 'sign' member of 'result' -*/ -bool TestSign(Item & result) -{ - SkipWhiteCharacters(); - result.sign = false; - - if( *pstring == '-' || *pstring == '+' ) - { - if( *pstring == '-' ) - result.sign = true; - - ++pstring; - - return true; - } - -return false; -} - - -/*! - we're reading the name of a variable or a function - if is there a function we'll return 'true' -*/ -bool ReadVariableOrFunction(Item & result) -{ -std::string name; -bool is_it_name_of_function = ReadName(name); - - if( is_it_name_of_function ) - { - /* - we've read the name of a function - */ - result.function_name = name; - result.type = Item::first_bracket; - result.function = true; - } - else - { - /* - we've read the name of a variable and we're getting its value now - */ - result.value = GetValueOfVariable( name ); - } - -return is_it_name_of_function; -} - - - - -/*! - we're reading a numerical value directly from the string -*/ -void ReadValue(Item & result, int reading_base) -{ -const char * new_stack_pointer; -bool value_read; -Conv conv; - - conv.base = reading_base; - conv.comma = comma; - conv.comma2 = comma2; - conv.group = group; - - uint carry = result.value.FromString(pstring, conv, &new_stack_pointer, &value_read); - pstring = new_stack_pointer; - - if( carry ) - Error( err_overflow ); - - if( !value_read ) - Error( err_unknown_character ); -} - - -/*! - this method returns true if 'character' is a proper first digit for the value (or a comma -- can be first too) -*/ -bool ValueStarts(int character, int base) -{ - if( character == comma ) - return true; - - if( comma2!=0 && character==comma2 ) - return true; - - if( Misc::CharToDigit(character, base) != -1 ) - return true; - -return false; -} - - -/*! - we're reading the item - - return values: - 0 - all ok, the item is successfully read - 1 - the end of the string (the item is not read) - 2 - the final bracket ')' -*/ -int ReadValueVariableOrFunction(Item & result) -{ -bool it_was_sign = false; -int character; - - - if( TestSign(result) ) - // 'result.sign' was set as well - it_was_sign = true; - - SkipWhiteCharacters(); - character = ToLowerCase( *pstring ); - - - if( character == 0 ) - { - if( it_was_sign ) - // at the end of the string a character like '-' or '+' has left - Error( err_unexpected_end ); - - // there's the end of the string here - return 1; - } - else - if( character == '(' ) - { - // we've got a normal bracket (not a function) - result.type = Item::first_bracket; - result.function = false; - ++pstring; - - return 0; - } - else - if( character == ')' ) - { - // we've got a final bracket - // (in this place we can find a final bracket only when there are empty brackets - // without any values inside or with a sign '-' or '+' inside) - - if( it_was_sign ) - Error( err_unexpected_final_bracket ); - - result.type = Item::last_bracket; - - // we don't increment 'pstring', this final bracket will be read next by the - // 'ReadOperatorAndCheckFinalBracket(...)' method - - return 2; - } - else - if( character == '#' ) - { - ++pstring; - SkipWhiteCharacters(); - - // after '#' character we do not allow '-' or '+' (can be white characters) - if( ValueStarts(*pstring, 16) ) - ReadValue( result, 16 ); - else - Error( err_unknown_character ); - } - else - if( character == '&' ) - { - ++pstring; - SkipWhiteCharacters(); - - // after '&' character we do not allow '-' or '+' (can be white characters) - if( ValueStarts(*pstring, 2) ) - ReadValue( result, 2 ); - else - Error( err_unknown_character ); - } - else - if( ValueStarts(character, base) ) - { - ReadValue( result, base ); - } - else - if( character>='a' && character<='z' ) - { - if( ReadVariableOrFunction(result) ) - // we've read the name of a function - return 0; - } - else - Error( err_unknown_character ); - - - - /* - we've got a value in the 'result' - this value is from a variable or directly from the string - */ - result.type = Item::numerical_value; - - if( result.sign ) - { - result.value.ChangeSign(); - result.sign = false; - } - - -return 0; -} - - -void InsertOperatorToTable(const char * name, typename MatOperator::Type type) -{ - operators_table.insert( std::make_pair(std::string(name), type) ); -} - - -/*! - this method creates the table of operators -*/ -void CreateMathematicalOperatorsTable() -{ - InsertOperatorToTable("||", MatOperator::lor); - InsertOperatorToTable("&&", MatOperator::land); - InsertOperatorToTable("!=", MatOperator::neq); - InsertOperatorToTable("==", MatOperator::eq); - InsertOperatorToTable(">=", MatOperator::get); - InsertOperatorToTable("<=", MatOperator::let); - InsertOperatorToTable(">", MatOperator::gt); - InsertOperatorToTable("<", MatOperator::lt); - InsertOperatorToTable("-", MatOperator::sub); - InsertOperatorToTable("+", MatOperator::add); - InsertOperatorToTable("/", MatOperator::div); - InsertOperatorToTable("*", MatOperator::mul); - InsertOperatorToTable("^", MatOperator::pow); -} - - -/*! - returns true if 'str2' is the substring of str1 - - e.g. - true when str1="test" and str2="te" -*/ -bool IsSubstring(const std::string & str1, const std::string & str2) -{ - if( str2.length() > str1.length() ) - return false; - - for(typename std::string::size_type i=0 ; ifirst, oper) ) - { - oper.erase( --oper.end() ); // we've got mininum one element - - if( iter_old != operators_table.end() && iter_old->first == oper ) - { - result.type = Item::mat_operator; - result.moperator.SetType( iter_old->second ); - break; - } - - Error( err_unknown_operator ); - } - - iter_old = iter_new; - } -} - - -/*! - this method makes a calculation for the percentage operator - e.g. - 1000-50% = 1000-(1000*0,5) = 500 -*/ -void OperatorPercentage() -{ - if( stack_index < 3 || - stack[stack_index-1].type != Item::numerical_value || - stack[stack_index-2].type != Item::mat_operator || - stack[stack_index-3].type != Item::numerical_value ) - Error(err_percent_from); - - ++pstring; - SkipWhiteCharacters(); - - uint c = 0; - c += stack[stack_index-1].value.Div(100); - c += stack[stack_index-1].value.Mul(stack[stack_index-3].value); - - if( c ) - Error(err_overflow); -} - - -/*! - this method reads a mathematic operators - or the final bracket or the semicolon operator - - return values: - 0 - ok - 1 - the string is finished -*/ -int ReadOperator(Item & result) -{ - SkipWhiteCharacters(); - - if( *pstring == '%' ) - OperatorPercentage(); - - - if( *pstring == 0 ) - return 1; - else - if( *pstring == ')' ) - { - result.type = Item::last_bracket; - ++pstring; - } - else - if( *pstring == ';' || (param_sep!=0 && *pstring==param_sep) ) - { - result.type = Item::semicolon; - ++pstring; - } - else - if( (*pstring>='a' && *pstring<='z') || (*pstring>='A' && *pstring<='Z') ) - { - // short mul (without any operators) - - result.type = Item::mat_operator; - result.moperator.SetType( MatOperator::shortmul ); - } - else - ReadMathematicalOperator(result); - -return 0; -} - - - -/*! - this method is making the standard mathematic operation like '-' '+' '*' '/' and '^' - - the operation is made between 'value1' and 'value2' - the result of this operation is stored in the 'value1' -*/ -void MakeStandardMathematicOperation(ValueType & value1, typename MatOperator::Type mat_operator, - const ValueType & value2) -{ -uint res; - - calculated = true; - - switch( mat_operator ) - { - case MatOperator::land: - (!value1.IsZero() && !value2.IsZero()) ? value1.SetOne() : value1.SetZero(); - break; - - case MatOperator::lor: - (!value1.IsZero() || !value2.IsZero()) ? value1.SetOne() : value1.SetZero(); - break; - - case MatOperator::eq: - (value1 == value2) ? value1.SetOne() : value1.SetZero(); - break; - - case MatOperator::neq: - (value1 != value2) ? value1.SetOne() : value1.SetZero(); - break; - - case MatOperator::lt: - (value1 < value2) ? value1.SetOne() : value1.SetZero(); - break; - - case MatOperator::gt: - (value1 > value2) ? value1.SetOne() : value1.SetZero(); - break; - - case MatOperator::let: - (value1 <= value2) ? value1.SetOne() : value1.SetZero(); - break; - - case MatOperator::get: - (value1 >= value2) ? value1.SetOne() : value1.SetZero(); - break; - - case MatOperator::sub: - if( value1.Sub(value2) ) Error( err_overflow ); - break; - - case MatOperator::add: - if( value1.Add(value2) ) Error( err_overflow ); - break; - - case MatOperator::mul: - case MatOperator::shortmul: - if( value1.Mul(value2) ) Error( err_overflow ); - break; - - case MatOperator::div: - if( value2.IsZero() ) Error( err_division_by_zero ); - if( value1.Div(value2) ) Error( err_overflow ); - break; - - case MatOperator::pow: - res = value1.Pow( value2 ); - - if( res == 1 ) Error( err_overflow ); - else - if( res == 2 ) Error( err_improper_argument ); - - break; - - default: - /* - on the stack left an unknown operator but we had to recognize its before - that means there's an error in our algorithm - */ - Error( err_internal_error ); - } -} - - - - -/*! - this method is trying to roll the stack up with the operator's priority - - for example if there are: - "1 - 2 +" - we can subtract "1-2" and the result store on the place where is '1' and copy the last - operator '+', that means there'll be '-1+' on our stack - - but if there are: - "1 - 2 *" - we can't roll the stack up because the operator '*' has greater priority than '-' -*/ -void TryRollingUpStackWithOperatorPriority() -{ - while( stack_index>=4 && - stack[stack_index-4].type == Item::numerical_value && - stack[stack_index-3].type == Item::mat_operator && - stack[stack_index-2].type == Item::numerical_value && - stack[stack_index-1].type == Item::mat_operator && - ( - ( - // the first operator has greater priority - stack[stack_index-3].moperator.GetPriority() > stack[stack_index-1].moperator.GetPriority() - ) || - ( - // or both operators have the same priority and the first operator is not right associative - stack[stack_index-3].moperator.GetPriority() == stack[stack_index-1].moperator.GetPriority() && - stack[stack_index-3].moperator.GetAssoc() == MatOperator::non_right - ) - ) - ) - { - MakeStandardMathematicOperation(stack[stack_index-4].value, - stack[stack_index-3].moperator.GetType(), - stack[stack_index-2].value); - - - /* - copying the last operator and setting the stack pointer to the correct value - */ - stack[stack_index-3] = stack[stack_index-1]; - stack_index -= 2; - } -} - - -/*! - this method is trying to roll the stack up without testing any operators - - for example if there are: - "1 - 2" - there'll be "-1" on our stack -*/ -void TryRollingUpStack() -{ - while( stack_index >= 3 && - stack[stack_index-3].type == Item::numerical_value && - stack[stack_index-2].type == Item::mat_operator && - stack[stack_index-1].type == Item::numerical_value ) - { - MakeStandardMathematicOperation( stack[stack_index-3].value, - stack[stack_index-2].moperator.GetType(), - stack[stack_index-1].value ); - - stack_index -= 2; - } -} - - -/*! - this method is reading a value or a variable or a function - (the normal first bracket as well) and push it into the stack -*/ -int ReadValueVariableOrFunctionAndPushItIntoStack(Item & temp) -{ -int code = ReadValueVariableOrFunction( temp ); - - if( code == 0 ) - { - if( stack_index < stack.size() ) - stack[stack_index] = temp; - else - stack.push_back( temp ); - - ++stack_index; - } - - if( code == 2 ) - // there was a final bracket, we didn't push it into the stack - // (it'll be read by the 'ReadOperatorAndCheckFinalBracket' method next) - code = 0; - - -return code; -} - - - -/*! - this method calculate how many parameters there are on the stack - and the index of the first parameter - - if there aren't any parameters on the stack this method returns - 'size' equals zero and 'index' pointing after the first bracket - (on non-existend element) -*/ -void HowManyParameters(int & size, int & index) -{ - size = 0; - index = stack_index; - - if( index == 0 ) - // we haven't put a first bracket on the stack - Error( err_unexpected_final_bracket ); - - - if( stack[index-1].type == Item::first_bracket ) - // empty brackets - return; - - for( --index ; index>=1 ; index-=2 ) - { - if( stack[index].type != Item::numerical_value ) - { - /* - this element must be 'numerical_value', if not that means - there's an error in our algorithm - */ - Error( err_internal_error ); - } - - ++size; - - if( stack[index-1].type != Item::semicolon ) - break; - } - - if( index<1 || stack[index-1].type != Item::first_bracket ) - { - /* - we haven't put a first bracket on the stack - */ - Error( err_unexpected_final_bracket ); - } -} - - -/*! - this method is being called when the final bracket ')' is being found - - this method's rolling the stack up, counting how many parameters there are - on the stack and if there was a function it's calling the function -*/ -void RollingUpFinalBracket() -{ -int amount_of_parameters; -int index; - - - if( stack_index<1 || - (stack[stack_index-1].type != Item::numerical_value && - stack[stack_index-1].type != Item::first_bracket) - ) - Error( err_unexpected_final_bracket ); - - - TryRollingUpStack(); - HowManyParameters(amount_of_parameters, index); - - // 'index' will be greater than zero - // 'amount_of_parameters' can be zero - - - if( amount_of_parameters==0 && !stack[index-1].function ) - Error( err_unexpected_final_bracket ); - - - bool was_sign = stack[index-1].sign; - - - if( stack[index-1].function ) - { - // the result of a function will be on 'stack[index-1]' - // and then at the end we'll set the correct type (numerical value) of this element - CallFunction(stack[index-1].function_name, amount_of_parameters, index); - } - else - { - /* - there was a normal bracket (not a funcion) - */ - if( amount_of_parameters != 1 ) - Error( err_unexpected_semicolon_operator ); - - - /* - in the place where is the bracket we put the result - */ - stack[index-1] = stack[index]; - } - - - /* - if there was a '-' character before the first bracket - we change the sign of the expression - */ - stack[index-1].sign = false; - - if( was_sign ) - stack[index-1].value.ChangeSign(); - - stack[index-1].type = Item::numerical_value; - - - /* - the pointer of the stack will be pointing on the next (non-existing now) element - */ - stack_index = index; -} - - -/*! - this method is putting the operator on the stack -*/ - -void PushOperatorIntoStack(Item & temp) -{ - if( stack_index < stack.size() ) - stack[stack_index] = temp; - else - stack.push_back( temp ); - - ++stack_index; -} - - - -/*! - this method is reading a operator and if it's a final bracket - it's calling RollingUpFinalBracket() and reading a operator again -*/ -int ReadOperatorAndCheckFinalBracket(Item & temp) -{ - do - { - if( ReadOperator(temp) == 1 ) - { - /* - the string is finished - */ - return 1; - } - - if( temp.type == Item::last_bracket ) - RollingUpFinalBracket(); - - } - while( temp.type == Item::last_bracket ); - -return 0; -} - - -/*! - we check wheter there are only numerical value's or 'semicolon' operators on the stack -*/ -void CheckIntegrityOfStack() -{ - for(unsigned int i=0 ; iWasStopSignal() ) - Error( err_interrupt ); - - result_code = ReadValueVariableOrFunctionAndPushItIntoStack( item ); - - if( result_code == 0 ) - { - if( item.type == Item::first_bracket ) - continue; - - result_code = ReadOperatorAndCheckFinalBracket( item ); - } - - - if( result_code==1 || item.type==Item::semicolon ) - { - /* - the string is finished or the 'semicolon' operator has appeared - */ - - if( stack_index == 0 ) - Error( err_nothing_has_read ); - - TryRollingUpStack(); - - if( result_code == 1 ) - { - CheckIntegrityOfStack(); - - return; - } - } - - - PushOperatorIntoStack( item ); - TryRollingUpStackWithOperatorPriority(); - } -} - -/*! - this method is called at the end of the parsing process - - on our stack we can have another value than 'numerical_values' for example - when someone use the operator ';' in the global scope or there was an error during - parsing and the parser hasn't finished its job - - if there was an error the stack is cleaned up now - otherwise we resize stack and leave on it only 'numerical_value' items -*/ -void NormalizeStack() -{ - if( error!=err_ok || stack_index==0 ) - { - stack.clear(); - return; - } - - - /* - 'stack_index' tell us how many elements there are on the stack, - we must resize the stack now because 'stack_index' is using only for parsing - and stack has more (or equal) elements than value of 'stack_index' - */ - stack.resize( stack_index ); - - for(uint i=stack_index-1 ; i!=uint(-1) ; --i) - { - if( stack[i].type != Item::numerical_value ) - stack.erase( stack.begin() + i ); - } -} - - -public: - - -/*! - the default constructor -*/ -Parser(): default_stack_size(100) -{ - pstop_calculating = 0; - puser_variables = 0; - puser_functions = 0; - pfunction_local_variables = 0; - base = 10; - deg_rad_grad = 1; - error = err_ok; - group = 0; - comma = '.'; - comma2 = ','; - param_sep = 0; - - CreateFunctionsTable(); - CreateVariablesTable(); - CreateMathematicalOperatorsTable(); -} - - -/*! - the assignment operator -*/ -Parser & operator=(const Parser & p) -{ - pstop_calculating = p.pstop_calculating; - puser_variables = p.puser_variables; - puser_functions = p.puser_functions; - pfunction_local_variables = 0; - base = p.base; - deg_rad_grad = p.deg_rad_grad; - error = p.error; - group = p.group; - comma = p.comma; - comma2 = p.comma2; - param_sep = p.param_sep; - - /* - we don't have to call 'CreateFunctionsTable()' etc. - we can only copy these tables - */ - functions_table = p.functions_table; - variables_table = p.variables_table; - operators_table = p.operators_table; - - visited_variables = p.visited_variables; - visited_functions = p.visited_functions; - -return *this; -} - - -/*! - the copying constructor -*/ -Parser(const Parser & p): default_stack_size(p.default_stack_size) -{ - operator=(p); -} - - -/*! - the new base of mathematic system - default is 10 -*/ -void SetBase(int b) -{ - if( b>=2 && b<=16 ) - base = b; -} - - -/*! - the unit of angles used in: sin,cos,tan,cot,asin,acos,atan,acot - 0 - deg - 1 - rad (default) - 2 - grad -*/ -void SetDegRadGrad(int angle) -{ - if( angle >= 0 || angle <= 2 ) - deg_rad_grad = angle; -} - -/*! - this method sets a pointer to the object which tell us whether we should stop - calculations -*/ -void SetStopObject(const volatile StopCalculating * ps) -{ - pstop_calculating = ps; -} - - -/*! - this method sets the new table of user-defined variables - if you don't want any other variables just put zero value into the 'puser_variables' variable - - (you can have only one table at the same time) -*/ -void SetVariables(const Objects * pv) -{ - puser_variables = pv; -} - - -/*! - this method sets the new table of user-defined functions - if you don't want any other functions just put zero value into the 'puser_functions' variable - - (you can have only one table at the same time) -*/ -void SetFunctions(const Objects * pf) -{ - puser_functions = pf; -} - - -/*! - setting the group character - default zero (not used) -*/ -void SetGroup(int g) -{ - group = g; -} - - -/*! - setting the main comma operator and the additional comma operator - the additional operator can be zero (which means it is not used) - default are: '.' and ',' -*/ -void SetComma(int c, int c2 = 0) -{ - comma = c; - comma2 = c2; -} - - -/*! - setting an additional character which is used as a parameters separator - the main parameters separator is a semicolon (is used always) - - this character is used also as a global separator -*/ -void SetParamSep(int s) -{ - param_sep = s; -} - - -/*! - the main method using for parsing string -*/ -ErrorCode Parse(const char * str) -{ - stack_index = 0; - pstring = str; - error = err_ok; - calculated = false; - - stack.resize( default_stack_size ); - - try - { - Parse(); - } - catch(ErrorCode c) - { - error = c; - calculated = false; - } - - NormalizeStack(); - -return error; -} - - -/*! - the main method using for parsing string -*/ -ErrorCode Parse(const std::string & str) -{ - return Parse(str.c_str()); -} - - -#ifndef TTMATH_DONT_USE_WCHAR - -/*! - the main method using for parsing string -*/ -ErrorCode Parse(const wchar_t * str) -{ - Misc::AssignString(wide_to_ansi, str); - -return Parse(wide_to_ansi.c_str()); - - // !! wide_to_ansi clearing can be added here -} - - -/*! - the main method using for parsing string -*/ -ErrorCode Parse(const std::wstring & str) -{ - return Parse(str.c_str()); -} - -#endif - - -/*! - this method returns true is something was calculated - (at least one mathematical operator was used or a function or variable) - e.g. true if the string to Parse() looked like this: - "1+1" - "2*3" - "sin(5)" - - if the string was e.g. "678" the result is false -*/ -bool Calculated() -{ - return calculated; -} - - -/*! - initializing coefficients used when calculating the gamma (or factorial) function - this speed up the next calculations - you don't have to call this method explicitly - these coefficients will be calculated when needed -*/ -void InitCGamma() -{ - cgamma.InitAll(); -} - - -}; - - - -} // namespace - - -#endif diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmaththreads.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmaththreads.h deleted file mode 100644 index 586227f2fc..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmaththreads.h +++ /dev/null @@ -1,250 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2009, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - - - -#ifndef headerfilettmaththreads -#define headerfilettmaththreads - -#include "ttmathtypes.h" - -#ifdef TTMATH_WIN32_THREADS -#include -#include -#endif - -#ifdef TTMATH_POSIX_THREADS -#include -#endif - - - -/*! - \file ttmaththreads.h - \brief Some objects used in multithreads environment -*/ - - -/* - this is a simple skeleton of a program in multithreads environment: - - #define TTMATH_MULTITHREADS - #include - - TTMATH_MULTITHREADS_HELPER - - int main() - { - [...] - } - - make sure that macro TTMATH_MULTITHREADS is defined and (somewhere in *.cpp file) - use TTMATH_MULTITHREADS_HELPER macro (outside of any classes/functions/namespaces scope) -*/ - - -namespace ttmath -{ - - -#ifdef TTMATH_WIN32_THREADS - - /* - we use win32 threads - */ - - - /*! - in multithreads environment you should use TTMATH_MULTITHREADS_HELPER macro - somewhere in *.cpp file - - (at the moment in win32 this macro does nothing) - */ - #define TTMATH_MULTITHREADS_HELPER - - - /*! - objects of this class are used to synchronize - */ - class ThreadLock - { - HANDLE mutex_handle; - - - void CreateName(char * buffer) const - { - #ifdef _MSC_VER - #pragma warning (disable : 4996) - // warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. - #endif - - sprintf(buffer, "TTMATH_LOCK_%ul", (unsigned long)GetCurrentProcessId()); - - #ifdef _MSC_VER - #pragma warning (default : 4996) - #endif - } - - - public: - - bool Lock() - { - char buffer[50]; - - CreateName(buffer); - mutex_handle = CreateMutexA(0, false, buffer); - - if( mutex_handle == 0 ) - return false; - - WaitForSingleObject(mutex_handle, INFINITE); - - return true; - } - - - ThreadLock() - { - mutex_handle = 0; - } - - - ~ThreadLock() - { - if( mutex_handle != 0 ) - { - ReleaseMutex(mutex_handle); - CloseHandle(mutex_handle); - } - } - }; - -#endif // #ifdef TTMATH_WIN32_THREADS - - - - - -#ifdef TTMATH_POSIX_THREADS - - /* - we use posix threads - */ - - - /*! - in multithreads environment you should use TTMATH_MULTITHREADS_HELPER macro - somewhere in *.cpp file - (this macro defines a pthread_mutex_t object used by TTMath library) - */ - #define TTMATH_MULTITHREADS_HELPER \ - namespace ttmath \ - { \ - pthread_mutex_t ttmath_mutex = PTHREAD_MUTEX_INITIALIZER; \ - } - - - /*! - ttmath_mutex will be defined by TTMATH_MULTITHREADS_HELPER macro - */ - extern pthread_mutex_t ttmath_mutex; - - - /*! - objects of this class are used to synchronize - */ - class ThreadLock - { - public: - - bool Lock() - { - if( pthread_mutex_lock(&ttmath_mutex) != 0 ) - return false; - - return true; - } - - - ~ThreadLock() - { - pthread_mutex_unlock(&ttmath_mutex); - } - }; - -#endif // #ifdef TTMATH_POSIX_THREADS - - - - -#if !defined(TTMATH_POSIX_THREADS) && !defined(TTMATH_WIN32_THREADS) - - /*! - we don't use win32 and pthreads - */ - - /*! - */ - #define TTMATH_MULTITHREADS_HELPER - - - /*! - objects of this class are used to synchronize - actually we don't synchronize, the method Lock() returns always 'false' - */ - class ThreadLock - { - public: - - bool Lock() - { - return false; - } - }; - - -#endif // #if !defined(TTMATH_POSIX_THREADS) && !defined(TTMATH_WIN32_THREADS) - - - - - -} // namespace - -#endif - diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathtypes.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathtypes.h deleted file mode 100644 index 539c100358..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathtypes.h +++ /dev/null @@ -1,675 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2011, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef headerfilettmathtypes -#define headerfilettmathtypes - -/*! - \file ttmathtypes.h - \brief constants used in the library - - As our library is written in header files (templates) we cannot use - constants like 'const int' etc. because we should have some source files - *.cpp to define this variables. Only what we can have are constants - defined by #define preprocessor macros. - - All macros are preceded by TTMATH_ prefix -*/ - - -#include -#include -#include - -#ifndef _MSC_VER -#include -// for uint64_t and int64_t on a 32 bit platform -#endif - - - -/*! - the version of the library - - TTMATH_PRERELEASE_VER is either zero or one - zero means that this is the release version of the library - (one means something like beta) -*/ -#define TTMATH_MAJOR_VER 0 -#define TTMATH_MINOR_VER 9 -#define TTMATH_REVISION_VER 3 - -#define TTMATH_PRERELEASE_VER 1 - - - -/*! - you can define a platform explicitly by defining either - TTMATH_PLATFORM32 or TTMATH_PLATFORM64 macro -*/ -#if !defined TTMATH_PLATFORM32 && !defined TTMATH_PLATFORM64 - - #if !defined _M_X64 && !defined __x86_64__ - - /* - other platforms than x86 and amd64 are not recognized at the moment - so you should set TTMATH_PLATFORMxx manually - */ - - // we're using a 32bit platform - #define TTMATH_PLATFORM32 - - #else - - // we're using a 64bit platform - #define TTMATH_PLATFORM64 - - #endif - -#endif - - -/*! - asm version of the library is available by default only for: - x86 and amd64 platforms and for Microsoft Visual and GCC compilers - - but you can force using asm version (the same asm as for Microsoft Visual) - by defining TTMATH_FORCEASM macro - you have to be sure that your compiler accept such an asm format -*/ -#ifndef TTMATH_FORCEASM - - #if !defined __i386__ && !defined _X86_ && !defined _M_IX86 && !defined __x86_64__ && !defined _M_X64 - /*! - x86 architecture: - __i386__ defined by GNU C - _X86_ defined by MinGW32 - _M_IX86 defined by Visual Studio, Intel C/C++, Digital Mars and Watcom C/C++ - - amd64 architecture: - __x86_64__ defined by GNU C and Sun Studio - _M_X64 defined by Visual Studio - - asm version is available only for x86 or amd64 platforms - */ - #define TTMATH_NOASM - #endif - - - - #if !defined _MSC_VER && !defined __GNUC__ - /*! - another compilers than MS VC or GCC by default use no asm version - */ - #define TTMATH_NOASM - #endif - -#endif - - -namespace ttmath -{ - - -#ifdef TTMATH_PLATFORM32 - - /*! - on 32bit platforms one word (uint, sint) will be equal 32bits - */ - typedef unsigned int uint; - typedef signed int sint; - - /*! - on 32 bit platform ulint and slint will be equal 64 bits - */ - #ifdef _MSC_VER - // long long on MS Windows (Visual and GCC mingw compilers) have 64 bits - // stdint.h is not available on Visual Studio prior to VS 2010 version - typedef unsigned long long int ulint; - typedef signed long long int slint; - #else - // we do not use 'long' here because there is a difference in unix and windows - // environments: in unix 'long' has 64 bits but in windows it has only 32 bits - typedef uint64_t ulint; - typedef int64_t slint; - #endif - - /*! - how many bits there are in the uint type - */ - #define TTMATH_BITS_PER_UINT 32u - - /*! - the mask for the highest bit in the unsigned 32bit word (2^31) - */ - #define TTMATH_UINT_HIGHEST_BIT 2147483648u - - /*! - the max value of the unsigned 32bit word (2^32 - 1) - (all bits equal one) - */ - #define TTMATH_UINT_MAX_VALUE 4294967295u - - /*! - the number of words (32bit words on 32bit platform) - which are kept in built-in variables for a Big<> type - (these variables are defined in ttmathbig.h) - */ - #define TTMATH_BUILTIN_VARIABLES_SIZE 256u - - /*! - this macro returns the number of machine words - capable to hold min_bits bits - e.g. TTMATH_BITS(128) returns 4 - */ - #define TTMATH_BITS(min_bits) ((min_bits-1)/32 + 1) - -#else - - /*! - on 64bit platforms one word (uint, sint) will be equal 64bits - */ - #ifdef _MSC_VER - /* in VC 'long' type has 32 bits, __int64 is VC extension */ - typedef unsigned __int64 uint; - typedef signed __int64 sint; - #else - typedef unsigned long uint; - typedef signed long sint; - #endif - - /*! - on 64bit platforms we do not define ulint and slint - */ - - /*! - how many bits there are in the uint type - */ - #define TTMATH_BITS_PER_UINT 64ul - - /*! - the mask for the highest bit in the unsigned 64bit word (2^63) - */ - #define TTMATH_UINT_HIGHEST_BIT 9223372036854775808ul - - /*! - the max value of the unsigned 64bit word (2^64 - 1) - (all bits equal one) - */ - #define TTMATH_UINT_MAX_VALUE 18446744073709551615ul - - /*! - the number of words (64bit words on 64bit platforms) - which are kept in built-in variables for a Big<> type - (these variables are defined in ttmathbig.h) - */ - #define TTMATH_BUILTIN_VARIABLES_SIZE 128ul - - /*! - this macro returns the number of machine words - capable to hold min_bits bits - e.g. TTMATH_BITS(128) returns 2 - */ - #define TTMATH_BITS(min_bits) ((min_bits-1)/64 + 1) - -#endif -} - - -#if defined(TTMATH_MULTITHREADS) && !defined(TTMATH_MULTITHREADS_NOSYNC) - #if !defined(TTMATH_POSIX_THREADS) && !defined(TTMATH_WIN32_THREADS) - - #if defined(_WIN32) - #define TTMATH_WIN32_THREADS - #elif defined(unix) || defined(__unix__) || defined(__unix) - #define TTMATH_POSIX_THREADS - #endif - - #endif -#endif - - - -/*! - this variable defines how many iterations are performed - during some kind of calculating when we're making any long formulas - (for example Taylor series) - - it's used in ExpSurrounding0(...), LnSurrounding1(...), Sin0pi05(...), etc. - - note! there'll not be so many iterations, iterations are stopped when - there is no sense to continue calculating (for example when the result - still remains unchanged after adding next series and we know that the next - series are smaller than previous ones) -*/ -#define TTMATH_ARITHMETIC_MAX_LOOP 10000 - - - -/*! - this is a limit when calculating Karatsuba multiplication - if the size of a vector is smaller than TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE - the Karatsuba algorithm will use standard schoolbook multiplication -*/ -#ifdef TTMATH_DEBUG_LOG - // if TTMATH_DEBUG_LOG is defined then we should use the same size regardless of the compiler - #define TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE 3 -#else - #ifdef __GNUC__ - #define TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE 3 - #else - #define TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE 5 - #endif -#endif - - -/*! - this is a special value used when calculating the Gamma(x) function - if x is greater than this value then the Gamma(x) will be calculated using - some kind of series - - don't use smaller values than about 100 -*/ -#define TTMATH_GAMMA_BOUNDARY 2000 - - - - - -namespace ttmath -{ - - /*! - lib type codes: - asm_vc_32 - with asm code designed for Microsoft Visual C++ (32 bits) - asm_gcc_32 - with asm code designed for GCC (32 bits) - asm_vc_64 - with asm for VC (64 bit) - asm_gcc_64 - with asm for GCC (64 bit) - no_asm_32 - pure C++ version (32 bit) - without any asm code - no_asm_64 - pure C++ version (64 bit) - without any asm code - */ - enum LibTypeCode - { - asm_vc_32 = 0, - asm_gcc_32, - asm_vc_64, - asm_gcc_64, - no_asm_32, - no_asm_64 - }; - - - /*! - error codes - */ - enum ErrorCode - { - err_ok = 0, - err_nothing_has_read, - err_unknown_character, - err_unexpected_final_bracket, - err_stack_not_clear, - err_unknown_variable, - err_division_by_zero, - err_interrupt, - err_overflow, - err_unknown_function, - err_unknown_operator, - err_unexpected_semicolon_operator, - err_improper_amount_of_arguments, - err_improper_argument, - err_unexpected_end, - err_internal_error, - err_incorrect_name, - err_incorrect_value, - err_variable_exists, - err_variable_loop, - err_functions_loop, - err_must_be_only_one_value, - err_object_exists, - err_unknown_object, - err_still_calculating, - err_in_short_form_used_function, - err_percent_from - }; - - - /*! - this struct is used when converting to/from a string - /temporarily only in Big::ToString() and Big::FromString()/ - */ - struct Conv - { - /*! - base (radix) on which the value will be shown (or read) - default: 10 - */ - uint base; - - - /*! - used only in Big::ToString() - if true the value will be always shown in the scientific mode, e.g: 123e+30 - default: false - */ - bool scient; - - - /*! - used only in Big::ToString() - if scient is false then the value will be printed in the scientific mode - only if the exponent is greater than scien_from - default: 15 - */ - sint scient_from; - - - /*! - if 'base_round' is true and 'base' is different from 2, 4, 8, or 16 - and the result value is not an integer then we make an additional rounding - (after converting the last digit from the result is skipped) - default: true - - e.g. - Conv c; - c.base_round = false; - Big<1, 1> a = "0.1"; // decimal input - std::cout << a.ToString(c) << std::endl; // the result is: 0.099999999 - */ - bool base_round; - - - /*! - used only in Big::ToString() - tells how many digits after comma are possible - default: -1 which means all digits are printed - - set it to zero if you want integer value only - - for example when the value is: - 12.345678 and 'round' is 4 - then the result will be - 12.3457 (the last digit was rounded) - */ - sint round; - - - /*! - if true that not mattered digits in the mantissa will be cut off - (zero characters at the end -- after the comma operator) - e.g. 1234,78000 will be: 1234,78 - default: true - */ - bool trim_zeroes; - - - /*! - the main comma operator (used when reading and writing) - default is a dot '.' - */ - uint comma; - - - /*! - additional comma operator (used only when reading) - if you don't want it just set it to zero - default is a comma ',' - - this allowes you to convert from a value: - 123.45 as well as from 123,45 - */ - uint comma2; - - - /*! - it sets the character which is used for grouping - if group=' ' then: 1234,56789 will be printed as: 1 234,567 89 - - if you don't want grouping just set it to zero (which is default) - */ - uint group; - - - /*! - how many digits should be grouped (it is used if 'group' is non zero) - default: 3 - */ - uint group_digits; - - - /*! - */ - uint group_exp; // not implemented yet - - - - - Conv() - { - // default values - base = 10; - scient = false; - scient_from = 15; - base_round = true; - round = -1; - trim_zeroes = true; - comma = '.'; - comma2 = ','; - group = 0; - group_digits = 3; - group_exp = 0; - } - }; - - - - /*! - this simple class can be used in multithreading model - (you can write your own class derived from this one) - - for example: in some functions like Factorial() - /at the moment only Factorial/ you can give a pointer to - the 'stop object', if the method WasStopSignal() of this - object returns true that means we should break the calculating - and return - */ - class StopCalculating - { - public: - virtual bool WasStopSignal() const volatile { return false; } - virtual ~StopCalculating(){} - }; - - - /*! - a small class which is useful when compiling with gcc - - object of this type holds the name and the line of a file - in which the macro TTMATH_ASSERT or TTMATH_REFERENCE_ASSERT was used - */ - class ExceptionInfo - { - const char * file; - int line; - - public: - ExceptionInfo() : file(0), line(0) {} - ExceptionInfo(const char * f, int l) : file(f), line(l) {} - - std::string Where() const - { - if( !file ) - return "unknown"; - - std::ostringstream result; - result << file << ":" << line; - - return result.str(); - } - }; - - - /*! - A small class used for reporting 'reference' errors - - In the library is used macro TTMATH_REFERENCE_ASSERT which - can throw an exception of this type - - ** from version 0.9.2 this macro is removed from all methods - in public interface so you don't have to worry about it ** - - If you compile with gcc you can get a small benefit - from using method Where() (it returns std::string) with - the name and the line of a file where the macro TTMATH_REFERENCE_ASSERT - was used) - */ - class ReferenceError : public std::logic_error, public ExceptionInfo - { - public: - - ReferenceError() : std::logic_error("reference error") - { - } - - ReferenceError(const char * f, int l) : - std::logic_error("reference error"), ExceptionInfo(f,l) - { - } - - std::string Where() const - { - return ExceptionInfo::Where(); - } - }; - - - /*! - a small class used for reporting errors - - in the library is used macro TTMATH_ASSERT which - (if the condition in it is false) throw an exception - of this type - - if you compile with gcc you can get a small benefit - from using method Where() (it returns std::string) with - the name and the line of a file where the macro TTMATH_ASSERT - was used) - */ - class RuntimeError : public std::runtime_error, public ExceptionInfo - { - public: - - RuntimeError() : std::runtime_error("internal error") - { - } - - RuntimeError(const char * f, int l) : - std::runtime_error("internal error"), ExceptionInfo(f,l) - { - } - - std::string Where() const - { - return ExceptionInfo::Where(); - } - }; - - - - /*! - TTMATH_DEBUG - this macro enables further testing during writing your code - you don't have to define it in a release mode - - if this macro is set then macros TTMATH_ASSERT and TTMATH_REFERENCE_ASSERT - are set as well and these macros can throw an exception if a condition in it - is not fulfilled (look at the definition of TTMATH_ASSERT and TTMATH_REFERENCE_ASSERT) - - TTMATH_DEBUG is set automatically if DEBUG or _DEBUG are defined - */ - #if defined DEBUG || defined _DEBUG - #define TTMATH_DEBUG - #endif - - - #ifdef TTMATH_DEBUG - - #if defined(__FILE__) && defined(__LINE__) - - #define TTMATH_REFERENCE_ASSERT(expression) \ - if( &(expression) == this ) throw ttmath::ReferenceError(__FILE__, __LINE__); - - #define TTMATH_ASSERT(expression) \ - if( !(expression) ) throw ttmath::RuntimeError(__FILE__, __LINE__); - - #else - - #define TTMATH_REFERENCE_ASSERT(expression) \ - if( &(expression) == this ) throw ReferenceError(); - - #define TTMATH_ASSERT(expression) \ - if( !(expression) ) throw RuntimeError(); - #endif - - #else - #define TTMATH_REFERENCE_ASSERT(expression) - #define TTMATH_ASSERT(expression) - #endif - - - - #ifdef TTMATH_DEBUG_LOG - #define TTMATH_LOG(msg) PrintLog(msg, std::cout); - #define TTMATH_LOGC(msg, carry) PrintLog(msg, carry, std::cout); - #define TTMATH_VECTOR_LOG(msg, vector, len) PrintVectorLog(msg, std::cout, vector, len); - #define TTMATH_VECTOR_LOGC(msg, carry, vector, len) PrintVectorLog(msg, carry, std::cout, vector, len); - #else - #define TTMATH_LOG(msg) - #define TTMATH_LOGC(msg, carry) - #define TTMATH_VECTOR_LOG(msg, vector, len) - #define TTMATH_VECTOR_LOGC(msg, carry, vector, len) - #endif - - - - -} // namespace - - -#endif - diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint.h deleted file mode 100644 index d0f6df132c..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint.h +++ /dev/null @@ -1,4121 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2011, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - - - -#ifndef headerfilettmathuint -#define headerfilettmathuint - - -/*! - \file ttmathuint.h - \brief template class UInt -*/ - -#include -#include - - -#include "ttmathtypes.h" -#include "ttmathmisc.h" - - - -/*! - \brief a namespace for the TTMath library -*/ -namespace ttmath -{ - -/*! - \brief UInt implements a big integer value without a sign - - value_size - how many bytes specify our value - on 32bit platforms: value_size=1 -> 4 bytes -> 32 bits - on 64bit platforms: value_size=1 -> 8 bytes -> 64 bits - value_size = 1,2,3,4,5,6.... -*/ -template -class UInt -{ -public: - - /*! - buffer for the integer value - table[0] - the lowest word of the value - */ - uint table[value_size]; - - - - /*! - some methods used for debugging purposes - */ - - - /*! - this method is only for debugging purposes or when we want to make - a table of a variable (constant) in ttmathbig.h - - it prints the table in a nice form of several columns - */ - template - void PrintTable(ostream_type & output) const - { - // how many columns there'll be - const int columns = 8; - - int c = 1; - for(int i=value_size-1 ; i>=0 ; --i) - { - output << "0x" << std::setfill('0'); - - #ifdef TTMATH_PLATFORM32 - output << std::setw(8); - #else - output << std::setw(16); - #endif - - output << std::hex << table[i]; - - if( i>0 ) - { - output << ", "; - - if( ++c > columns ) - { - output << std::endl; - c = 1; - } - } - } - - output << std::dec << std::endl; - } - - - /*! - this method is used when macro TTMATH_DEBUG_LOG is defined - */ - template - static void PrintVectorLog(const char_type * msg, ostream_type & output, const uint * vector, uint vector_len) - { - output << msg << std::endl; - - for(uint i=0 ; i - static void PrintVectorLog(const char_type * msg, uint carry, ostream_type & output, const uint * vector, uint vector_len) - { - PrintVectorLog(msg, output, vector, vector_len); - output << " carry: " << carry << std::endl; - } - - - /*! - this method is used when macro TTMATH_DEBUG_LOG is defined - */ - template - void PrintLog(const char_type * msg, ostream_type & output) const - { - PrintVectorLog(msg, output, table, value_size); - } - - - /*! - this method is used when macro TTMATH_DEBUG_LOG is defined - */ - template - void PrintLog(const char_type * msg, uint carry, ostream_type & output) const - { - PrintVectorLog(msg, output, table, value_size); - output << " carry: " << carry << std::endl; - } - - - /*! - this method returns the size of the table - */ - uint Size() const - { - return value_size; - } - - - /*! - this method sets zero - */ - void SetZero() - { - // in the future here can be 'memset' - - for(uint i=0 ; i & ss2) - { - for(uint i=0 ; i=0 && temp_table_index=0 ; --i) - table[i] = 0; - - - TTMATH_LOG("UInt::SetFromTable") - } - -#endif - - -#ifdef TTMATH_PLATFORM64 - /*! - this method copies the value stored in an another table - (warning: first values in temp_table are the highest words -- it's different - from our table) - - ***this method is created only on a 64bit platform*** - - we copy as many words as it is possible - - if temp_table_len is bigger than value_size we'll try to round - the lowest word from table depending on the last not used bit in temp_table - (this rounding isn't a perfect rounding -- look at the description below) - - and if temp_table_len is smaller than value_size we'll clear the rest words - in the table - - warning: we're using 'temp_table' as a pointer at 32bit words - */ - void SetFromTable(const unsigned int * temp_table, uint temp_table_len) - { - uint temp_table_index = 0; - sint i; // 'i' with a sign - - for(i=value_size-1 ; i>=0 && temp_table_index= 0 ; --i) - table[i] = 0; - - TTMATH_LOG("UInt::SetFromTable") - } - -#endif - - - - - - /*! - * - * basic mathematic functions - * - */ - - - - - /*! - this method adds one to the existing value - */ - uint AddOne() - { - return AddInt(1); - } - - - /*! - this method subtracts one from the existing value - */ - uint SubOne() - { - return SubInt(1); - } - - -private: - - - /*! - an auxiliary method for moving bits into the left hand side - - this method moves only words - */ - void RclMoveAllWords(uint & rest_bits, uint & last_c, uint bits, uint c) - { - rest_bits = bits % TTMATH_BITS_PER_UINT; - uint all_words = bits / TTMATH_BITS_PER_UINT; - uint mask = ( c ) ? TTMATH_UINT_MAX_VALUE : 0; - - - if( all_words >= value_size ) - { - if( all_words == value_size && rest_bits == 0 ) - last_c = table[0] & 1; - // else: last_c is default set to 0 - - // clearing - for(uint i = 0 ; i 0 ) - { - // 0 < all_words < value_size - - sint first, second; - last_c = table[value_size - all_words] & 1; // all_words is greater than 0 - - // copying the first part of the value - for(first = value_size-1, second=first-all_words ; second>=0 ; --first, --second) - table[first] = table[second]; - - // setting the rest to 'c' - for( ; first>=0 ; --first ) - table[first] = mask; - } - - TTMATH_LOG("UInt::RclMoveAllWords") - } - -public: - - /*! - moving all bits into the left side 'bits' times - return value <- this <- C - - bits is from a range of <0, man * TTMATH_BITS_PER_UINT> - or it can be even bigger then all bits will be set to 'c' - - the value c will be set into the lowest bits - and the method returns state of the last moved bit - */ - uint Rcl(uint bits, uint c=0) - { - uint last_c = 0; - uint rest_bits = bits; - - if( bits == 0 ) - return 0; - - if( bits >= TTMATH_BITS_PER_UINT ) - RclMoveAllWords(rest_bits, last_c, bits, c); - - if( rest_bits == 0 ) - { - TTMATH_LOG("UInt::Rcl") - return last_c; - } - - // rest_bits is from 1 to TTMATH_BITS_PER_UINT-1 now - if( rest_bits == 1 ) - { - last_c = Rcl2_one(c); - } - else if( rest_bits == 2 ) - { - // performance tests showed that for rest_bits==2 it's better to use Rcl2_one twice instead of Rcl2(2,c) - Rcl2_one(c); - last_c = Rcl2_one(c); - } - else - { - last_c = Rcl2(rest_bits, c); - } - - TTMATH_LOGC("UInt::Rcl", last_c) - - return last_c; - } - -private: - - /*! - an auxiliary method for moving bits into the right hand side - - this method moves only words - */ - void RcrMoveAllWords(uint & rest_bits, uint & last_c, uint bits, uint c) - { - rest_bits = bits % TTMATH_BITS_PER_UINT; - uint all_words = bits / TTMATH_BITS_PER_UINT; - uint mask = ( c ) ? TTMATH_UINT_MAX_VALUE : 0; - - - if( all_words >= value_size ) - { - if( all_words == value_size && rest_bits == 0 ) - last_c = (table[value_size-1] & TTMATH_UINT_HIGHEST_BIT) ? 1 : 0; - // else: last_c is default set to 0 - - // clearing - for(uint i = 0 ; i 0 ) - { - // 0 < all_words < value_size - - uint first, second; - last_c = (table[all_words - 1] & TTMATH_UINT_HIGHEST_BIT) ? 1 : 0; // all_words is > 0 - - // copying the first part of the value - for(first=0, second=all_words ; second this -> return value - - bits is from a range of <0, man * TTMATH_BITS_PER_UINT> - or it can be even bigger then all bits will be set to 'c' - - the value c will be set into the highest bits - and the method returns state of the last moved bit - */ - uint Rcr(uint bits, uint c=0) - { - uint last_c = 0; - uint rest_bits = bits; - - if( bits == 0 ) - return 0; - - if( bits >= TTMATH_BITS_PER_UINT ) - RcrMoveAllWords(rest_bits, last_c, bits, c); - - if( rest_bits == 0 ) - { - TTMATH_LOG("UInt::Rcr") - return last_c; - } - - // rest_bits is from 1 to TTMATH_BITS_PER_UINT-1 now - if( rest_bits == 1 ) - { - last_c = Rcr2_one(c); - } - else if( rest_bits == 2 ) - { - // performance tests showed that for rest_bits==2 it's better to use Rcr2_one twice instead of Rcr2(2,c) - Rcr2_one(c); - last_c = Rcr2_one(c); - } - else - { - last_c = Rcr2(rest_bits, c); - } - - TTMATH_LOGC("UInt::Rcr", last_c) - - return last_c; - } - - - /*! - this method moves all bits into the left side - (it returns value how many bits have been moved) - */ - uint CompensationToLeft() - { - uint moving = 0; - - // a - index a last word which is different from zero - sint a; - for(a=value_size-1 ; a>=0 && table[a]==0 ; --a); - - if( a < 0 ) - return moving; // all words in table have zero - - if( a != value_size-1 ) - { - moving += ( value_size-1 - a ) * TTMATH_BITS_PER_UINT; - - // moving all words - sint i; - for(i=value_size-1 ; a>=0 ; --i, --a) - table[i] = table[a]; - - // setting the rest word to zero - for(; i>=0 ; --i) - table[i] = 0; - } - - uint moving2 = FindLeadingBitInWord( table[value_size-1] ); - // moving2 is different from -1 because the value table[value_size-1] - // is not zero - - moving2 = TTMATH_BITS_PER_UINT - moving2 - 1; - Rcl(moving2); - - TTMATH_LOG("UInt::CompensationToLeft") - - return moving + moving2; - } - - - /*! - this method looks for the highest set bit - - result: - if 'this' is not zero: - return value - true - 'table_id' - the index of a word <0..value_size-1> - 'index' - the index of this set bit in the word <0..TTMATH_BITS_PER_UINT) - - if 'this' is zero: - return value - false - both 'table_id' and 'index' are zero - */ - bool FindLeadingBit(uint & table_id, uint & index) const - { - for(table_id=value_size-1 ; table_id!=0 && table[table_id]==0 ; --table_id); - - if( table_id==0 && table[table_id]==0 ) - { - // is zero - index = 0; - - return false; - } - - // table[table_id] is different from 0 - index = FindLeadingBitInWord( table[table_id] ); - - return true; - } - - - /*! - this method looks for the smallest set bit - - result: - if 'this' is not zero: - return value - true - 'table_id' - the index of a word <0..value_size-1> - 'index' - the index of this set bit in the word <0..TTMATH_BITS_PER_UINT) - - if 'this' is zero: - return value - false - both 'table_id' and 'index' are zero - */ - bool FindLowestBit(uint & table_id, uint & index) const - { - for(table_id=0 ; table_id= value_size ) - { - // is zero - index = 0; - table_id = 0; - - return false; - } - - // table[table_id] is different from 0 - index = FindLowestBitInWord( table[table_id] ); - - return true; - } - - - /*! - getting the 'bit_index' bit - - bit_index bigger or equal zero - */ - uint GetBit(uint bit_index) const - { - TTMATH_ASSERT( bit_index < value_size * TTMATH_BITS_PER_UINT ) - - uint index = bit_index / TTMATH_BITS_PER_UINT; - uint bit = bit_index % TTMATH_BITS_PER_UINT; - - uint temp = table[index]; - uint res = SetBitInWord(temp, bit); - - return res; - } - - - /*! - setting the 'bit_index' bit - and returning the last state of the bit - - bit_index bigger or equal zero - */ - uint SetBit(uint bit_index) - { - TTMATH_ASSERT( bit_index < value_size * TTMATH_BITS_PER_UINT ) - - uint index = bit_index / TTMATH_BITS_PER_UINT; - uint bit = bit_index % TTMATH_BITS_PER_UINT; - uint res = SetBitInWord(table[index], bit); - - TTMATH_LOG("UInt::SetBit") - - return res; - } - - - /*! - this method performs a bitwise operation AND - */ - void BitAnd(const UInt & ss2) - { - for(uint x=0 ; x & ss2) - { - for(uint x=0 ; x & ss2) - { - for(uint x=0 ; x - - for example: - BitNot2(8) = BitNot2( 1000(bin) ) = 111(bin) = 7 - */ - void BitNot2() - { - uint table_id, index; - - if( FindLeadingBit(table_id, index) ) - { - for(uint x=0 ; x>= shift; - - table[table_id] ^= mask; - } - else - table[0] = 1; - - - TTMATH_LOG("UInt::BitNot2") - } - - - - /*! - * - * Multiplication - * - * - */ - -public: - - /*! - multiplication: this = this * ss2 - - it can return a carry - */ - uint MulInt(uint ss2) - { - uint r1, r2, x1; - uint c = 0; - - UInt u(*this); - SetZero(); - - if( ss2 == 0 ) - { - TTMATH_LOGC("UInt::MulInt(uint)", 0) - return 0; - } - - for(x1=0 ; x1 - void MulInt(uint ss2, UInt & result) const - { - TTMATH_ASSERT( result_size > value_size ) - - uint r2,r1; - uint x1size=value_size; - uint x1start=0; - - result.SetZero(); - - if( ss2 == 0 ) - { - TTMATH_VECTOR_LOG("UInt::MulInt(uint, UInt<>)", result.table, result_size) - return; - } - - if( value_size > 2 ) - { - // if the value_size is smaller than or equal to 2 - // there is no sense to set x1size and x1start to another values - - for(x1size=value_size ; x1size>0 && table[x1size-1]==0 ; --x1size); - - if( x1size == 0 ) - { - TTMATH_VECTOR_LOG("UInt::MulInt(uint, UInt<>)", result.table, result_size) - return; - } - - for(x1start=0 ; x1start)", result.table, result_size) - - return; - } - - - - /*! - the multiplication 'this' = 'this' * ss2 - - algorithm: 100 - means automatically choose the fastest algorithm - */ - uint Mul(const UInt & ss2, uint algorithm = 100) - { - switch( algorithm ) - { - case 1: - return Mul1(ss2); - - case 2: - return Mul2(ss2); - - case 3: - return Mul3(ss2); - - case 100: - default: - return MulFastest(ss2); - } - } - - - /*! - the multiplication 'result' = 'this' * ss2 - - since the 'result' is twice bigger than 'this' and 'ss2' - this method never returns a carry - - algorithm: 100 - means automatically choose the fastest algorithm - */ - void MulBig(const UInt & ss2, - UInt & result, - uint algorithm = 100) - { - switch( algorithm ) - { - case 1: - return Mul1Big(ss2, result); - - case 2: - return Mul2Big(ss2, result); - - case 3: - return Mul3Big(ss2, result); - - case 100: - default: - return MulFastestBig(ss2, result); - } - } - - - - /*! - the first version of the multiplication algorithm - */ - -private: - - /*! - multiplication: this = this * ss2 - - it returns carry if it has been - */ - uint Mul1Ref(const UInt & ss2) - { - TTMATH_REFERENCE_ASSERT( ss2 ) - - UInt ss1( *this ); - SetZero(); - - for(uint i=0; i < value_size*TTMATH_BITS_PER_UINT ; ++i) - { - if( Add(*this) ) - { - TTMATH_LOGC("UInt::Mul1", 1) - return 1; - } - - if( ss1.Rcl(1) ) - if( Add(ss2) ) - { - TTMATH_LOGC("UInt::Mul1", 1) - return 1; - } - } - - TTMATH_LOGC("UInt::Mul1", 0) - - return 0; - } - - -public: - - /*! - multiplication: this = this * ss2 - can return carry - */ - uint Mul1(const UInt & ss2) - { - if( this == &ss2 ) - { - UInt copy_ss2(ss2); - return Mul1Ref(copy_ss2); - } - else - { - return Mul1Ref(ss2); - } - } - - - /*! - multiplication: result = this * ss2 - - result is twice bigger than 'this' and 'ss2' - this method never returns carry - */ - void Mul1Big(const UInt & ss2_, UInt & result) - { - UInt ss2; - uint i; - - // copying *this into result and ss2_ into ss2 - for(i=0 ; i & ss2) - { - UInt result; - uint i, c = 0; - - Mul2Big(ss2, result); - - // copying result - for(i=0 ; i & ss2, UInt & result) - { - Mul2Big2(table, ss2.table, result); - - TTMATH_LOG("UInt::Mul2Big") - } - - -private: - - /*! - an auxiliary method for calculating the multiplication - - arguments we're taking as pointers (this is to improve the Mul3Big2()- avoiding - unnecessary copying objects), the result should be taken as a pointer too, - but at the moment there is no method AddTwoInts() which can operate on pointers - */ - template - void Mul2Big2(const uint * ss1, const uint * ss2, UInt & result) - { - uint x1size = ss_size, x2size = ss_size; - uint x1start = 0, x2start = 0; - - if( ss_size > 2 ) - { - // if the ss_size is smaller than or equal to 2 - // there is no sense to set x1size (and others) to another values - - for(x1size=ss_size ; x1size>0 && ss1[x1size-1]==0 ; --x1size); - for(x2size=ss_size ; x2size>0 && ss2[x2size-1]==0 ; --x2size); - - for(x1start=0 ; x1start(ss1, ss2, result, x1start, x1size, x2start, x2size); - } - - - - /*! - an auxiliary method for calculating the multiplication - */ - template - void Mul2Big3(const uint * ss1, const uint * ss2, UInt & result, uint x1start, uint x1size, uint x2start, uint x2size) - { - uint r2, r1; - - result.SetZero(); - - if( x1size==0 || x2size==0 ) - return; - - for(uint x1=x1start ; x1 & ss2) - { - UInt result; - uint i, c = 0; - - Mul3Big(ss2, result); - - // copying result - for(i=0 ; i & ss2, UInt & result) - { - Mul3Big2(table, ss2.table, result.table); - - TTMATH_LOG("UInt::Mul3Big") - } - - - -private: - - /*! - an auxiliary method for calculating the Karatsuba multiplication - - result_size is equal ss_size*2 - */ - template - void Mul3Big2(const uint * ss1, const uint * ss2, uint * result) - { - const uint * x1, * x0, * y1, * y0; - - - if( ss_size>1 && ss_size res; - Mul2Big2(ss1, ss2, res); - - for(uint i=0 ; i(x1, x0, y1, y0, result); - } - else - { - // ss_size is even - x0 = ss1; - y0 = ss2; - x1 = ss1 + ss_size / 2; - y1 = ss2 + ss_size / 2; - - // all four vectors (x0 x1 y0 y1) are equal in size - Mul3Big3(x1, x0, y1, y0, result); - } - } - - - -#ifdef _MSC_VER -#pragma warning (disable : 4717) -//warning C4717: recursive on all control paths, function will cause runtime stack overflow -//we have the stop point in Mul3Big2() method -#endif - - - /*! - an auxiliary method for calculating the Karatsuba multiplication - - x = x1*B^m + x0 - y = y1*B^m + y0 - - first_size - is the size of vectors: x0 and y0 - second_size - is the size of vectors: x1 and y1 (can be either equal first_size or smaller about one from first_size) - - x*y = (x1*B^m + x0)(y1*B^m + y0) = z2*B^(2m) + z1*B^m + z0 - where - z0 = x0*y0 - z2 = x1*y1 - z1 = (x1 + x0)*(y1 + y0) - z2 - z0 - */ - template - void Mul3Big3(const uint * x1, const uint * x0, const uint * y1, const uint * y0, uint * result) - { - uint i, c, xc, yc; - - UInt temp, temp2; - UInt z1; - - // z0 and z2 we store directly in the result (we don't use any temporary variables) - Mul3Big2(x0, y0, result); // z0 - Mul3Big2(x1, y1, result+first_size*2); // z2 - - // now we calculate z1 - // temp = (x0 + x1) - // temp2 = (y0 + y1) - // we're using temp and temp2 with UInt, although there can be a carry but - // we simple remember it in xc and yc (xc and yc can be either 0 or 1), - // and (x0 + x1)*(y0 + y1) we calculate in this way (schoolbook algorithm): - // - // xc | temp - // yc | temp2 - // -------------------- - // (temp * temp2) - // xc*temp2 | - // yc*temp | - // xc*yc | - // ---------- z1 -------- - // - // and the result is never larger in size than 3*first_size - - xc = AddVector(x0, x1, first_size, second_size, temp.table); - yc = AddVector(y0, y1, first_size, second_size, temp2.table); - - Mul3Big2(temp.table, temp2.table, z1.table); - - // clearing the rest of z1 - for(i=first_size*2 ; i second_size ) - { - uint z1_size = result_size - first_size; - TTMATH_ASSERT( z1_size <= first_size*3 ) - - for(i=z1_size ; i & ss2) - { - UInt result; - uint i, c = 0; - - MulFastestBig(ss2, result); - - // copying result - for(i=0 ; i & ss2, UInt & result) - { - if( value_size < TTMATH_USE_KARATSUBA_MULTIPLICATION_FROM_SIZE ) - return Mul2Big(ss2, result); - - uint x1size = value_size, x2size = value_size; - uint x1start = 0, x2start = 0; - - for(x1size=value_size ; x1size>0 && table[x1size-1]==0 ; --x1size); - for(x2size=value_size ; x2size>0 && ss2.table[x2size-1]==0 ; --x2size); - - if( x1size==0 || x2size==0 ) - { - // either 'this' or 'ss2' is equal zero - the result is zero too - result.SetZero(); - return; - } - - for(x1start=0 ; x1start(table, ss2.table, result, x1start, x1size, x2start, x2size); - - - // Karatsuba multiplication - Mul3Big(ss2, result); - - TTMATH_LOG("UInt::MulFastestBig") - } - - - /*! - * - * Division - * - * - */ - -public: - - - /*! - division by one unsigned word - - returns 1 when divisor is zero - */ - uint DivInt(uint divisor, uint * remainder = 0) - { - if( divisor == 0 ) - { - if( remainder ) - *remainder = 0; // this is for convenience, without it the compiler can report that 'remainder' is uninitialized - - TTMATH_LOG("UInt::DivInt") - - return 1; - } - - if( divisor == 1 ) - { - if( remainder ) - *remainder = 0; - - TTMATH_LOG("UInt::DivInt") - - return 0; - } - - UInt dividend(*this); - SetZero(); - - sint i; // i must be with a sign - uint r = 0; - - // we're looking for the last word in ss1 - for(i=value_size-1 ; i>0 && dividend.table[i]==0 ; --i); - - for( ; i>=0 ; --i) - DivTwoWords(r, dividend.table[i], divisor, &table[i], &r); - - if( remainder ) - *remainder = r; - - TTMATH_LOG("UInt::DivInt") - - return 0; - } - - uint DivInt(uint divisor, uint & remainder) - { - return DivInt(divisor, &remainder); - } - - - - /*! - division this = this / ss2 - - return values: - 0 - ok - 1 - division by zero - 'this' will be the quotient - 'remainder' - remainder - */ - uint Div( const UInt & divisor, - UInt * remainder = 0, - uint algorithm = 3) - { - switch( algorithm ) - { - case 1: - return Div1(divisor, remainder); - - case 2: - return Div2(divisor, remainder); - - case 3: - default: - return Div3(divisor, remainder); - } - } - - uint Div(const UInt & divisor, UInt & remainder, uint algorithm = 3) - { - return Div(divisor, &remainder, algorithm); - } - - - -private: - - /*! - return values: - 0 - none has to be done - 1 - division by zero - 2 - division should be made - */ - uint Div_StandardTest( const UInt & v, - uint & m, uint & n, - UInt * remainder = 0) - { - switch( Div_CalculatingSize(v, m, n) ) - { - case 4: // 'this' is equal v - if( remainder ) - remainder->SetZero(); - - SetOne(); - TTMATH_LOG("UInt::Div_StandardTest") - return 0; - - case 3: // 'this' is smaller than v - if( remainder ) - *remainder = *this; - - SetZero(); - TTMATH_LOG("UInt::Div_StandardTest") - return 0; - - case 2: // 'this' is zero - if( remainder ) - remainder->SetZero(); - - SetZero(); - TTMATH_LOG("UInt::Div_StandardTest") - return 0; - - case 1: // v is zero - TTMATH_LOG("UInt::Div_StandardTest") - return 1; - } - - TTMATH_LOG("UInt::Div_StandardTest") - - return 2; - } - - - - /*! - return values: - 0 - ok - 'm' - is the index (from 0) of last non-zero word in table ('this') - 'n' - is the index (from 0) of last non-zero word in v.table - 1 - v is zero - 2 - 'this' is zero - 3 - 'this' is smaller than v - 4 - 'this' is equal v - - if the return value is different than zero the 'm' and 'n' are undefined - */ - uint Div_CalculatingSize(const UInt & v, uint & m, uint & n) - { - m = n = value_size-1; - - for( ; n!=0 && v.table[n]==0 ; --n); - - if( n==0 && v.table[n]==0 ) - return 1; - - for( ; m!=0 && table[m]==0 ; --m); - - if( m==0 && table[m]==0 ) - return 2; - - if( m < n ) - return 3; - else - if( m == n ) - { - uint i; - for(i = n ; i!=0 && table[i]==v.table[i] ; --i); - - if( table[i] < v.table[i] ) - return 3; - else - if (table[i] == v.table[i] ) - return 4; - } - - return 0; - } - - -public: - - /*! - the first division algorithm - radix 2 - */ - uint Div1(const UInt & divisor, UInt * remainder = 0) - { - uint m,n, test; - - test = Div_StandardTest(divisor, m, n, remainder); - if( test < 2 ) - return test; - - if( !remainder ) - { - UInt rem; - - return Div1_Calculate(divisor, rem); - } - - return Div1_Calculate(divisor, *remainder); - } - - - /*! - the first division algorithm - radix 2 - */ - uint Div1(const UInt & divisor, UInt & remainder) - { - return Div1(divisor, &remainder); - } - - -private: - - uint Div1_Calculate(const UInt & divisor, UInt & rest) - { - if( this == &divisor ) - { - UInt divisor_copy(divisor); - return Div1_CalculateRef(divisor_copy, rest); - } - else - { - return Div1_CalculateRef(divisor, rest); - } - } - - - uint Div1_CalculateRef(const UInt & divisor, UInt & rest) - { - TTMATH_REFERENCE_ASSERT( divisor ) - - sint loop; - sint c; - - rest.SetZero(); - loop = value_size * TTMATH_BITS_PER_UINT; - c = 0; - - - div_a: - c = Rcl(1, c); - c = rest.Add(rest,c); - c = rest.Sub(divisor,c); - - c = !c; - - if(!c) - goto div_d; - - - div_b: - --loop; - if(loop) - goto div_a; - - c = Rcl(1, c); - TTMATH_LOG("UInt::Div1_Calculate") - return 0; - - - div_c: - c = Rcl(1, c); - c = rest.Add(rest,c); - c = rest.Add(divisor); - - if(c) - goto div_b; - - - div_d: - --loop; - if(loop) - goto div_c; - - c = Rcl(1, c); - c = rest.Add(divisor); - - TTMATH_LOG("UInt::Div1_Calculate") - - return 0; - } - - -public: - - /*! - the second division algorithm - - return values: - 0 - ok - 1 - division by zero - */ - uint Div2(const UInt & divisor, UInt * remainder = 0) - { - if( this == &divisor ) - { - UInt divisor_copy(divisor); - return Div2Ref(divisor_copy, remainder); - } - else - { - return Div2Ref(divisor, remainder); - } - } - - - /*! - the second division algorithm - - return values: - 0 - ok - 1 - division by zero - */ - uint Div2(const UInt & divisor, UInt & remainder) - { - return Div2(divisor, &remainder); - } - - -private: - - /*! - the second division algorithm - - return values: - 0 - ok - 1 - division by zero - */ - uint Div2Ref(const UInt & divisor, UInt * remainder = 0) - { - uint bits_diff; - uint status = Div2_Calculate(divisor, remainder, bits_diff); - if( status < 2 ) - return status; - - if( CmpBiggerEqual(divisor) ) - { - Div2(divisor, remainder); - SetBit(bits_diff); - } - else - { - if( remainder ) - *remainder = *this; - - SetZero(); - SetBit(bits_diff); - } - - TTMATH_LOG("UInt::Div2") - - return 0; - } - - - /*! - return values: - 0 - we've calculated the division - 1 - division by zero - 2 - we have to still calculate - - */ - uint Div2_Calculate(const UInt & divisor, UInt * remainder, - uint & bits_diff) - { - uint table_id, index; - uint divisor_table_id, divisor_index; - - uint status = Div2_FindLeadingBitsAndCheck( divisor, remainder, - table_id, index, - divisor_table_id, divisor_index); - - if( status < 2 ) - { - TTMATH_LOG("UInt::Div2_Calculate") - return status; - } - - // here we know that 'this' is greater than divisor - // then 'index' is greater or equal 'divisor_index' - bits_diff = index - divisor_index; - - UInt divisor_copy(divisor); - divisor_copy.Rcl(bits_diff, 0); - - if( CmpSmaller(divisor_copy, table_id) ) - { - divisor_copy.Rcr(1); - --bits_diff; - } - - Sub(divisor_copy, 0); - - TTMATH_LOG("UInt::Div2_Calculate") - - return 2; - } - - - /*! - return values: - 0 - we've calculated the division - 1 - division by zero - 2 - we have to still calculate - */ - uint Div2_FindLeadingBitsAndCheck( const UInt & divisor, - UInt * remainder, - uint & table_id, uint & index, - uint & divisor_table_id, uint & divisor_index) - { - if( !divisor.FindLeadingBit(divisor_table_id, divisor_index) ) - { - // division by zero - TTMATH_LOG("UInt::Div2_FindLeadingBitsAndCheck") - return 1; - } - - if( !FindLeadingBit(table_id, index) ) - { - // zero is divided by something - - SetZero(); - - if( remainder ) - remainder->SetZero(); - - TTMATH_LOG("UInt::Div2_FindLeadingBitsAndCheck") - - return 0; - } - - divisor_index += divisor_table_id * TTMATH_BITS_PER_UINT; - index += table_id * TTMATH_BITS_PER_UINT; - - if( divisor_table_id == 0 ) - { - // dividor has only one 32-bit word - - uint r; - DivInt(divisor.table[0], &r); - - if( remainder ) - { - remainder->SetZero(); - remainder->table[0] = r; - } - - TTMATH_LOG("UInt::Div2_FindLeadingBitsAndCheck") - - return 0; - } - - - if( Div2_DivisorGreaterOrEqual( divisor, remainder, - table_id, index, - divisor_index) ) - { - TTMATH_LOG("UInt::Div2_FindLeadingBitsAndCheck") - return 0; - } - - - TTMATH_LOG("UInt::Div2_FindLeadingBitsAndCheck") - - return 2; - } - - - /*! - return values: - true if divisor is equal or greater than 'this' - */ - bool Div2_DivisorGreaterOrEqual( const UInt & divisor, - UInt * remainder, - uint table_id, uint index, - uint divisor_index ) - { - if( divisor_index > index ) - { - // divisor is greater than this - - if( remainder ) - *remainder = *this; - - SetZero(); - - TTMATH_LOG("UInt::Div2_DivisorGreaterOrEqual") - - return true; - } - - if( divisor_index == index ) - { - // table_id == divisor_table_id as well - - uint i; - for(i = table_id ; i!=0 && table[i]==divisor.table[i] ; --i); - - if( table[i] < divisor.table[i] ) - { - // divisor is greater than 'this' - - if( remainder ) - *remainder = *this; - - SetZero(); - - TTMATH_LOG("UInt::Div2_DivisorGreaterOrEqual") - - return true; - } - else - if( table[i] == divisor.table[i] ) - { - // divisor is equal 'this' - - if( remainder ) - remainder->SetZero(); - - SetOne(); - - TTMATH_LOG("UInt::Div2_DivisorGreaterOrEqual") - - return true; - } - } - - TTMATH_LOG("UInt::Div2_DivisorGreaterOrEqual") - - return false; - } - - -public: - - /*! - the third division algorithm - */ - uint Div3(const UInt & ss2, UInt * remainder = 0) - { - if( this == &ss2 ) - { - UInt copy_ss2(ss2); - return Div3Ref(copy_ss2, remainder); - } - else - { - return Div3Ref(ss2, remainder); - } - } - - - /*! - the third division algorithm - */ - uint Div3(const UInt & ss2, UInt & remainder) - { - return Div3(ss2, &remainder); - } - - -private: - - /*! - the third division algorithm - - this algorithm is described in the following book: - "The art of computer programming 2" (4.3.1 page 272) - Donald E. Knuth - !! give the description here (from the book) - */ - uint Div3Ref(const UInt & v, UInt * remainder = 0) - { - uint m,n, test; - - test = Div_StandardTest(v, m, n, remainder); - if( test < 2 ) - return test; - - if( n == 0 ) - { - uint r; - DivInt( v.table[0], &r ); - - if( remainder ) - { - remainder->SetZero(); - remainder->table[0] = r; - } - - TTMATH_LOG("UInt::Div3") - - return 0; - } - - - // we can only use the third division algorithm when - // the divisor is greater or equal 2^32 (has more than one 32-bit word) - ++m; - ++n; - m = m - n; - Div3_Division(v, remainder, m, n); - - TTMATH_LOG("UInt::Div3") - - return 0; - } - - - -private: - - - void Div3_Division(UInt v, UInt * remainder, uint m, uint n) - { - TTMATH_ASSERT( n>=2 ) - - UInt uu, vv; - UInt q; - uint d, u_value_size, u0, u1, u2, v1, v0, j=m; - - u_value_size = Div3_Normalize(v, n, d); - - if( j+n == value_size ) - u2 = u_value_size; - else - u2 = table[j+n]; - - Div3_MakeBiggerV(v, vv); - - for(uint i = j+1 ; i & uu, uint j, uint n, uint u_max) - { - uint i; - - for(i=0 ; i so and 'i' is from <0..value_size> - // then table[i] is always correct (look at the declaration of 'uu') - uu.table[i] = u_max; - - for( ++i ; i & uu, uint j, uint n) - { - uint i; - - for(i=0 ; i & v, UInt & vv) - { - for(uint i=0 ; i & v, uint n, uint & d) - { - // v.table[n-1] is != 0 - - uint bit = (uint)FindLeadingBitInWord(v.table[n-1]); - uint move = (TTMATH_BITS_PER_UINT - bit - 1); - uint res = table[value_size-1]; - d = move; - - if( move > 0 ) - { - v.Rcl(move, 0); - Rcl(move, 0); - res = res >> (bit + 1); - } - else - { - res = 0; - } - - TTMATH_LOG("UInt::Div3_Normalize") - - return res; - } - - - void Div3_Unnormalize(UInt * remainder, uint n, uint d) - { - for(uint i=n ; i u_temp; - uint rp; - bool next_test; - - TTMATH_ASSERT( v1 != 0 ) - - u_temp.table[1] = u2; - u_temp.table[0] = u1; - u_temp.DivInt(v1, &rp); - - TTMATH_ASSERT( u_temp.table[1]==0 || u_temp.table[1]==1 ) - - do - { - bool decrease = false; - - if( u_temp.table[1] == 1 ) - decrease = true; - else - { - UInt<2> temp1, temp2; - - UInt<2>::MulTwoWords(u_temp.table[0], v0, temp1.table+1, temp1.table); - temp2.table[1] = rp; - temp2.table[0] = u0; - - if( temp1 > temp2 ) - decrease = true; - } - - next_test = false; - - if( decrease ) - { - u_temp.SubOne(); - - rp += v1; - - if( rp >= v1 ) // it means that there wasn't a carry (r & uu, - const UInt & vv, uint & qp) - { - // D4 (in the book) - - UInt vv_temp(vv); - vv_temp.MulInt(qp); - - if( uu.Sub(vv_temp) ) - { - // there was a carry - - // - // !!! this part of code was not tested - // - - --qp; - uu.Add(vv); - - // can be a carry from this additions but it should be ignored - // because it cancels with the borrow from uu.Sub(vv_temp) - } - - TTMATH_LOG("UInt::Div3_MultiplySubtract") - } - - - - - - -public: - - - /*! - power this = this ^ pow - binary algorithm (r-to-l) - - return values: - 0 - ok - 1 - carry - 2 - incorrect argument (0^0) - */ - uint Pow(UInt pow) - { - if(pow.IsZero() && IsZero()) - // we don't define zero^zero - return 2; - - UInt start(*this); - UInt result; - result.SetOne(); - uint c = 0; - - while( !c ) - { - if( pow.table[0] & 1 ) - c += result.Mul(start); - - pow.Rcr2_one(0); - if( pow.IsZero() ) - break; - - c += start.Mul(start); - } - - *this = result; - - TTMATH_LOGC("UInt::Pow(UInt<>)", c) - - return (c==0)? 0 : 1; - } - - - /*! - square root - e.g. Sqrt(9) = 3 - ('digit-by-digit' algorithm) - */ - void Sqrt() - { - UInt bit, temp; - - if( IsZero() ) - return; - - UInt value(*this); - - SetZero(); - bit.SetZero(); - bit.table[value_size-1] = (TTMATH_UINT_HIGHEST_BIT >> 1); - - while( bit > value ) - bit.Rcr(2); - - while( !bit.IsZero() ) - { - temp = *this; - temp.Add(bit); - - if( value >= temp ) - { - value.Sub(temp); - Rcr(1); - Add(bit); - } - else - { - Rcr(1); - } - - bit.Rcr(2); - } - - TTMATH_LOG("UInt::Sqrt") - } - - - - /*! - this method sets n first bits to value zero - - For example: - let n=2 then if there's a value 111 (bin) there'll be '100' (bin) - */ - void ClearFirstBits(uint n) - { - if( n >= value_size*TTMATH_BITS_PER_UINT ) - { - SetZero(); - TTMATH_LOG("UInt::ClearFirstBits") - return; - } - - uint * p = table; - - // first we're clearing the whole words - while( n >= TTMATH_BITS_PER_UINT ) - { - *p++ = 0; - n -= TTMATH_BITS_PER_UINT; - } - - if( n == 0 ) - { - TTMATH_LOG("UInt::ClearFirstBits") - return; - } - - // and then we're clearing one word which has left - // mask -- all bits are set to one - uint mask = TTMATH_UINT_MAX_VALUE; - - mask = mask << n; - - (*p) &= mask; - - TTMATH_LOG("UInt::ClearFirstBits") - } - - - /*! - this method returns true if the highest bit of the value is set - */ - bool IsTheHighestBitSet() const - { - return (table[value_size-1] & TTMATH_UINT_HIGHEST_BIT) != 0; - } - - - /*! - this method returns true if the lowest bit of the value is set - */ - bool IsTheLowestBitSet() const - { - return (*table & 1) != 0; - } - - - /*! - returning true if only the highest bit is set - */ - bool IsOnlyTheHighestBitSet() const - { - for(uint i=0 ; i> (TTMATH_BITS_PER_UINT - rest); - - return (table[i] & mask) == 0; - } - - - - /*! - * - * conversion methods - * - */ - - - - /*! - this method converts an UInt type to this class - - this operation has mainly sense if the value from p is - equal or smaller than that one which is returned from UInt::SetMax() - - it returns a carry if the value 'p' is too big - */ - template - uint FromUInt(const UInt & p) - { - uint min_size = (value_size < argument_size)? value_size : argument_size; - uint i; - - for(i=0 ; i argument_size ) - { - // 'this' is longer than 'p' - - for( ; i)", 1) - return 1; - } - } - - TTMATH_LOGC("UInt::FromUInt(UInt<>)", 0) - - return 0; - } - - - /*! - this method converts an UInt type to this class - - this operation has mainly sense if the value from p is - equal or smaller than that one which is returned from UInt::SetMax() - - it returns a carry if the value 'p' is too big - */ - template - uint FromInt(const UInt & p) - { - return FromUInt(p); - } - - - /*! - this method converts the uint type to this class - */ - uint FromUInt(uint value) - { - for(uint i=1 ; i type to this class - - it doesn't return a carry - */ - template - UInt & operator=(const UInt & p) - { - FromUInt(p); - - return *this; - } - - - /*! - the assignment operator - */ - UInt & operator=(const UInt & p) - { - for(uint i=0 ; i)") - - return *this; - } - - - /*! - this method converts the uint type to this class - */ - UInt & operator=(uint i) - { - FromUInt(i); - - return *this; - } - - - /*! - a constructor for converting the uint to this class - */ - UInt(uint i) - { - FromUInt(i); - } - - - /*! - this method converts the sint type to this class - */ - UInt & operator=(sint i) - { - FromInt(i); - - return *this; - } - - - /*! - a constructor for converting the sint to this class - - look at the description of UInt::operator=(sint) - */ - UInt(sint i) - { - FromInt(i); - } - - -#ifdef TTMATH_PLATFORM32 - - - /*! - this method converts unsigned 64 bit int type to this class - ***this method is created only on a 32bit platform*** - */ - uint FromUInt(ulint n) - { - table[0] = (uint)n; - - if( value_size == 1 ) - { - uint c = ((n >> TTMATH_BITS_PER_UINT) == 0) ? 0 : 1; - - TTMATH_LOGC("UInt::FromUInt(ulint)", c) - return c; - } - - table[1] = (uint)(n >> TTMATH_BITS_PER_UINT); - - for(uint i=2 ; i & operator=(ulint n) - { - FromUInt(n); - - return *this; - } - - - /*! - a constructor for converting unsigned 64 bit int to this class - ***this constructor is created only on a 32bit platform*** - */ - UInt(ulint n) - { - FromUInt(n); - } - - - /*! - this operator converts signed 64 bit int type to this class - ***this operator is created only on a 32bit platform*** - */ - UInt & operator=(slint n) - { - FromInt(n); - - return *this; - } - - - /*! - a constructor for converting signed 64 bit int to this class - ***this constructor is created only on a 32bit platform*** - */ - UInt(slint n) - { - FromInt(n); - } - -#endif - - - -#ifdef TTMATH_PLATFORM64 - - - /*! - this method converts 32 bit unsigned int type to this class - ***this operator is created only on a 64bit platform*** - */ - uint FromUInt(unsigned int i) - { - return FromUInt(uint(i)); - } - - /*! - this method converts 32 bit unsigned int type to this class - ***this operator is created only on a 64bit platform*** - */ - uint FromInt(unsigned int i) - { - return FromUInt(uint(i)); - } - - - /*! - this method converts 32 bit signed int type to this class - ***this operator is created only on a 64bit platform*** - */ - uint FromInt(signed int i) - { - return FromInt(sint(i)); - } - - - /*! - this operator converts 32 bit unsigned int type to this class - ***this operator is created only on a 64bit platform*** - */ - UInt & operator=(unsigned int i) - { - FromUInt(i); - - return *this; - } - - - /*! - a constructor for converting 32 bit unsigned int to this class - ***this constructor is created only on a 64bit platform*** - */ - UInt(unsigned int i) - { - FromUInt(i); - } - - - /*! - an operator for converting 32 bit signed int to this class - ***this constructor is created only on a 64bit platform*** - */ - UInt & operator=(signed int i) - { - FromInt(i); - - return *this; - } - - - /*! - a constructor for converting 32 bit signed int to this class - ***this constructor is created only on a 64bit platform*** - */ - UInt(signed int i) - { - FromInt(i); - } - - -#endif - - - - - - /*! - a constructor for converting a string to this class (with the base=10) - */ - UInt(const char * s) - { - FromString(s); - } - - - /*! - a constructor for converting a string to this class (with the base=10) - */ - UInt(const std::string & s) - { - FromString( s.c_str() ); - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - a constructor for converting a string to this class (with the base=10) - */ - UInt(const wchar_t * s) - { - FromString(s); - } - - - /*! - a constructor for converting a string to this class (with the base=10) - */ - UInt(const std::wstring & s) - { - FromString( s.c_str() ); - } - -#endif - - - - - /*! - a default constructor - - we don't clear the table - */ - UInt() - { - // when macro TTMATH_DEBUG_LOG is defined - // we set special values to the table - // in order to be everywhere the same value of the UInt object - // without this it would be difficult to analyse the log file - #ifdef TTMATH_DEBUG_LOG - #ifdef TTMATH_PLATFORM32 - for(uint i=0 ; i & u) - { - for(uint i=0 ; i)") - } - - - - /*! - a template for producting constructors for copying from another types - */ - template - UInt(const UInt & u) - { - // look that 'size' we still set as 'value_size' and not as u.value_size - FromUInt(u); - } - - - - - /*! - a destructor - */ - ~UInt() - { - } - - - /*! - this method returns the lowest value from table - - we must be sure when we using this method whether the value - will hold in an uint type or not (the rest value from the table must be zero) - */ - uint ToUInt() const - { - return table[0]; - } - - - /*! - this method converts the value to uint type - can return a carry if the value is too long to store it in uint type - */ - uint ToUInt(uint & result) const - { - result = table[0]; - - for(uint i=1 ; i> 32) != 0 ) - return 1; - - for(uint i=1 ; i - */ - double ToStringLog2(uint x) const - { - static double log_tab[] = { - 1.000000000000000000, - 0.630929753571457437, - 0.500000000000000000, - 0.430676558073393050, - 0.386852807234541586, - 0.356207187108022176, - 0.333333333333333333, - 0.315464876785728718, - 0.301029995663981195, - 0.289064826317887859, - 0.278942945651129843, - 0.270238154427319741, - 0.262649535037193547, - 0.255958024809815489, - 0.250000000000000000 - }; - - if( x<2 || x>16 ) - return 0; - - return log_tab[x-2]; - } - - - /*! - an auxiliary method for converting to a string - it's used from Int::ToString() too (negative is set true then) - */ - template - void ToStringBase(string_type & result, uint b = 10, bool negative = false) const - { - UInt temp(*this); - uint rest, table_id, index, digits; - double digits_d; - char character; - - result.clear(); - - if( b<2 || b>16 ) - return; - - if( !FindLeadingBit(table_id, index) ) - { - result = '0'; - return; - } - - if( negative ) - result = '-'; - - digits_d = table_id; // for not making an overflow in uint type - digits_d *= TTMATH_BITS_PER_UINT; - digits_d += index + 1; - digits_d *= ToStringLog2(b); - digits = static_cast(digits_d) + 3; // plus some epsilon - - if( result.capacity() < digits ) - result.reserve(digits); - - do - { - temp.DivInt(b, &rest); - character = static_cast(Misc::DigitToChar(rest)); - result.insert(result.end(), character); - } - while( !temp.IsZero() ); - - size_t i1 = negative ? 1 : 0; // the first is a hyphen (when negative is true) - size_t i2 = result.size() - 1; - - for( ; i1 < i2 ; ++i1, --i2 ) - { - char tempc = static_cast(result[i1]); - result[i1] = result[i2]; - result[i2] = tempc; - } - } - - - -public: - - /*! - this method converts the value to a string with a base equal 'b' - */ - void ToString(std::string & result, uint b = 10) const - { - return ToStringBase(result, b); - } - - - std::string ToString(uint b = 10) const - { - std::string result; - ToStringBase(result, b); - - return result; - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - void ToString(std::wstring & result, uint b = 10) const - { - return ToStringBase(result, b); - } - - std::wstring ToWString(uint b = 10) const - { - std::wstring result; - ToStringBase(result, b); - - return result; - } - -#endif - - - -private: - - /*! - an auxiliary method for converting from a string - */ - template - uint FromStringBase(const char_type * s, uint b = 10, const char_type ** after_source = 0, bool * value_read = 0) - { - UInt base( b ); - UInt temp; - sint z; - uint c = 0; - - SetZero(); - temp.SetZero(); - Misc::SkipWhiteCharacters(s); - - if( after_source ) - *after_source = s; - - if( value_read ) - *value_read = false; - - if( b<2 || b>16 ) - return 1; - - - for( ; (z=Misc::CharToDigit(*s, b)) != -1 ; ++s) - { - if( value_read ) - *value_read = true; - - if( c == 0 ) - { - temp.table[0] = z; - - c += Mul(base); - c += Add(temp); - } - } - - if( after_source ) - *after_source = s; - - TTMATH_LOGC("UInt::FromString", c) - - return (c==0)? 0 : 1; - } - - -public: - - - /*! - this method converts a string into its value - it returns carry=1 if the value will be too big or an incorrect base 'b' is given - - string is ended with a non-digit value, for example: - "12" will be translated to 12 - as well as: - "12foo" will be translated to 12 too - - existing first white characters will be ommited - - if the value from s is too large the rest digits will be skipped - - after_source (if exists) is pointing at the end of the parsed string - - value_read (if exists) tells whether something has actually been read (at least one digit) - */ - uint FromString(const char * s, uint b = 10, const char ** after_source = 0, bool * value_read = 0) - { - return FromStringBase(s, b, after_source, value_read); - } - - - /*! - this method converts a string into its value - - (it returns carry=1 if the value will be too big or an incorrect base 'b' is given) - */ - uint FromString(const std::string & s, uint b = 10) - { - return FromString( s.c_str(), b ); - } - - - /*! - this operator converts a string into its value (with base = 10) - */ - UInt & operator=(const char * s) - { - FromString(s); - - return *this; - } - - - /*! - this operator converts a string into its value (with base = 10) - */ - UInt & operator=(const std::string & s) - { - FromString( s.c_str() ); - - return *this; - } - - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - this method converts a string into its value - */ - uint FromString(const wchar_t * s, uint b = 10, const wchar_t ** after_source = 0, bool * value_read = 0) - { - return FromStringBase(s, b, after_source, value_read); - } - - - /*! - this method converts a string into its value - - (it returns carry=1 if the value will be too big or an incorrect base 'b' is given) - */ - uint FromString(const std::wstring & s, uint b = 10) - { - return FromString( s.c_str(), b ); - } - - - /*! - this operator converts a string into its value (with base = 10) - */ - UInt & operator=(const wchar_t * s) - { - FromString(s); - - return *this; - } - - - /*! - this operator converts a string into its value (with base = 10) - */ - UInt & operator=(const std::wstring & s) - { - FromString( s.c_str() ); - - return *this; - } - -#endif - - - /*! - * - * methods for comparing - * - */ - - - /*! - this method returns true if 'this' is smaller than 'l' - - 'index' is an index of the first word from will be the comparison performed - (note: we start the comparison from back - from the last word, when index is -1 /default/ - it is automatically set into the last word) - I introduced it for some kind of optimization made in the second division algorithm (Div2) - */ - bool CmpSmaller(const UInt & l, sint index = -1) const - { - sint i; - - if( index==-1 || index>=sint(value_size) ) - i = value_size - 1; - else - i = index; - - - for( ; i>=0 ; --i) - { - if( table[i] != l.table[i] ) - return table[i] < l.table[i]; - } - - // they're equal - return false; - } - - - - /*! - this method returns true if 'this' is bigger than 'l' - - 'index' is an index of the first word from will be the comparison performed - (note: we start the comparison from back - from the last word, when index is -1 /default/ - it is automatically set into the last word) - - I introduced it for some kind of optimization made in the second division algorithm (Div2) - */ - bool CmpBigger(const UInt & l, sint index = -1) const - { - sint i; - - if( index==-1 || index>=sint(value_size) ) - i = value_size - 1; - else - i = index; - - - for( ; i>=0 ; --i) - { - if( table[i] != l.table[i] ) - return table[i] > l.table[i]; - } - - // they're equal - return false; - } - - - /*! - this method returns true if 'this' is equal 'l' - - 'index' is an index of the first word from will be the comparison performed - (note: we start the comparison from back - from the last word, when index is -1 /default/ - it is automatically set into the last word) - */ - bool CmpEqual(const UInt & l, sint index = -1) const - { - sint i; - - if( index==-1 || index>=sint(value_size) ) - i = value_size - 1; - else - i = index; - - - for( ; i>=0 ; --i) - if( table[i] != l.table[i] ) - return false; - - return true; - } - - - - /*! - this method returns true if 'this' is smaller than or equal 'l' - - 'index' is an index of the first word from will be the comparison performed - (note: we start the comparison from back - from the last word, when index is -1 /default/ - it is automatically set into the last word) - */ - bool CmpSmallerEqual(const UInt & l, sint index=-1) const - { - sint i; - - if( index==-1 || index>=sint(value_size) ) - i = value_size - 1; - else - i = index; - - - for( ; i>=0 ; --i) - { - if( table[i] != l.table[i] ) - return table[i] < l.table[i]; - } - - // they're equal - return true; - } - - - - /*! - this method returns true if 'this' is bigger than or equal 'l' - - 'index' is an index of the first word from will be the comparison performed - (note: we start the comparison from back - from the last word, when index is -1 /default/ - it is automatically set into the last word) - */ - bool CmpBiggerEqual(const UInt & l, sint index=-1) const - { - sint i; - - if( index==-1 || index>=sint(value_size) ) - i = value_size - 1; - else - i = index; - - - for( ; i>=0 ; --i) - { - if( table[i] != l.table[i] ) - return table[i] > l.table[i]; - } - - // they're equal - return true; - } - - - /* - operators for comparising - */ - - bool operator<(const UInt & l) const - { - return CmpSmaller(l); - } - - - bool operator>(const UInt & l) const - { - return CmpBigger(l); - } - - - bool operator==(const UInt & l) const - { - return CmpEqual(l); - } - - - bool operator!=(const UInt & l) const - { - return !operator==(l); - } - - - bool operator<=(const UInt & l) const - { - return CmpSmallerEqual(l); - } - - bool operator>=(const UInt & l) const - { - return CmpBiggerEqual(l); - } - - - /*! - * - * standard mathematical operators - * - */ - - UInt operator-(const UInt & p2) const - { - UInt temp(*this); - - temp.Sub(p2); - - return temp; - } - - UInt & operator-=(const UInt & p2) - { - Sub(p2); - - return *this; - } - - UInt operator+(const UInt & p2) const - { - UInt temp(*this); - - temp.Add(p2); - - return temp; - } - - UInt & operator+=(const UInt & p2) - { - Add(p2); - - return *this; - } - - - UInt operator*(const UInt & p2) const - { - UInt temp(*this); - - temp.Mul(p2); - - return temp; - } - - - UInt & operator*=(const UInt & p2) - { - Mul(p2); - - return *this; - } - - - UInt operator/(const UInt & p2) const - { - UInt temp(*this); - - temp.Div(p2); - - return temp; - } - - - UInt & operator/=(const UInt & p2) - { - Div(p2); - - return *this; - } - - - UInt operator%(const UInt & p2) const - { - UInt temp(*this); - UInt remainder; - - temp.Div( p2, remainder ); - - return remainder; - } - - - UInt & operator%=(const UInt & p2) - { - UInt remainder; - - Div( p2, remainder ); - operator=(remainder); - - return *this; - } - - - /*! - Prefix operator e.g ++variable - */ - UInt & operator++() - { - AddOne(); - - return *this; - } - - - /*! - Postfix operator e.g variable++ - */ - UInt operator++(int) - { - UInt temp( *this ); - - AddOne(); - - return temp; - } - - - UInt & operator--() - { - SubOne(); - - return *this; - } - - - UInt operator--(int) - { - UInt temp( *this ); - - SubOne(); - - return temp; - } - - - - /*! - * - * bitwise operators - * - */ - - UInt operator~() const - { - UInt temp( *this ); - - temp.BitNot(); - - return temp; - } - - - UInt operator&(const UInt & p2) const - { - UInt temp( *this ); - - temp.BitAnd(p2); - - return temp; - } - - - UInt & operator&=(const UInt & p2) - { - BitAnd(p2); - - return *this; - } - - - UInt operator|(const UInt & p2) const - { - UInt temp( *this ); - - temp.BitOr(p2); - - return temp; - } - - - UInt & operator|=(const UInt & p2) - { - BitOr(p2); - - return *this; - } - - - UInt operator^(const UInt & p2) const - { - UInt temp( *this ); - - temp.BitXor(p2); - - return temp; - } - - - UInt & operator^=(const UInt & p2) - { - BitXor(p2); - - return *this; - } - - - UInt operator>>(int move) const - { - UInt temp( *this ); - - temp.Rcr(move); - - return temp; - } - - - UInt & operator>>=(int move) - { - Rcr(move); - - return *this; - } - - - UInt operator<<(int move) const - { - UInt temp( *this ); - - temp.Rcl(move); - - return temp; - } - - - UInt & operator<<=(int move) - { - Rcl(move); - - return *this; - } - - - /*! - * - * input/output operators for standard streams - * - * (they are very simple, in the future they should be changed) - * - */ - - -private: - - - /*! - an auxiliary method for outputing to standard streams - */ - template - static ostream_type & OutputToStream(ostream_type & s, const UInt & l) - { - string_type ss; - - l.ToString(ss); - s << ss; - - return s; - } - - -public: - - - /*! - output to standard streams - */ - friend std::ostream & operator<<(std::ostream & s, const UInt & l) - { - return OutputToStream(s, l); - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - output to standard streams - */ - friend std::wostream & operator<<(std::wostream & s, const UInt & l) - { - return OutputToStream(s, l); - } - -#endif - - - -private: - - /*! - an auxiliary method for reading from standard streams - */ - template - static istream_type & InputFromStream(istream_type & s, UInt & l) - { - string_type ss; - - // char or wchar_t for operator>> - char_type z; - - // operator>> omits white characters if they're set for ommiting - s >> z; - - // we're reading only digits (base=10) - while( s.good() && Misc::CharToDigit(z, 10)>=0 ) - { - ss += z; - z = static_cast(s.get()); - } - - // we're leaving the last read character - // (it's not belonging to the value) - s.unget(); - - l.FromString(ss); - - return s; - } - -public: - - - /*! - input from standard streams - */ - friend std::istream & operator>>(std::istream & s, UInt & l) - { - return InputFromStream(s, l); - } - - -#ifndef TTMATH_DONT_USE_WCHAR - - /*! - input from standard streams - */ - friend std::wistream & operator>>(std::wistream & s, UInt & l) - { - return InputFromStream(s, l); - } - -#endif - - - /* - following methods are defined in: - ttmathuint_x86.h - ttmathuint_x86_64.h - ttmathuint_noasm.h - */ - -#ifdef TTMATH_NOASM - static uint AddTwoWords(uint a, uint b, uint carry, uint * result); - static uint SubTwoWords(uint a, uint b, uint carry, uint * result); - -#ifdef TTMATH_PLATFORM64 - - union uint_ - { - struct - { - unsigned int low; // 32 bit - unsigned int high; // 32 bit - } u_; - - uint u; // 64 bit - }; - - - static void DivTwoWords2(uint a,uint b, uint c, uint * r, uint * rest); - static uint DivTwoWordsNormalize(uint_ & a_, uint_ & b_, uint_ & c_); - static uint DivTwoWordsUnnormalize(uint u, uint d); - static unsigned int DivTwoWordsCalculate(uint_ u_, unsigned int u3, uint_ v_); - static void MultiplySubtract(uint_ & u_, unsigned int & u3, unsigned int & q, uint_ v_); - -#endif // TTMATH_PLATFORM64 -#endif // TTMATH_NOASM - - -private: - uint Rcl2_one(uint c); - uint Rcr2_one(uint c); - uint Rcl2(uint bits, uint c); - uint Rcr2(uint bits, uint c); - -public: - static const char * LibTypeStr(); - static LibTypeCode LibType(); - uint Add(const UInt & ss2, uint c=0); - uint AddInt(uint value, uint index = 0); - uint AddTwoInts(uint x2, uint x1, uint index); - static uint AddVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result); - uint Sub(const UInt & ss2, uint c=0); - uint SubInt(uint value, uint index = 0); - static uint SubVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result); - static sint FindLeadingBitInWord(uint x); - static sint FindLowestBitInWord(uint x); - static uint SetBitInWord(uint & value, uint bit); - static void MulTwoWords(uint a, uint b, uint * result_high, uint * result_low); - static void DivTwoWords(uint a,uint b, uint c, uint * r, uint * rest); - -}; - - - -/*! - this specialization is needed in order to not confused the compiler "error: ISO C++ forbids zero-size array" - when compiling Mul3Big2() method -*/ -template<> -class UInt<0> -{ -public: - uint table[1]; - - void Mul2Big(const UInt<0> &, UInt<0> &) { TTMATH_ASSERT(false) }; - void SetZero() { TTMATH_ASSERT(false) }; - uint AddTwoInts(uint, uint, uint) { TTMATH_ASSERT(false) return 0; }; -}; - - -} //namespace - - -#include "ttmathuint_x86.h" -#include "ttmathuint_x86_64.h" -#include "ttmathuint_noasm.h" - -#endif diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_noasm.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_noasm.h deleted file mode 100644 index 07c73fc499..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_noasm.h +++ /dev/null @@ -1,1017 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2010, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef headerfilettmathuint_noasm -#define headerfilettmathuint_noasm - - -#ifdef TTMATH_NOASM - -/*! - \file ttmathuint_noasm.h - \brief template class UInt with methods without any assembler code - - this file is included at the end of ttmathuint.h -*/ - - -namespace ttmath -{ - - /*! - returning the string represents the currect type of the library - we have following types: - asm_vc_32 - with asm code designed for Microsoft Visual C++ (32 bits) - asm_gcc_32 - with asm code designed for GCC (32 bits) - asm_vc_64 - with asm for VC (64 bit) - asm_gcc_64 - with asm for GCC (64 bit) - no_asm_32 - pure C++ version (32 bit) - without any asm code - no_asm_64 - pure C++ version (64 bit) - without any asm code - */ - template - const char * UInt::LibTypeStr() - { - #ifdef TTMATH_PLATFORM32 - static const char info[] = "no_asm_32"; - #endif - - #ifdef TTMATH_PLATFORM64 - static const char info[] = "no_asm_64"; - #endif - - return info; - } - - - /*! - returning the currect type of the library - */ - template - LibTypeCode UInt::LibType() - { - #ifdef TTMATH_PLATFORM32 - LibTypeCode info = no_asm_32; - #endif - - #ifdef TTMATH_PLATFORM64 - LibTypeCode info = no_asm_64; - #endif - - return info; - } - - - /*! - this method adds two words together - returns carry - - this method is created only when TTMATH_NOASM macro is defined - */ - template - uint UInt::AddTwoWords(uint a, uint b, uint carry, uint * result) - { - uint temp; - - if( carry == 0 ) - { - temp = a + b; - - if( temp < a ) - carry = 1; - } - else - { - carry = 1; - temp = a + b + carry; - - if( temp > a ) // !(temp<=a) - carry = 0; - } - - *result = temp; - - return carry; - } - - - - /*! - this method adding ss2 to the this and adding carry if it's defined - (this = this + ss2 + c) - - c must be zero or one (might be a bigger value than 1) - function returns carry (1) (if it was) - */ - - template - uint UInt::Add(const UInt & ss2, uint c) - { - uint i; - - for(i=0 ; i - uint UInt::AddInt(uint value, uint index) - { - uint i, c; - - TTMATH_ASSERT( index < value_size ) - - - c = AddTwoWords(table[index], value, 0, &table[index]); - - for(i=index+1 ; i - uint UInt::AddTwoInts(uint x2, uint x1, uint index) - { - uint i, c; - - TTMATH_ASSERT( index < value_size - 1 ) - - - c = AddTwoWords(table[index], x1, 0, &table[index]); - c = AddTwoWords(table[index+1], x2, c, &table[index+1]); - - for(i=index+2 ; i - uint UInt::AddVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result) - { - uint i, c = 0; - - TTMATH_ASSERT( ss1_size >= ss2_size ) - - for(i=0 ; i - uint UInt::SubTwoWords(uint a, uint b, uint carry, uint * result) - { - if( carry == 0 ) - { - *result = a - b; - - if( a < b ) - carry = 1; - } - else - { - carry = 1; - *result = a - b - carry; - - if( a > b ) // !(a <= b ) - carry = 0; - } - - return carry; - } - - - - - /*! - this method's subtracting ss2 from the 'this' and subtracting - carry if it has been defined - (this = this - ss2 - c) - - c must be zero or one (might be a bigger value than 1) - function returns carry (1) (if it was) - */ - template - uint UInt::Sub(const UInt & ss2, uint c) - { - uint i; - - for(i=0 ; i - uint UInt::SubInt(uint value, uint index) - { - uint i, c; - - TTMATH_ASSERT( index < value_size ) - - - c = SubTwoWords(table[index], value, 0, &table[index]); - - for(i=index+1 ; i - uint UInt::SubVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result) - { - uint i, c = 0; - - TTMATH_ASSERT( ss1_size >= ss2_size ) - - for(i=0 ; i - uint UInt::Rcl2_one(uint c) - { - uint i, new_c; - - if( c != 0 ) - c = 1; - - for(i=0 ; i this -> return value - - the highest *bit* will be held the 'c' and - the state of one additional bit (on the right hand side) - will be returned - - for example: - let this is 000000010 - after Rcr2_one(1) there'll be 100000001 and Rcr2_one returns 0 - */ - template - uint UInt::Rcr2_one(uint c) - { - sint i; // signed i - uint new_c; - - if( c != 0 ) - c = TTMATH_UINT_HIGHEST_BIT; - - for(i=sint(value_size)-1 ; i>=0 ; --i) - { - new_c = (table[i] & 1) ? TTMATH_UINT_HIGHEST_BIT : 0; - table[i] = (table[i] >> 1) | c; - c = new_c; - } - - c = (c != 0)? 1 : 0; - - TTMATH_LOGC("UInt::Rcr2_one", c) - - return c; - } - - - - - /*! - this method moves all bits into the left hand side - return value <- this <- c - - the lowest *bits* will be held the 'c' and - the state of one additional bit (on the left hand side) - will be returned - - for example: - let this is 001010000 - after Rcl2(3, 1) there'll be 010000111 and Rcl2 returns 1 - */ - template - uint UInt::Rcl2(uint bits, uint c) - { - TTMATH_ASSERT( bits>0 && bits> move; - - for(i=0 ; i> move; - table[i] = (table[i] << bits) | c; - c = new_c; - } - - TTMATH_LOGC("UInt::Rcl2", (c & 1)) - - return (c & 1); - } - - - - - /*! - this method moves all bits into the right hand side - C -> this -> return value - - the highest *bits* will be held the 'c' and - the state of one additional bit (on the right hand side) - will be returned - - for example: - let this is 000000010 - after Rcr2(2, 1) there'll be 110000000 and Rcr2 returns 1 - */ - template - uint UInt::Rcr2(uint bits, uint c) - { - TTMATH_ASSERT( bits>0 && bits=0 ; --i) - { - new_c = table[i] << move; - table[i] = (table[i] >> bits) | c; - c = new_c; - } - - c = (c & TTMATH_UINT_HIGHEST_BIT) ? 1 : 0; - - TTMATH_LOGC("UInt::Rcr2", c) - - return c; - } - - - - - /*! - this method returns the number of the highest set bit in x - if the 'x' is zero this method returns '-1' - */ - template - sint UInt::FindLeadingBitInWord(uint x) - { - if( x == 0 ) - return -1; - - uint bit = TTMATH_BITS_PER_UINT - 1; - - while( (x & TTMATH_UINT_HIGHEST_BIT) == 0 ) - { - x = x << 1; - --bit; - } - - return bit; - } - - - - /*! - this method returns the number of the highest set bit in x - if the 'x' is zero this method returns '-1' - */ - template - sint UInt::FindLowestBitInWord(uint x) - { - if( x == 0 ) - return -1; - - uint bit = 0; - - while( (x & 1) == 0 ) - { - x = x >> 1; - ++bit; - } - - return bit; - } - - - - /*! - this method sets a special bit in the 'value' - and returns the last state of the bit (zero or one) - - bit is from <0,TTMATH_BITS_PER_UINT-1> - - e.g. - uint x = 100; - uint bit = SetBitInWord(x, 3); - now: x = 108 and bit = 0 - */ - template - uint UInt::SetBitInWord(uint & value, uint bit) - { - TTMATH_ASSERT( bit < TTMATH_BITS_PER_UINT ) - - uint mask = 1; - - if( bit > 0 ) - mask = mask << bit; - - uint last = value & mask; - value = value | mask; - - return (last != 0) ? 1 : 0; - } - - - - - - - /*! - * - * Multiplication - * - * - */ - - - /*! - multiplication: result_high:result_low = a * b - result_high - higher word of the result - result_low - lower word of the result - - this methos never returns a carry - this method is used in the second version of the multiplication algorithms - */ - template - void UInt::MulTwoWords(uint a, uint b, uint * result_high, uint * result_low) - { - #ifdef TTMATH_PLATFORM32 - - /* - on 32bit platforms we have defined 'unsigned long long int' type known as 'ulint' in ttmath namespace - this type has 64 bits, then we're using only one multiplication: 32bit * 32bit = 64bit - */ - - union uint_ - { - struct - { - uint low; // 32 bits - uint high; // 32 bits - } u_; - - ulint u; // 64 bits - } res; - - res.u = ulint(a) * ulint(b); // multiply two 32bit words, the result has 64 bits - - *result_high = res.u_.high; - *result_low = res.u_.low; - - #else - - /* - 64 bits platforms - - we don't have a native type which has 128 bits - then we're splitting 'a' and 'b' to 4 parts (high and low halves) - and using 4 multiplications (with additions and carry correctness) - */ - - uint_ a_; - uint_ b_; - uint_ res_high1, res_high2; - uint_ res_low1, res_low2; - - a_.u = a; - b_.u = b; - - /* - the multiplication is as follows (schoolbook algorithm with O(n^2) ): - - 32 bits 32 bits - - +--------------------------------+ - | a_.u_.high | a_.u_.low | - +--------------------------------+ - | b_.u_.high | b_.u_.low | - +--------------------------------+--------------------------------+ - | res_high1.u | res_low1.u | - +--------------------------------+--------------------------------+ - | res_high2.u | res_low2.u | - +--------------------------------+--------------------------------+ - - 64 bits 64 bits - */ - - - uint_ temp; - - res_low1.u = uint(b_.u_.low) * uint(a_.u_.low); - - temp.u = uint(res_low1.u_.high) + uint(b_.u_.low) * uint(a_.u_.high); - res_low1.u_.high = temp.u_.low; - res_high1.u_.low = temp.u_.high; - res_high1.u_.high = 0; - - res_low2.u_.low = 0; - temp.u = uint(b_.u_.high) * uint(a_.u_.low); - res_low2.u_.high = temp.u_.low; - - res_high2.u = uint(b_.u_.high) * uint(a_.u_.high) + uint(temp.u_.high); - - uint c = AddTwoWords(res_low1.u, res_low2.u, 0, &res_low2.u); - AddTwoWords(res_high1.u, res_high2.u, c, &res_high2.u); // there is no carry from here - - *result_high = res_high2.u; - *result_low = res_low2.u; - - #endif - } - - - - - /*! - * - * Division - * - * - */ - - - /*! - this method calculates 64bits word a:b / 32bits c (a higher, b lower word) - r = a:b / c and rest - remainder - - * - * WARNING: - * the c has to be suitably large for the result being keeped in one word, - * if c is equal zero there'll be a hardware interruption (0) - * and probably the end of your program - * - */ - template - void UInt::DivTwoWords(uint a, uint b, uint c, uint * r, uint * rest) - { - // (a < c ) for the result to be one word - TTMATH_ASSERT( c != 0 && a < c ) - - #ifdef TTMATH_PLATFORM32 - - union - { - struct - { - uint low; // 32 bits - uint high; // 32 bits - } u_; - - ulint u; // 64 bits - } ab; - - ab.u_.high = a; - ab.u_.low = b; - - *r = uint(ab.u / c); - *rest = uint(ab.u % c); - - #else - - uint_ c_; - c_.u = c; - - - if( a == 0 ) - { - *r = b / c; - *rest = b % c; - } - else - if( c_.u_.high == 0 ) - { - // higher half of 'c' is zero - // then higher half of 'a' is zero too (look at the asserts at the beginning - 'a' is smaller than 'c') - uint_ a_, b_, res_, temp1, temp2; - - a_.u = a; - b_.u = b; - - temp1.u_.high = a_.u_.low; - temp1.u_.low = b_.u_.high; - - res_.u_.high = (unsigned int)(temp1.u / c); - temp2.u_.high = (unsigned int)(temp1.u % c); - temp2.u_.low = b_.u_.low; - - res_.u_.low = (unsigned int)(temp2.u / c); - *rest = temp2.u % c; - - *r = res_.u; - } - else - { - return DivTwoWords2(a, b, c, r, rest); - } - - #endif - } - - -#ifdef TTMATH_PLATFORM64 - - - /*! - this method is available only on 64bit platforms - - the same algorithm like the third division algorithm in ttmathuint.h - but now with the radix=2^32 - */ - template - void UInt::DivTwoWords2(uint a, uint b, uint c, uint * r, uint * rest) - { - // a is not zero - // c_.u_.high is not zero - - uint_ a_, b_, c_, u_, q_; - unsigned int u3; // 32 bit - - a_.u = a; - b_.u = b; - c_.u = c; - - // normalizing - uint d = DivTwoWordsNormalize(a_, b_, c_); - - // loop from j=1 to j=0 - // the first step (for j=2) is skipped because our result is only in one word, - // (first 'q' were 0 and nothing would be changed) - u_.u_.high = a_.u_.high; - u_.u_.low = a_.u_.low; - u3 = b_.u_.high; - q_.u_.high = DivTwoWordsCalculate(u_, u3, c_); - MultiplySubtract(u_, u3, q_.u_.high, c_); - - u_.u_.high = u_.u_.low; - u_.u_.low = u3; - u3 = b_.u_.low; - q_.u_.low = DivTwoWordsCalculate(u_, u3, c_); - MultiplySubtract(u_, u3, q_.u_.low, c_); - - *r = q_.u; - - // unnormalizing for the remainder - u_.u_.high = u_.u_.low; - u_.u_.low = u3; - *rest = DivTwoWordsUnnormalize(u_.u, d); - } - - - - - template - uint UInt::DivTwoWordsNormalize(uint_ & a_, uint_ & b_, uint_ & c_) - { - uint d = 0; - - for( ; (c_.u & TTMATH_UINT_HIGHEST_BIT) == 0 ; ++d ) - { - c_.u = c_.u << 1; - - uint bc = b_.u & TTMATH_UINT_HIGHEST_BIT; // carry from 'b' - - b_.u = b_.u << 1; - a_.u = a_.u << 1; // carry bits from 'a' are simply skipped - - if( bc ) - a_.u = a_.u | 1; - } - - return d; - } - - - template - uint UInt::DivTwoWordsUnnormalize(uint u, uint d) - { - if( d == 0 ) - return u; - - u = u >> d; - - return u; - } - - - template - unsigned int UInt::DivTwoWordsCalculate(uint_ u_, unsigned int u3, uint_ v_) - { - bool next_test; - uint_ qp_, rp_, temp_; - - qp_.u = u_.u / uint(v_.u_.high); - rp_.u = u_.u % uint(v_.u_.high); - - TTMATH_ASSERT( qp_.u_.high==0 || qp_.u_.high==1 ) - - do - { - bool decrease = false; - - if( qp_.u_.high == 1 ) - decrease = true; - else - { - temp_.u_.high = rp_.u_.low; - temp_.u_.low = u3; - - if( qp_.u * uint(v_.u_.low) > temp_.u ) - decrease = true; - } - - next_test = false; - - if( decrease ) - { - --qp_.u; - rp_.u += v_.u_.high; - - if( rp_.u_.high == 0 ) - next_test = true; - } - } - while( next_test ); - - return qp_.u_.low; - } - - - template - void UInt::MultiplySubtract(uint_ & u_, unsigned int & u3, unsigned int & q, uint_ v_) - { - uint_ temp_; - - uint res_high; - uint res_low; - - MulTwoWords(v_.u, q, &res_high, &res_low); - - uint_ sub_res_high_; - uint_ sub_res_low_; - - temp_.u_.high = u_.u_.low; - temp_.u_.low = u3; - - uint c = SubTwoWords(temp_.u, res_low, 0, &sub_res_low_.u); - - temp_.u_.high = 0; - temp_.u_.low = u_.u_.high; - c = SubTwoWords(temp_.u, res_high, c, &sub_res_high_.u); - - if( c ) - { - --q; - - c = AddTwoWords(sub_res_low_.u, v_.u, 0, &sub_res_low_.u); - AddTwoWords(sub_res_high_.u, 0, c, &sub_res_high_.u); - } - - u_.u_.high = sub_res_high_.u_.low; - u_.u_.low = sub_res_low_.u_.high; - u3 = sub_res_low_.u_.low; - } - -#endif // #ifdef TTMATH_PLATFORM64 - - - -} //namespace - - -#endif //ifdef TTMATH_NOASM -#endif - - - - diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86.h deleted file mode 100644 index 1dd087f524..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86.h +++ /dev/null @@ -1,1602 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2009, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - - - -#ifndef headerfilettmathuint_x86 -#define headerfilettmathuint_x86 - - -#ifndef TTMATH_NOASM -#ifdef TTMATH_PLATFORM32 - - -/*! - \file ttmathuint_x86.h - \brief template class UInt with assembler code for 32bit x86 processors - - this file is included at the end of ttmathuint.h -*/ - - - -/*! - \brief a namespace for the TTMath library -*/ -namespace ttmath -{ - - /*! - returning the string represents the currect type of the library - we have following types: - asm_vc_32 - with asm code designed for Microsoft Visual C++ (32 bits) - asm_gcc_32 - with asm code designed for GCC (32 bits) - asm_vc_64 - with asm for VC (64 bit) - asm_gcc_64 - with asm for GCC (64 bit) - no_asm_32 - pure C++ version (32 bit) - without any asm code - no_asm_64 - pure C++ version (64 bit) - without any asm code - */ - template - const char * UInt::LibTypeStr() - { - #ifndef __GNUC__ - static const char info[] = "asm_vc_32"; - #endif - - #ifdef __GNUC__ - static const char info[] = "asm_gcc_32"; - #endif - - return info; - } - - - /*! - returning the currect type of the library - */ - template - LibTypeCode UInt::LibType() - { - #ifndef __GNUC__ - LibTypeCode info = asm_vc_32; - #endif - - #ifdef __GNUC__ - LibTypeCode info = asm_gcc_32; - #endif - - return info; - } - - - - /*! - * - * basic mathematic functions - * - */ - - - /*! - adding ss2 to the this and adding carry if it's defined - (this = this + ss2 + c) - - c must be zero or one (might be a bigger value than 1) - function returns carry (1) (if it has been) - */ - template - uint UInt::Add(const UInt & ss2, uint c) - { - uint b = value_size; - uint * p1 = table; - uint * p2 = const_cast(ss2.table); - - // we don't have to use TTMATH_REFERENCE_ASSERT here - // this algorithm doesn't require it - - #ifndef __GNUC__ - - // this part might be compiled with for example visual c - - __asm - { - push eax - push ebx - push ecx - push edx - push esi - - mov ecx,[b] - - mov ebx,[p1] - mov esi,[p2] - - xor edx,edx // edx=0 - mov eax,[c] - neg eax // CF=1 if rax!=0 , CF=0 if rax==0 - - ttmath_loop: - mov eax,[esi+edx*4] - adc [ebx+edx*4],eax - - inc edx - dec ecx - jnz ttmath_loop - - adc ecx, ecx - mov [c], ecx - - pop esi - pop edx - pop ecx - pop ebx - pop eax - } - - - - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - // this part should be compiled with gcc - - __asm__ __volatile__( - - "xorl %%edx, %%edx \n" - "negl %%eax \n" // CF=1 if rax!=0 , CF=0 if rax==0 - - "1: \n" - "movl (%%esi,%%edx,4), %%eax \n" - "adcl %%eax, (%%ebx,%%edx,4) \n" - - "incl %%edx \n" - "decl %%ecx \n" - "jnz 1b \n" - - "adc %%ecx, %%ecx \n" - - : "=c" (c), "=a" (dummy), "=d" (dummy2) - : "0" (b), "1" (c), "b" (p1), "S" (p2) - : "cc", "memory" ); - #endif - - TTMATH_LOGC("UInt::Add", c) - - return c; - } - - - - /*! - adding one word (at a specific position) - and returning a carry (if it has been) - - e.g. - - if we've got (value_size=3): - table[0] = 10; - table[1] = 30; - table[2] = 5; - and we call: - AddInt(2,1) - then it'll be: - table[0] = 10; - table[1] = 30 + 2; - table[2] = 5; - - of course if there was a carry from table[2] it would be returned - */ - template - uint UInt::AddInt(uint value, uint index) - { - uint b = value_size; - uint * p1 = table; - uint c; - - TTMATH_ASSERT( index < value_size ) - - #ifndef __GNUC__ - - __asm - { - push eax - push ebx - push ecx - push edx - - mov ecx, [b] - sub ecx, [index] - - mov edx, [index] - mov ebx, [p1] - - mov eax, [value] - - ttmath_loop: - add [ebx+edx*4], eax - jnc ttmath_end - - mov eax, 1 - inc edx - dec ecx - jnz ttmath_loop - - ttmath_end: - setc al - movzx edx, al - mov [c], edx - - pop edx - pop ecx - pop ebx - pop eax - } - - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "subl %%edx, %%ecx \n" - - "1: \n" - "addl %%eax, (%%ebx,%%edx,4) \n" - "jnc 2f \n" - - "movl $1, %%eax \n" - "incl %%edx \n" - "decl %%ecx \n" - "jnz 1b \n" - - "2: \n" - "setc %%al \n" - "movzx %%al, %%edx \n" - - : "=d" (c), "=a" (dummy), "=c" (dummy2) - : "0" (index), "1" (value), "2" (b), "b" (p1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::AddInt", c) - - return c; - } - - - - - /*! - adding only two unsigned words to the existing value - and these words begin on the 'index' position - (it's used in the multiplication algorithm 2) - - index should be equal or smaller than value_size-2 (index <= value_size-2) - x1 - lower word, x2 - higher word - - for example if we've got value_size equal 4 and: - table[0] = 3 - table[1] = 4 - table[2] = 5 - table[3] = 6 - then let - x1 = 10 - x2 = 20 - and - index = 1 - - the result of this method will be: - table[0] = 3 - table[1] = 4 + x1 = 14 - table[2] = 5 + x2 = 25 - table[3] = 6 - - and no carry at the end of table[3] - - (of course if there was a carry in table[2](5+20) then - this carry would be passed to the table[3] etc.) - */ - template - uint UInt::AddTwoInts(uint x2, uint x1, uint index) - { - uint b = value_size; - uint * p1 = table; - uint c; - - TTMATH_ASSERT( index < value_size - 1 ) - - #ifndef __GNUC__ - __asm - { - push eax - push ebx - push ecx - push edx - - mov ecx, [b] - sub ecx, [index] - - mov ebx, [p1] - mov edx, [index] - - mov eax, [x1] - add [ebx+edx*4], eax - inc edx - dec ecx - - mov eax, [x2] - - ttmath_loop: - adc [ebx+edx*4], eax - jnc ttmath_end - - mov eax, 0 - inc edx - dec ecx - jnz ttmath_loop - - ttmath_end: - setc al - movzx edx, al - mov [c], edx - - pop edx - pop ecx - pop ebx - pop eax - - } - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "subl %%edx, %%ecx \n" - - "addl %%esi, (%%ebx,%%edx,4) \n" - "incl %%edx \n" - "decl %%ecx \n" - - "1: \n" - "adcl %%eax, (%%ebx,%%edx,4) \n" - "jnc 2f \n" - - "mov $0, %%eax \n" - "incl %%edx \n" - "decl %%ecx \n" - "jnz 1b \n" - - "2: \n" - "setc %%al \n" - "movzx %%al, %%eax \n" - - : "=a" (c), "=c" (dummy), "=d" (dummy2) - : "0" (x2), "1" (b), "2" (index), "b" (p1), "S" (x1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::AddTwoInts", c) - - return c; - } - - - - /*! - this static method addes one vector to the other - 'ss1' is larger in size or equal to 'ss2' - - ss1 points to the first (larger) vector - ss2 points to the second vector - ss1_size - size of the ss1 (and size of the result too) - ss2_size - size of the ss2 - result - is the result vector (which has size the same as ss1: ss1_size) - - Example: ss1_size is 5, ss2_size is 3 - ss1: ss2: result (output): - 5 1 5+1 - 4 3 4+3 - 2 7 2+7 - 6 6 - 9 9 - of course the carry is propagated and will be returned from the last item - (this method is used by the Karatsuba multiplication algorithm) - */ - template - uint UInt::AddVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result) - { - TTMATH_ASSERT( ss1_size >= ss2_size ) - - uint rest = ss1_size - ss2_size; - uint c; - - #ifndef __GNUC__ - - // this part might be compiled with for example visual c - __asm - { - pushad - - mov ecx, [ss2_size] - xor edx, edx // edx = 0, cf = 0 - - mov esi, [ss1] - mov ebx, [ss2] - mov edi, [result] - - ttmath_loop: - mov eax, [esi+edx*4] - adc eax, [ebx+edx*4] - mov [edi+edx*4], eax - - inc edx - dec ecx - jnz ttmath_loop - - adc ecx, ecx // ecx has the cf state - - mov ebx, [rest] - or ebx, ebx - jz ttmath_end - - xor ebx, ebx // ebx = 0 - neg ecx // setting cf from ecx - mov ecx, [rest] // ecx is != 0 - - ttmath_loop2: - mov eax, [esi+edx*4] - adc eax, ebx - mov [edi+edx*4], eax - - inc edx - dec ecx - jnz ttmath_loop2 - - adc ecx, ecx - - ttmath_end: - mov [c], ecx - - popad - } - - #endif - - - #ifdef __GNUC__ - - // this part should be compiled with gcc - uint dummy1, dummy2, dummy3; - - __asm__ __volatile__( - "push %%edx \n" - "xor %%edx, %%edx \n" // edx = 0, cf = 0 - "1: \n" - "mov (%%esi,%%edx,4), %%eax \n" - "adc (%%ebx,%%edx,4), %%eax \n" - "mov %%eax, (%%edi,%%edx,4) \n" - - "inc %%edx \n" - "dec %%ecx \n" - "jnz 1b \n" - - "adc %%ecx, %%ecx \n" // ecx has the cf state - "pop %%eax \n" // eax = rest - - "or %%eax, %%eax \n" - "jz 3f \n" - - "xor %%ebx, %%ebx \n" // ebx = 0 - "neg %%ecx \n" // setting cf from ecx - "mov %%eax, %%ecx \n" // ecx=rest and is != 0 - "2: \n" - "mov (%%esi, %%edx, 4), %%eax \n" - "adc %%ebx, %%eax \n" - "mov %%eax, (%%edi, %%edx, 4) \n" - - "inc %%edx \n" - "dec %%ecx \n" - "jnz 2b \n" - - "adc %%ecx, %%ecx \n" - "3: \n" - - : "=a" (dummy1), "=b" (dummy2), "=c" (c), "=d" (dummy3) - : "1" (ss2), "2" (ss2_size), "3" (rest), "S" (ss1), "D" (result) - : "cc", "memory" ); - - #endif - - TTMATH_VECTOR_LOGC("UInt::AddVector", c, result, ss1_size) - - return c; - } - - - /*! - subtracting ss2 from the 'this' and subtracting - carry if it has been defined - (this = this - ss2 - c) - - c must be zero or one (might be a bigger value than 1) - function returns carry (1) (if it has been) - */ - template - uint UInt::Sub(const UInt & ss2, uint c) - { - uint b = value_size; - uint * p1 = table; - uint * p2 = const_cast(ss2.table); - - // we don't have to use TTMATH_REFERENCE_ASSERT here - // this algorithm doesn't require it - - #ifndef __GNUC__ - - __asm - { - push eax - push ebx - push ecx - push edx - push esi - - mov ecx,[b] - - mov ebx,[p1] - mov esi,[p2] - - xor edx,edx // edx=0 - mov eax,[c] - neg eax // CF=1 if rax!=0 , CF=0 if rax==0 - - ttmath_loop: - mov eax,[esi+edx*4] - sbb [ebx+edx*4],eax - - inc edx - dec ecx - jnz ttmath_loop - - adc ecx, ecx - mov [c], ecx - - pop esi - pop edx - pop ecx - pop ebx - pop eax - } - - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "xorl %%edx, %%edx \n" - "negl %%eax \n" // CF=1 if rax!=0 , CF=0 if rax==0 - - "1: \n" - "movl (%%esi,%%edx,4), %%eax \n" - "sbbl %%eax, (%%ebx,%%edx,4) \n" - - "incl %%edx \n" - "decl %%ecx \n" - "jnz 1b \n" - - "adc %%ecx, %%ecx \n" - - : "=c" (c), "=a" (dummy), "=d" (dummy2) - : "0" (b), "1" (c), "b" (p1), "S" (p2) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::Sub", c) - - return c; - } - - - - - /*! - this method subtracts one word (at a specific position) - and returns a carry (if it was) - - e.g. - - if we've got (value_size=3): - table[0] = 10; - table[1] = 30; - table[2] = 5; - and we call: - SubInt(2,1) - then it'll be: - table[0] = 10; - table[1] = 30 - 2; - table[2] = 5; - - of course if there was a carry from table[2] it would be returned - */ - template - uint UInt::SubInt(uint value, uint index) - { - uint b = value_size; - uint * p1 = table; - uint c; - - TTMATH_ASSERT( index < value_size ) - - #ifndef __GNUC__ - - __asm - { - push eax - push ebx - push ecx - push edx - - mov ecx, [b] - sub ecx, [index] - - mov edx, [index] - mov ebx, [p1] - - mov eax, [value] - - ttmath_loop: - sub [ebx+edx*4], eax - jnc ttmath_end - - mov eax, 1 - inc edx - dec ecx - jnz ttmath_loop - - ttmath_end: - setc al - movzx edx, al - mov [c], edx - - pop edx - pop ecx - pop ebx - pop eax - } - - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "subl %%edx, %%ecx \n" - - "1: \n" - "subl %%eax, (%%ebx,%%edx,4) \n" - "jnc 2f \n" - - "movl $1, %%eax \n" - "incl %%edx \n" - "decl %%ecx \n" - "jnz 1b \n" - - "2: \n" - "setc %%al \n" - "movzx %%al, %%edx \n" - - : "=d" (c), "=a" (dummy), "=c" (dummy2) - : "0" (index), "1" (value), "2" (b), "b" (p1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::SubInt", c) - - return c; - } - - - - /*! - this static method subtractes one vector from the other - 'ss1' is larger in size or equal to 'ss2' - - ss1 points to the first (larger) vector - ss2 points to the second vector - ss1_size - size of the ss1 (and size of the result too) - ss2_size - size of the ss2 - result - is the result vector (which has size the same as ss1: ss1_size) - - Example: ss1_size is 5, ss2_size is 3 - ss1: ss2: result (output): - 5 1 5-1 - 4 3 4-3 - 2 7 2-7 - 6 6-1 (the borrow from previous item) - 9 9 - return (carry): 0 - of course the carry (borrow) is propagated and will be returned from the last item - (this method is used by the Karatsuba multiplication algorithm) - */ - template - uint UInt::SubVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result) - { - TTMATH_ASSERT( ss1_size >= ss2_size ) - - uint rest = ss1_size - ss2_size; - uint c; - - #ifndef __GNUC__ - - // this part might be compiled with for example visual c - - /* - the asm code is nearly the same as in AddVector - only two instructions 'adc' are changed to 'sbb' - */ - __asm - { - pushad - - mov ecx, [ss2_size] - xor edx, edx // edx = 0, cf = 0 - - mov esi, [ss1] - mov ebx, [ss2] - mov edi, [result] - - ttmath_loop: - mov eax, [esi+edx*4] - sbb eax, [ebx+edx*4] - mov [edi+edx*4], eax - - inc edx - dec ecx - jnz ttmath_loop - - adc ecx, ecx // ecx has the cf state - - mov ebx, [rest] - or ebx, ebx - jz ttmath_end - - xor ebx, ebx // ebx = 0 - neg ecx // setting cf from ecx - mov ecx, [rest] // ecx is != 0 - - ttmath_loop2: - mov eax, [esi+edx*4] - sbb eax, ebx - mov [edi+edx*4], eax - - inc edx - dec ecx - jnz ttmath_loop2 - - adc ecx, ecx - - ttmath_end: - mov [c], ecx - - popad - } - - #endif - - - #ifdef __GNUC__ - - // this part should be compiled with gcc - uint dummy1, dummy2, dummy3; - - __asm__ __volatile__( - "push %%edx \n" - "xor %%edx, %%edx \n" // edx = 0, cf = 0 - "1: \n" - "mov (%%esi,%%edx,4), %%eax \n" - "sbb (%%ebx,%%edx,4), %%eax \n" - "mov %%eax, (%%edi,%%edx,4) \n" - - "inc %%edx \n" - "dec %%ecx \n" - "jnz 1b \n" - - "adc %%ecx, %%ecx \n" // ecx has the cf state - "pop %%eax \n" // eax = rest - - "or %%eax, %%eax \n" - "jz 3f \n" - - "xor %%ebx, %%ebx \n" // ebx = 0 - "neg %%ecx \n" // setting cf from ecx - "mov %%eax, %%ecx \n" // ecx=rest and is != 0 - "2: \n" - "mov (%%esi, %%edx, 4), %%eax \n" - "sbb %%ebx, %%eax \n" - "mov %%eax, (%%edi, %%edx, 4) \n" - - "inc %%edx \n" - "dec %%ecx \n" - "jnz 2b \n" - - "adc %%ecx, %%ecx \n" - "3: \n" - - : "=a" (dummy1), "=b" (dummy2), "=c" (c), "=d" (dummy3) - : "1" (ss2), "2" (ss2_size), "3" (rest), "S" (ss1), "D" (result) - : "cc", "memory" ); - - #endif - - TTMATH_VECTOR_LOGC("UInt::SubVector", c, result, ss1_size) - - return c; - } - - - - /*! - this method moves all bits into the left hand side - return value <- this <- c - - the lowest *bit* will be held the 'c' and - the state of one additional bit (on the left hand side) - will be returned - - for example: - let this is 001010000 - after Rcl2_one(1) there'll be 010100001 and Rcl2_one returns 0 - */ - template - uint UInt::Rcl2_one(uint c) - { - uint b = value_size; - uint * p1 = table; - - #ifndef __GNUC__ - __asm - { - push ebx - push ecx - push edx - - mov ebx, [p1] - xor edx, edx - mov ecx, [c] - neg ecx - mov ecx, [b] - - ttmath_loop: - rcl dword ptr [ebx+edx*4], 1 - - inc edx - dec ecx - jnz ttmath_loop - - adc ecx, ecx - mov [c], ecx - - pop edx - pop ecx - pop ebx - } - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "xorl %%edx, %%edx \n" // edx=0 - "negl %%eax \n" // CF=1 if eax!=0 , CF=0 if eax==0 - - "1: \n" - "rcll $1, (%%ebx, %%edx, 4) \n" - - "incl %%edx \n" - "decl %%ecx \n" - "jnz 1b \n" - - "adcl %%ecx, %%ecx \n" - - : "=c" (c), "=a" (dummy), "=d" (dummy2) - : "0" (b), "1" (c), "b" (p1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::Rcl2_one", c) - - return c; - } - - - - /*! - this method moves all bits into the right hand side - c -> this -> return value - - the highest *bit* will be held the 'c' and - the state of one additional bit (on the right hand side) - will be returned - - for example: - let this is 000000010 - after Rcr2_one(1) there'll be 100000001 and Rcr2_one returns 0 - */ - template - uint UInt::Rcr2_one(uint c) - { - uint b = value_size; - uint * p1 = table; - - #ifndef __GNUC__ - __asm - { - push ebx - push ecx - - mov ebx, [p1] - mov ecx, [c] - neg ecx - mov ecx, [b] - - ttmath_loop: - rcr dword ptr [ebx+ecx*4-4], 1 - - dec ecx - jnz ttmath_loop - - adc ecx, ecx - mov [c], ecx - - pop ecx - pop ebx - } - #endif - - - #ifdef __GNUC__ - uint dummy; - - __asm__ __volatile__( - - "negl %%eax \n" // CF=1 if eax!=0 , CF=0 if eax==0 - - "1: \n" - "rcrl $1, -4(%%ebx, %%ecx, 4) \n" - - "decl %%ecx \n" - "jnz 1b \n" - - "adcl %%ecx, %%ecx \n" - - : "=c" (c), "=a" (dummy) - : "0" (b), "1" (c), "b" (p1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::Rcr2_one", c) - - return c; - } - - - -#ifdef _MSC_VER -#pragma warning (disable : 4731) -//warning C4731: frame pointer register 'ebp' modified by inline assembly code -#endif - - - - /*! - this method moves all bits into the left hand side - return value <- this <- c - - the lowest *bits* will be held the 'c' and - the state of one additional bit (on the left hand side) - will be returned - - for example: - let this is 001010000 - after Rcl2(3, 1) there'll be 010000111 and Rcl2 returns 1 - */ - template - uint UInt::Rcl2(uint bits, uint c) - { - TTMATH_ASSERT( bits>0 && bits edx -> cf) (cl times) - "movl %%edx, %%ebp \n" // ebp = edx = mask - "movl %%esi, %%ecx \n" - - "xorl %%edx, %%edx \n" - "movl %%edx, %%esi \n" - "orl %%eax, %%eax \n" - "cmovnz %%ebp, %%esi \n" // if(c) esi=mask else esi=0 - - "1: \n" - "roll %%cl, (%%ebx,%%edx,4) \n" - - "movl (%%ebx,%%edx,4), %%eax \n" - "andl %%ebp, %%eax \n" - "xorl %%eax, (%%ebx,%%edx,4) \n" - "orl %%esi, (%%ebx,%%edx,4) \n" - "movl %%eax, %%esi \n" - - "incl %%edx \n" - "decl %%edi \n" - "jnz 1b \n" - - "and $1, %%eax \n" - - "pop %%ebp \n" - - : "=a" (c), "=D" (dummy), "=S" (dummy2), "=d" (dummy3) - : "0" (c), "1" (b), "b" (p1), "c" (bits) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::Rcl2", c) - - return c; - } - - - - - /*! - this method moves all bits into the right hand side - C -> this -> return value - - the highest *bits* will be held the 'c' and - the state of one additional bit (on the right hand side) - will be returned - - for example: - let this is 000000010 - after Rcr2(2, 1) there'll be 110000000 and Rcr2 returns 1 - */ - template - uint UInt::Rcr2(uint bits, uint c) - { - TTMATH_ASSERT( bits>0 && bits - sint UInt::FindLeadingBitInWord(uint x) - { - sint result; - - #ifndef __GNUC__ - __asm - { - push eax - push edx - - mov edx,-1 - bsr eax,[x] - cmovz eax,edx - mov [result], eax - - pop edx - pop eax - } - #endif - - - #ifdef __GNUC__ - uint dummy; - - __asm__ ( - - "movl $-1, %1 \n" - "bsrl %2, %0 \n" - "cmovz %1, %0 \n" - - : "=r" (result), "=&r" (dummy) - : "r" (x) - : "cc" ); - - #endif - - return result; - } - - - - /* - this method returns the number of the smallest set bit in one 32-bit word - if the 'x' is zero this method returns '-1' - */ - template - sint UInt::FindLowestBitInWord(uint x) - { - sint result; - - #ifndef __GNUC__ - __asm - { - push eax - push edx - - mov edx,-1 - bsf eax,[x] - cmovz eax,edx - mov [result], eax - - pop edx - pop eax - } - #endif - - - #ifdef __GNUC__ - uint dummy; - - __asm__ ( - - "movl $-1, %1 \n" - "bsfl %2, %0 \n" - "cmovz %1, %0 \n" - - : "=r" (result), "=&r" (dummy) - : "r" (x) - : "cc" ); - - #endif - - return result; - } - - - - /*! - this method sets a special bit in the 'value' - and returns the last state of the bit (zero or one) - - bit is from <0,31> - e.g. - uint x = 100; - uint bit = SetBitInWord(x, 3); - now: x = 108 and bit = 0 - */ - template - uint UInt::SetBitInWord(uint & value, uint bit) - { - TTMATH_ASSERT( bit < TTMATH_BITS_PER_UINT ) - - uint old_bit; - uint v = value; - - #ifndef __GNUC__ - __asm - { - push ebx - push eax - - mov eax, [v] - mov ebx, [bit] - bts eax, ebx - mov [v], eax - - setc bl - movzx ebx, bl - mov [old_bit], ebx - - pop eax - pop ebx - } - #endif - - - #ifdef __GNUC__ - __asm__ ( - - "btsl %%ebx, %%eax \n" - "setc %%bl \n" - "movzx %%bl, %%ebx \n" - - : "=a" (v), "=b" (old_bit) - : "0" (v), "1" (bit) - : "cc" ); - - #endif - - value = v; - - return old_bit; - } - - - - - /*! - multiplication: result_high:result_low = a * b - result_high - higher word of the result - result_low - lower word of the result - - this methos never returns a carry - this method is used in the second version of the multiplication algorithms - */ - template - void UInt::MulTwoWords(uint a, uint b, uint * result_high, uint * result_low) - { - /* - we must use these temporary variables in order to inform the compilator - that value pointed with result1 and result2 has changed - - this has no effect in visual studio but it's useful when - using gcc and options like -Ox - */ - uint result1_; - uint result2_; - - #ifndef __GNUC__ - - __asm - { - push eax - push edx - - mov eax, [a] - mul dword ptr [b] - - mov [result2_], edx - mov [result1_], eax - - pop edx - pop eax - } - - #endif - - - #ifdef __GNUC__ - - __asm__ ( - - "mull %%edx \n" - - : "=a" (result1_), "=d" (result2_) - : "0" (a), "1" (b) - : "cc" ); - - #endif - - - *result_low = result1_; - *result_high = result2_; - } - - - - - - /*! - * - * Division - * - * - */ - - - - - /*! - this method calculates 64bits word a:b / 32bits c (a higher, b lower word) - r = a:b / c and rest - remainder - - * - * WARNING: - * if r (one word) is too small for the result or c is equal zero - * there'll be a hardware interruption (0) - * and probably the end of your program - * - */ - template - void UInt::DivTwoWords(uint a, uint b, uint c, uint * r, uint * rest) - { - uint r_; - uint rest_; - /* - these variables have similar meaning like those in - the multiplication algorithm MulTwoWords - */ - - TTMATH_ASSERT( c != 0 ) - - #ifndef __GNUC__ - __asm - { - push eax - push edx - - mov edx, [a] - mov eax, [b] - div dword ptr [c] - - mov [r_], eax - mov [rest_], edx - - pop edx - pop eax - } - #endif - - - #ifdef __GNUC__ - - __asm__ ( - - "divl %%ecx \n" - - : "=a" (r_), "=d" (rest_) - : "0" (b), "1" (a), "c" (c) - : "cc" ); - - #endif - - - *r = r_; - *rest = rest_; - - } - - - -} //namespace - - - -#endif //ifdef TTMATH_PLATFORM32 -#endif //ifndef TTMATH_NOASM -#endif diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86_64.h b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86_64.h deleted file mode 100644 index 188fc5e7bd..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86_64.h +++ /dev/null @@ -1,1146 +0,0 @@ -/* - * This file is a part of TTMath Bignum Library - * and is distributed under the (new) BSD licence. - * Author: Tomasz Sowa - */ - -/* - * Copyright (c) 2006-2010, Tomasz Sowa - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * * Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * * Neither the name Tomasz Sowa nor the names of contributors to this - * project may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF - * THE POSSIBILITY OF SUCH DAMAGE. - */ - - -#ifndef headerfilettmathuint_x86_64 -#define headerfilettmathuint_x86_64 - - -#ifndef TTMATH_NOASM -#ifdef TTMATH_PLATFORM64 - - -/*! - \file ttmathuint_x86_64.h - \brief template class UInt with assembler code for 64bit x86_64 processors - - this file is included at the end of ttmathuint.h -*/ - -#ifndef __GNUC__ -#include -#endif - - -namespace ttmath -{ - - #ifndef __GNUC__ - - extern "C" - { - uint __fastcall ttmath_adc_x64(uint* p1, const uint* p2, uint nSize, uint c); - uint __fastcall ttmath_addindexed_x64(uint* p1, uint nSize, uint nPos, uint nValue); - uint __fastcall ttmath_addindexed2_x64(uint* p1, uint nSize, uint nPos, uint nValue1, uint nValue2); - uint __fastcall ttmath_addvector_x64(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result); - uint __fastcall ttmath_sbb_x64(uint* p1, const uint* p2, uint nSize, uint c); - uint __fastcall ttmath_subindexed_x64(uint* p1, uint nSize, uint nPos, uint nValue); - uint __fastcall ttmath_subvector_x64(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result); - uint __fastcall ttmath_rcl_x64(uint* p1, uint nSize, uint nLowestBit); - uint __fastcall ttmath_rcr_x64(uint* p1, uint nSize, uint nLowestBit); - uint __fastcall ttmath_div_x64(uint* pnValHi, uint* pnValLo, uint nDiv); - uint __fastcall ttmath_rcl2_x64(uint* p1, uint nSize, uint nBits, uint c); - uint __fastcall ttmath_rcr2_x64(uint* p1, uint nSize, uint nBits, uint c); - }; - #endif - - - /*! - returning the string represents the currect type of the library - we have following types: - asm_vc_32 - with asm code designed for Microsoft Visual C++ (32 bits) - asm_gcc_32 - with asm code designed for GCC (32 bits) - asm_vc_64 - with asm for VC (64 bit) - asm_gcc_64 - with asm for GCC (64 bit) - no_asm_32 - pure C++ version (32 bit) - without any asm code - no_asm_64 - pure C++ version (64 bit) - without any asm code - */ - template - const char * UInt::LibTypeStr() - { - #ifndef __GNUC__ - static const char info[] = "asm_vc_64"; - #endif - - #ifdef __GNUC__ - static const char info[] = "asm_gcc_64"; - #endif - - return info; - } - - - /*! - returning the currect type of the library - */ - template - LibTypeCode UInt::LibType() - { - #ifndef __GNUC__ - LibTypeCode info = asm_vc_64; - #endif - - #ifdef __GNUC__ - LibTypeCode info = asm_gcc_64; - #endif - - return info; - } - - - /*! - * - * basic mathematic functions - * - */ - - - - /*! - this method adding ss2 to the this and adding carry if it's defined - (this = this + ss2 + c) - - ***this method is created only on a 64bit platform*** - - c must be zero or one (might be a bigger value than 1) - function returns carry (1) (if it was) - */ - template - uint UInt::Add(const UInt & ss2, uint c) - { - uint b = value_size; - uint * p1 = table; - const uint * p2 = ss2.table; - - // we don't have to use TTMATH_REFERENCE_ASSERT here - // this algorithm doesn't require it - - #ifndef __GNUC__ - c = ttmath_adc_x64(p1,p2,b,c); - #endif - - #ifdef __GNUC__ - uint dummy, dummy2; - - /* - this part should be compiled with gcc - */ - __asm__ __volatile__( - - "xorq %%rdx, %%rdx \n" - "negq %%rax \n" // CF=1 if rax!=0 , CF=0 if rax==0 - - "1: \n" - "movq (%%rsi,%%rdx,8), %%rax \n" - "adcq %%rax, (%%rbx,%%rdx,8) \n" - - "incq %%rdx \n" - "decq %%rcx \n" - "jnz 1b \n" - - "adcq %%rcx, %%rcx \n" - - : "=c" (c), "=a" (dummy), "=d" (dummy2) - : "0" (b), "1" (c), "b" (p1), "S" (p2) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::Add", c) - - return c; - } - - - - /*! - this method adds one word (at a specific position) - and returns a carry (if it was) - - ***this method is created only on a 64bit platform*** - - - if we've got (value_size=3): - table[0] = 10; - table[1] = 30; - table[2] = 5; - and we call: - AddInt(2,1) - then it'll be: - table[0] = 10; - table[1] = 30 + 2; - table[2] = 5; - - of course if there was a carry from table[2] it would be returned - */ - template - uint UInt::AddInt(uint value, uint index) - { - uint b = value_size; - uint * p1 = table; - uint c; - - TTMATH_ASSERT( index < value_size ) - - #ifndef __GNUC__ - c = ttmath_addindexed_x64(p1,b,index,value); - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "subq %%rdx, %%rcx \n" - - "1: \n" - "addq %%rax, (%%rbx,%%rdx,8) \n" - "jnc 2f \n" - - "movq $1, %%rax \n" - "incq %%rdx \n" - "decq %%rcx \n" - "jnz 1b \n" - - "2: \n" - "setc %%al \n" - "movzx %%al, %%rdx \n" - - : "=d" (c), "=a" (dummy), "=c" (dummy2) - : "0" (index), "1" (value), "2" (b), "b" (p1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::AddInt", c) - - return c; - } - - - - /*! - this method adds only two unsigned words to the existing value - and these words begin on the 'index' position - (it's used in the multiplication algorithm 2) - - ***this method is created only on a 64bit platform*** - - index should be equal or smaller than value_size-2 (index <= value_size-2) - x1 - lower word, x2 - higher word - - for example if we've got value_size equal 4 and: - table[0] = 3 - table[1] = 4 - table[2] = 5 - table[3] = 6 - then let - x1 = 10 - x2 = 20 - and - index = 1 - - the result of this method will be: - table[0] = 3 - table[1] = 4 + x1 = 14 - table[2] = 5 + x2 = 25 - table[3] = 6 - - and no carry at the end of table[3] - - (of course if there was a carry in table[2](5+20) then - this carry would be passed to the table[3] etc.) - */ - template - uint UInt::AddTwoInts(uint x2, uint x1, uint index) - { - uint b = value_size; - uint * p1 = table; - uint c; - - TTMATH_ASSERT( index < value_size - 1 ) - - #ifndef __GNUC__ - c = ttmath_addindexed2_x64(p1,b,index,x1,x2); - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "subq %%rdx, %%rcx \n" - - "addq %%rsi, (%%rbx,%%rdx,8) \n" - "incq %%rdx \n" - "decq %%rcx \n" - - "1: \n" - "adcq %%rax, (%%rbx,%%rdx,8) \n" - "jnc 2f \n" - - "mov $0, %%rax \n" - "incq %%rdx \n" - "decq %%rcx \n" - "jnz 1b \n" - - "2: \n" - "setc %%al \n" - "movzx %%al, %%rax \n" - - : "=a" (c), "=c" (dummy), "=d" (dummy2) - : "0" (x2), "1" (b), "2" (index), "b" (p1), "S" (x1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::AddTwoInts", c) - - return c; - } - - - - /*! - this static method addes one vector to the other - 'ss1' is larger in size or equal to 'ss2' - - ss1 points to the first (larger) vector - ss2 points to the second vector - ss1_size - size of the ss1 (and size of the result too) - ss2_size - size of the ss2 - result - is the result vector (which has size the same as ss1: ss1_size) - - Example: ss1_size is 5, ss2_size is 3 - ss1: ss2: result (output): - 5 1 5+1 - 4 3 4+3 - 2 7 2+7 - 6 6 - 9 9 - of course the carry is propagated and will be returned from the last item - (this method is used by the Karatsuba multiplication algorithm) - */ - template - uint UInt::AddVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result) - { - TTMATH_ASSERT( ss1_size >= ss2_size ) - - uint c; - - #ifndef __GNUC__ - c = ttmath_addvector_x64(ss1, ss2, ss1_size, ss2_size, result); - #endif - - - #ifdef __GNUC__ - uint dummy1, dummy2, dummy3; - uint rest = ss1_size - ss2_size; - - // this part should be compiled with gcc - - __asm__ __volatile__( - "mov %%rdx, %%r8 \n" - "xor %%rdx, %%rdx \n" // rdx = 0, cf = 0 - "1: \n" - "mov (%%rsi,%%rdx,8), %%rax \n" - "adc (%%rbx,%%rdx,8), %%rax \n" - "mov %%rax, (%%rdi,%%rdx,8) \n" - - "inc %%rdx \n" - "dec %%rcx \n" - "jnz 1b \n" - - "adc %%rcx, %%rcx \n" // rcx has the cf state - - "or %%r8, %%r8 \n" - "jz 3f \n" - - "xor %%rbx, %%rbx \n" // ebx = 0 - "neg %%rcx \n" // setting cf from rcx - "mov %%r8, %%rcx \n" // rcx=rest and is != 0 - "2: \n" - "mov (%%rsi, %%rdx, 8), %%rax \n" - "adc %%rbx, %%rax \n" - "mov %%rax, (%%rdi, %%rdx, 8) \n" - - "inc %%rdx \n" - "dec %%rcx \n" - "jnz 2b \n" - - "adc %%rcx, %%rcx \n" - "3: \n" - - : "=a" (dummy1), "=b" (dummy2), "=c" (c), "=d" (dummy3) - : "1" (ss2), "2" (ss2_size), "3" (rest), "S" (ss1), "D" (result) - : "%r8", "cc", "memory" ); - - #endif - - TTMATH_VECTOR_LOGC("UInt::AddVector", c, result, ss1_size) - - return c; - } - - - - /*! - this method's subtracting ss2 from the 'this' and subtracting - carry if it has been defined - (this = this - ss2 - c) - - ***this method is created only on a 64bit platform*** - - c must be zero or one (might be a bigger value than 1) - function returns carry (1) (if it was) - */ - template - uint UInt::Sub(const UInt & ss2, uint c) - { - uint b = value_size; - uint * p1 = table; - const uint * p2 = ss2.table; - - // we don't have to use TTMATH_REFERENCE_ASSERT here - // this algorithm doesn't require it - - #ifndef __GNUC__ - c = ttmath_sbb_x64(p1,p2,b,c); - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "xorq %%rdx, %%rdx \n" - "negq %%rax \n" // CF=1 if rax!=0 , CF=0 if rax==0 - - "1: \n" - "movq (%%rsi,%%rdx,8), %%rax \n" - "sbbq %%rax, (%%rbx,%%rdx,8) \n" - - "incq %%rdx \n" - "decq %%rcx \n" - "jnz 1b \n" - - "adcq %%rcx, %%rcx \n" - - : "=c" (c), "=a" (dummy), "=d" (dummy2) - : "0" (b), "1" (c), "b" (p1), "S" (p2) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::Sub", c) - - return c; - } - - - - /*! - this method subtracts one word (at a specific position) - and returns a carry (if it was) - - ***this method is created only on a 64bit platform*** - - if we've got (value_size=3): - table[0] = 10; - table[1] = 30; - table[2] = 5; - and we call: - SubInt(2,1) - then it'll be: - table[0] = 10; - table[1] = 30 - 2; - table[2] = 5; - - of course if there was a carry from table[2] it would be returned - */ - template - uint UInt::SubInt(uint value, uint index) - { - uint b = value_size; - uint * p1 = table; - uint c; - - TTMATH_ASSERT( index < value_size ) - - #ifndef __GNUC__ - c = ttmath_subindexed_x64(p1,b,index,value); - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "subq %%rdx, %%rcx \n" - - "1: \n" - "subq %%rax, (%%rbx,%%rdx,8) \n" - "jnc 2f \n" - - "movq $1, %%rax \n" - "incq %%rdx \n" - "decq %%rcx \n" - "jnz 1b \n" - - "2: \n" - "setc %%al \n" - "movzx %%al, %%rdx \n" - - : "=d" (c), "=a" (dummy), "=c" (dummy2) - : "0" (index), "1" (value), "2" (b), "b" (p1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::SubInt", c) - - return c; - } - - - /*! - this static method subtractes one vector from the other - 'ss1' is larger in size or equal to 'ss2' - - ss1 points to the first (larger) vector - ss2 points to the second vector - ss1_size - size of the ss1 (and size of the result too) - ss2_size - size of the ss2 - result - is the result vector (which has size the same as ss1: ss1_size) - - Example: ss1_size is 5, ss2_size is 3 - ss1: ss2: result (output): - 5 1 5-1 - 4 3 4-3 - 2 7 2-7 - 6 6-1 (the borrow from previous item) - 9 9 - return (carry): 0 - of course the carry (borrow) is propagated and will be returned from the last item - (this method is used by the Karatsuba multiplication algorithm) - */ - template - uint UInt::SubVector(const uint * ss1, const uint * ss2, uint ss1_size, uint ss2_size, uint * result) - { - TTMATH_ASSERT( ss1_size >= ss2_size ) - - uint c; - - #ifndef __GNUC__ - c = ttmath_subvector_x64(ss1, ss2, ss1_size, ss2_size, result); - #endif - - - #ifdef __GNUC__ - - // the asm code is nearly the same as in AddVector - // only two instructions 'adc' are changed to 'sbb' - - uint dummy1, dummy2, dummy3; - uint rest = ss1_size - ss2_size; - - __asm__ __volatile__( - "mov %%rdx, %%r8 \n" - "xor %%rdx, %%rdx \n" // rdx = 0, cf = 0 - "1: \n" - "mov (%%rsi,%%rdx,8), %%rax \n" - "sbb (%%rbx,%%rdx,8), %%rax \n" - "mov %%rax, (%%rdi,%%rdx,8) \n" - - "inc %%rdx \n" - "dec %%rcx \n" - "jnz 1b \n" - - "adc %%rcx, %%rcx \n" // rcx has the cf state - - "or %%r8, %%r8 \n" - "jz 3f \n" - - "xor %%rbx, %%rbx \n" // ebx = 0 - "neg %%rcx \n" // setting cf from rcx - "mov %%r8, %%rcx \n" // rcx=rest and is != 0 - "2: \n" - "mov (%%rsi, %%rdx, 8), %%rax \n" - "sbb %%rbx, %%rax \n" - "mov %%rax, (%%rdi, %%rdx, 8) \n" - - "inc %%rdx \n" - "dec %%rcx \n" - "jnz 2b \n" - - "adc %%rcx, %%rcx \n" - "3: \n" - - : "=a" (dummy1), "=b" (dummy2), "=c" (c), "=d" (dummy3) - : "1" (ss2), "2" (ss2_size), "3" (rest), "S" (ss1), "D" (result) - : "%r8", "cc", "memory" ); - - #endif - - TTMATH_VECTOR_LOGC("UInt::SubVector", c, result, ss1_size) - - return c; - } - - - /*! - this method moves all bits into the left hand side - return value <- this <- c - - the lowest *bit* will be held the 'c' and - the state of one additional bit (on the left hand side) - will be returned - - for example: - let this is 001010000 - after Rcl2_one(1) there'll be 010100001 and Rcl2_one returns 0 - - ***this method is created only on a 64bit platform*** - */ - template - uint UInt::Rcl2_one(uint c) - { - sint b = value_size; - uint * p1 = table; - - - #ifndef __GNUC__ - c = ttmath_rcl_x64(p1,b,c); - #endif - - - #ifdef __GNUC__ - uint dummy, dummy2; - - __asm__ __volatile__( - - "xorq %%rdx, %%rdx \n" // rdx=0 - "negq %%rax \n" // CF=1 if rax!=0 , CF=0 if rax==0 - - "1: \n" - "rclq $1, (%%rbx, %%rdx, 8) \n" - - "incq %%rdx \n" - "decq %%rcx \n" - "jnz 1b \n" - - "adcq %%rcx, %%rcx \n" - - : "=c" (c), "=a" (dummy), "=d" (dummy2) - : "0" (b), "1" (c), "b" (p1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::Rcl2_one", c) - - return c; - } - - - /*! - this method moves all bits into the right hand side - c -> this -> return value - - the highest *bit* will be held the 'c' and - the state of one additional bit (on the right hand side) - will be returned - - for example: - let this is 000000010 - after Rcr2_one(1) there'll be 100000001 and Rcr2_one returns 0 - - ***this method is created only on a 64bit platform*** - */ - template - uint UInt::Rcr2_one(uint c) - { - sint b = value_size; - uint * p1 = table; - - - #ifndef __GNUC__ - c = ttmath_rcr_x64(p1,b,c); - #endif - - - #ifdef __GNUC__ - uint dummy; - - __asm__ __volatile__( - - "negq %%rax \n" // CF=1 if rax!=0 , CF=0 if rax==0 - - "1: \n" - "rcrq $1, -8(%%rbx, %%rcx, 8) \n" - - "decq %%rcx \n" - "jnz 1b \n" - - "adcq %%rcx, %%rcx \n" - - : "=c" (c), "=a" (dummy) - : "0" (b), "1" (c), "b" (p1) - : "cc", "memory" ); - - #endif - - TTMATH_LOGC("UInt::Rcr2_one", c) - - return c; - } - - - - /*! - this method moves all bits into the left hand side - return value <- this <- c - - the lowest *bits* will be held the 'c' and - the state of one additional bit (on the left hand side) - will be returned - - for example: - let this is 001010000 - after Rcl2(3, 1) there'll be 010000111 and Rcl2 returns 1 - - ***this method is created only on a 64bit platform*** - */ - template - uint UInt::Rcl2(uint bits, uint c) - { - TTMATH_ASSERT( bits>0 && bits this -> return value - - the highest *bits* will be held the 'c' and - the state of one additional bit (on the right hand side) - will be returned - - for example: - let this is 000000010 - after Rcr2(2, 1) there'll be 110000000 and Rcr2 returns 1 - - ***this method is created only on a 64bit platform*** - */ - template - uint UInt::Rcr2(uint bits, uint c) - { - TTMATH_ASSERT( bits>0 && bits - sint UInt::FindLeadingBitInWord(uint x) - { - sint result; - - - #ifndef __GNUC__ - - unsigned long nIndex = 0; - - if( _BitScanReverse64(&nIndex,x) == 0 ) - result = -1; - else - result = nIndex; - - #endif - - - #ifdef __GNUC__ - uint dummy; - - __asm__ ( - - "movq $-1, %1 \n" - "bsrq %2, %0 \n" - "cmovz %1, %0 \n" - - : "=r" (result), "=&r" (dummy) - : "r" (x) - : "cc" ); - - #endif - - - return result; - } - - - /* - this method returns the number of the highest set bit in one 64-bit word - if the 'x' is zero this method returns '-1' - - ***this method is created only on a 64bit platform*** - */ - template - sint UInt::FindLowestBitInWord(uint x) - { - sint result; - - - #ifndef __GNUC__ - - unsigned long nIndex = 0; - - if( _BitScanForward64(&nIndex,x) == 0 ) - result = -1; - else - result = nIndex; - - #endif - - - #ifdef __GNUC__ - uint dummy; - - __asm__ ( - - "movq $-1, %1 \n" - "bsfq %2, %0 \n" - "cmovz %1, %0 \n" - - : "=r" (result), "=&r" (dummy) - : "r" (x) - : "cc" ); - - #endif - - - return result; - } - - - /*! - this method sets a special bit in the 'value' - and returns the last state of the bit (zero or one) - - ***this method is created only on a 64bit platform*** - - bit is from <0,63> - - e.g. - uint x = 100; - uint bit = SetBitInWord(x, 3); - now: x = 108 and bit = 0 - */ - template - uint UInt::SetBitInWord(uint & value, uint bit) - { - TTMATH_ASSERT( bit < TTMATH_BITS_PER_UINT ) - - uint old_bit; - uint v = value; - - - #ifndef __GNUC__ - old_bit = _bittestandset64((__int64*)&value,bit) != 0; - #endif - - - #ifdef __GNUC__ - - __asm__ ( - - "btsq %%rbx, %%rax \n" - "setc %%bl \n" - "movzx %%bl, %%rbx \n" - - : "=a" (v), "=b" (old_bit) - : "0" (v), "1" (bit) - : "cc" ); - - #endif - - value = v; - - return old_bit; - } - - - /*! - * - * Multiplication - * - * - */ - - - /*! - multiplication: result_high:result_low = a * b - result_high - higher word of the result - result_low - lower word of the result - - this methos never returns a carry - this method is used in the second version of the multiplication algorithms - - ***this method is created only on a 64bit platform*** - */ - template - void UInt::MulTwoWords(uint a, uint b, uint * result_high, uint * result_low) - { - /* - we must use these temporary variables in order to inform the compilator - that value pointed with result1 and result2 has changed - - this has no effect in visual studio but it's usefull when - using gcc and options like -O - */ - uint result1_; - uint result2_; - - - #ifndef __GNUC__ - result1_ = _umul128(a,b,&result2_); - #endif - - - #ifdef __GNUC__ - - __asm__ ( - - "mulq %%rdx \n" - - : "=a" (result1_), "=d" (result2_) - : "0" (a), "1" (b) - : "cc" ); - - #endif - - - *result_low = result1_; - *result_high = result2_; - } - - - - - /*! - * - * Division - * - * - */ - - - /*! - this method calculates 64bits word a:b / 32bits c (a higher, b lower word) - r = a:b / c and rest - remainder - - ***this method is created only on a 64bit platform*** - - * - * WARNING: - * if r (one word) is too small for the result or c is equal zero - * there'll be a hardware interruption (0) - * and probably the end of your program - * - */ - template - void UInt::DivTwoWords(uint a,uint b, uint c, uint * r, uint * rest) - { - uint r_; - uint rest_; - /* - these variables have similar meaning like those in - the multiplication algorithm MulTwoWords - */ - - TTMATH_ASSERT( c != 0 ) - - - #ifndef __GNUC__ - - ttmath_div_x64(&a,&b,c); - r_ = a; - rest_ = b; - - #endif - - - #ifdef __GNUC__ - - __asm__ ( - - "divq %%rcx \n" - - : "=a" (r_), "=d" (rest_) - : "d" (a), "a" (b), "c" (c) - : "cc" ); - - #endif - - - *r = r_; - *rest = rest_; - } - -} //namespace - - -#endif //ifdef TTMATH_PLATFORM64 -#endif //ifndef TTMATH_NOASM -#endif - - diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86_64_msvc.asm b/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86_64_msvc.asm deleted file mode 100644 index b7c85c2b84..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath/ttmathuint_x86_64_msvc.asm +++ /dev/null @@ -1,548 +0,0 @@ -; -; This file is a part of TTMath Bignum Library -; and is distributed under the (new) BSD licence. -; Author: Christian Kaiser -; - -; -; Copyright (c) 2009, Christian Kaiser -; All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions are met: -; -; * Redistributions of source code must retain the above copyright notice, -; this list of conditions and the following disclaimer. -; -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the distribution. -; -; * Neither the name Christian Kaiser nor the names of contributors to this -; project may be used to endorse or promote products derived -; from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -; IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -; ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE -; LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -; CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -; SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS -; INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN -; CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -; ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF -; THE POSSIBILITY OF SUCH DAMAGE. -; - -; -; compile with debug info: ml64.exe /c /Zd /Zi ttmathuint_x86_64_msvc.asm -; compile without debug info: ml64.exe /c ttmathuint_x86_64_msvc.asm -; this creates ttmathuint_x86_64_msvc.obj file which can be linked with your program -; - -PUBLIC ttmath_adc_x64 -PUBLIC ttmath_addindexed_x64 -PUBLIC ttmath_addindexed2_x64 -PUBLIC ttmath_addvector_x64 - -PUBLIC ttmath_sbb_x64 -PUBLIC ttmath_subindexed_x64 -PUBLIC ttmath_subvector_x64 - -PUBLIC ttmath_rcl_x64 -PUBLIC ttmath_rcr_x64 - -PUBLIC ttmath_rcl2_x64 -PUBLIC ttmath_rcr2_x64 - -PUBLIC ttmath_div_x64 - -; -; Microsoft x86_64 convention: http://msdn.microsoft.com/en-us/library/9b372w95.aspx -; -; "rax, rcx, rdx, r8-r11 are volatile." -; "rbx, rbp, rdi, rsi, r12-r15 are nonvolatile." -; - - -.CODE - - - ALIGN 8 - -;---------------------------------------- - -ttmath_adc_x64 PROC - ; rcx = p1 - ; rdx = p2 - ; r8 = nSize - ; r9 = nCarry - - xor rax, rax - xor r11, r11 - sub rax, r9 ; sets CARRY if r9 != 0 - - ALIGN 16 - loop1: - mov rax,qword ptr [rdx + r11 * 8] - adc qword ptr [rcx + r11 * 8], rax - lea r11, [r11+1] - dec r8 - jnz loop1 - - setc al - movzx rax, al - - ret - -ttmath_adc_x64 ENDP - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -ttmath_addindexed_x64 PROC - - ; rcx = p1 - ; rdx = nSize - ; r8 = nPos - ; r9 = nValue - - xor rax, rax ; rax = result - sub rdx, r8 ; rdx = remaining count of uints - - add qword ptr [rcx + r8 * 8], r9 - jc next1 - - ret - -next1: - mov r9, 1 - - ALIGN 16 -loop1: - dec rdx - jz done_with_cy - lea r8, [r8+1] - add qword ptr [rcx + r8 * 8], r9 - jc loop1 - - ret - -done_with_cy: - lea rax, [rax+1] ; rax = 1 - - ret - -ttmath_addindexed_x64 ENDP - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -ttmath_addindexed2_x64 PROC - - ; rcx = p1 (pointer) - ; rdx = b (value size) - ; r8 = nPos - ; r9 = nValue1 - ; [esp+0x28] = nValue2 - - xor rax, rax ; return value - mov r11, rcx ; table - sub rdx, r8 ; rdx = remaining count of uints - mov r10, [esp+028h] ; r10 = nValue2 - - add qword ptr [r11 + r8 * 8], r9 - lea r8, [r8+1] - lea rdx, [rdx-1] - adc qword ptr [r11 + r8 * 8], r10 - jc next - ret - - ALIGN 16 -loop1: - lea r8, [r8+1] - add qword ptr [r11 + r8 * 8], 1 - jc next - ret - -next: - dec rdx ; does not modify CY too... - jnz loop1 - lea rax, [rax+1] - ret - -ttmath_addindexed2_x64 ENDP - - - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - - -ttmath_addvector_x64 PROC - ; rcx = ss1 - ; rdx = ss2 - ; r8 = ss1_size - ; r9 = ss2_size - ; [esp+0x28] = result - - mov r10, [esp+028h] - sub r8, r9 - xor r11, r11 ; r11=0, cf=0 - - ALIGN 16 - loop1: - mov rax, qword ptr [rcx + r11 * 8] - adc rax, qword ptr [rdx + r11 * 8] - mov qword ptr [r10 + r11 * 8], rax - inc r11 - dec r9 - jnz loop1 - - adc r9, r9 ; r9 has the cf state - - or r8, r8 - jz done - - neg r9 ; setting cf from r9 - mov r9, 0 ; don't use xor here (cf is used) - loop2: - mov rax, qword ptr [rcx + r11 * 8] - adc rax, r9 - mov qword ptr [r10 + r11 * 8], rax - inc r11 - dec r8 - jnz loop2 - - adc r8, r8 - mov rax, r8 - - ret - -done: - mov rax, r9 - ret - -ttmath_addvector_x64 ENDP - - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -ttmath_sbb_x64 PROC - - ; rcx = p1 - ; rdx = p2 - ; r8 = nCount - ; r9 = nCarry - - xor rax, rax - xor r11, r11 - sub rax, r9 ; sets CARRY if r9 != 0 - - ALIGN 16 - loop1: - mov rax,qword ptr [rdx + r11 * 8] - sbb qword ptr [rcx + r11 * 8], rax - lea r11, [r11+1] - dec r8 - jnz loop1 - - setc al - movzx rax, al - - ret - -ttmath_sbb_x64 ENDP - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -ttmath_subindexed_x64 PROC - ; rcx = p1 - ; rdx = nSize - ; r8 = nPos - ; r9 = nValue - - sub rdx, r8 ; rdx = remaining count of uints - - ALIGN 16 -loop1: - sub qword ptr [rcx + r8 * 8], r9 - jnc done - - lea r8, [r8+1] - mov r9, 1 - dec rdx - jnz loop1 - - mov rax, 1 - ret - -done: - xor rax, rax - ret - -ttmath_subindexed_x64 ENDP - - - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -; the same asm code as in addvector_x64 only two instructions 'adc' changed to 'sbb' - -ttmath_subvector_x64 PROC - ; rcx = ss1 - ; rdx = ss2 - ; r8 = ss1_size - ; r9 = ss2_size - ; [esp+0x28] = result - - mov r10, [esp+028h] - sub r8, r9 - xor r11, r11 ; r11=0, cf=0 - - ALIGN 16 - loop1: - mov rax, qword ptr [rcx + r11 * 8] - sbb rax, qword ptr [rdx + r11 * 8] - mov qword ptr [r10 + r11 * 8], rax - inc r11 - dec r9 - jnz loop1 - - adc r9, r9 ; r9 has the cf state - - or r8, r8 - jz done - - neg r9 ; setting cf from r9 - mov r9, 0 ; don't use xor here (cf is used) - loop2: - mov rax, qword ptr [rcx + r11 * 8] - sbb rax, r9 - mov qword ptr [r10 + r11 * 8], rax - inc r11 - dec r8 - jnz loop2 - - adc r8, r8 - mov rax, r8 - - ret - -done: - mov rax, r9 - ret - -ttmath_subvector_x64 ENDP - - - - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -ttmath_rcl_x64 PROC - ; rcx = p1 - ; rdx = b - ; r8 = nLowestBit - - mov r11, rcx ; table - xor r10, r10 - neg r8 ; CY set if r8 <> 0 - - ALIGN 16 -loop1: - rcl qword ptr [r11 + r10 * 8], 1 - lea r10, [r10+1] - dec rdx - jnz loop1 - - setc al - movzx rax, al - - ret - -ttmath_rcl_x64 ENDP - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -ttmath_rcr_x64 PROC - ; rcx = p1 - ; rdx = nSize - ; r8 = nLowestBit - - xor r10, r10 - neg r8 ; CY set if r8 <> 0 - - ALIGN 16 -loop1: - rcr qword ptr -8[rcx + rdx * 8], 1 - dec rdx - jnz loop1 - - setc al - movzx rax, al - - ret - -ttmath_rcr_x64 ENDP - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -ttmath_div_x64 PROC - - ; rcx = &Hi - ; rdx = &Lo - ; r8 = nDiv - - mov r11, rcx - mov r10, rdx - - mov rdx, qword ptr [r11] - mov rax, qword ptr [r10] - div r8 - mov qword ptr [r10], rdx ; remainder - mov qword ptr [r11], rax ; value - - ret - -ttmath_div_x64 ENDP - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -ttmath_rcl2_x64 PROC - ; rcx = p1 - ; rdx = nSize - ; r8 = bits - ; r9 = c - - push rbx - - mov r10, rcx ; r10 = p1 - xor rax, rax - - mov rcx, 64 - sub rcx, r8 - - mov r11, -1 - shr r11, cl ; r11 = mask - - mov rcx, r8 ; rcx = count of bits - - mov rbx, rax ; rbx = old value = 0 - or r9, r9 - cmovnz rbx, r11 ; if (c) then old value = mask - - mov r9, rax ; r9 = index (0..nSize-1) - - ALIGN 16 -loop1: - rol qword ptr [r10+r9*8], cl - mov rax, qword ptr [r10+r9*8] - and rax, r11 - xor qword ptr [r10+r9*8], rax - or qword ptr [r10+r9*8], rbx - mov rbx, rax - - lea r9, [r9+1] - dec rdx - - jnz loop1 - - and rax, 1 - pop rbx - ret - -ttmath_rcl2_x64 ENDP - -;---------------------------------------- - - ALIGN 8 - -;---------------------------------------- - -ttmath_rcr2_x64 PROC - ; rcx = p1 - ; rdx = nSize - ; r8 = bits - ; r9 = c - - push rbx - mov r10, rcx ; r10 = p1 - xor rax, rax - - mov rcx, 64 - sub rcx, r8 - - mov r11, -1 - shl r11, cl ; r11 = mask - - mov rcx, r8 ; rcx = count of bits - - mov rbx, rax ; rbx = old value = 0 - or r9, r9 - cmovnz rbx, r11 ; if (c) then old value = mask - - mov r9, rdx ; r9 = index (0..nSize-1) - lea r9, [r9-1] - - ALIGN 16 -loop1: - ror qword ptr [r10+r9*8], cl - mov rax, qword ptr [r10+r9*8] - and rax, r11 - xor qword ptr [r10+r9*8], rax - or qword ptr [r10+r9*8], rbx - mov rbx, rax - - lea r9, [r9-1] - dec rdx - - jnz loop1 - - rol rax, 1 - and rax, 1 - pop rbx - - ret - -ttmath_rcr2_x64 ENDP - -END diff --git a/3party/boost/boost/geometry/extensions/contrib/ttmath_stub.hpp b/3party/boost/boost/geometry/extensions/contrib/ttmath_stub.hpp deleted file mode 100644 index cb53fc114c..0000000000 --- a/3party/boost/boost/geometry/extensions/contrib/ttmath_stub.hpp +++ /dev/null @@ -1,373 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2015 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2015 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2015 Mateusz Loskot, London, UK. - -// This file was modified by Oracle on 2014, 2015. -// Modifications copyright (c) 2014-2015, Oracle and/or its affiliates. - -// Contributed and/or modified by Menelaos Karavelas, on behalf of Oracle - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef TTMATH_STUB -#define TTMATH_STUB - -#include -#include -#include -#include - - -#include -namespace ttmath -{ - template - inline Big sqrt(Big const& v) - { - return Sqrt(v); - } - - template - inline Big abs(Big const& v) - { - return Abs(v); - } - - template - inline Big ceil(Big const& v) - { - return Ceil(v); - } - - template - inline Big floor(Big const& v) - { - return Floor(v); - } - - template - inline Big asin(Big const& v) - { - return ASin(v); - } - - template - inline Big sin(Big const& v) - { - return Sin(v); - } - - template - inline Big cos(Big const& v) - { - return Cos(v); - } - - template - inline Big tan(Big const& v) - { - return Tan(v); - } - - template - inline Big atan(Big const& v) - { - return ATan(v); - } - - template - inline Big acos(Big const& v) - { - return ACos(v); - } - - template - inline Big atan2(Big const& y, Big const& x) - { - // return ATan2(y, 2); does not (yet) exist in ttmath... - - // See http://en.wikipedia.org/wiki/Atan2 - - Big const zero(0); - Big const two(2); - - if (y == zero) - { - // return x >= 0 ? 0 : pi and pi=2*arccos(0) - return x >= zero ? zero : two * ACos(zero); - } - - return two * ATan((sqrt(x * x + y * y) - x) / y); - } - - // needed in order to work with boost::geometry::math::mod - template - inline Big mod(Big const& x, - Big const& y) - { - return Mod(x, y); - } -} - -// Specific structure implementing constructor -// (WHICH IS NECESSARY FOR Boost.Geometry because it enables using T() !! ) -struct ttmath_big : ttmath::Big<1,4> -{ - ttmath_big(double v = 0) - : ttmath::Big<1,4>(v) - {} - ttmath_big(ttmath::Big<1,4> const& v) - : ttmath::Big<1,4>(v) - {} - - // unary operator+() is implemented for completeness - inline ttmath_big const& operator+() const - { - return *this; - } - - // needed in order to work with boost::geometry::math::abs - inline ttmath_big operator-() const - { - return ttmath::Big<1,4>::operator-(); - } - - /* - inline operator double() const - { - return atof(this->ToString().c_str()); - } - - inline operator int() const - { - return atol(ttmath::Round(*this).ToString().c_str()); - } - */ -}; - - -// arithmetic operators for ttmath_big objects, defined as free functions -inline ttmath_big operator+(ttmath_big const& x, ttmath_big const& y) -{ - return static_cast const&>(x).operator+(y); -} - -inline ttmath_big operator-(ttmath_big const& x, ttmath_big const& y) -{ - return static_cast const&>(x).operator-(y); -} - -inline ttmath_big operator*(ttmath_big const& x, ttmath_big const& y) -{ - return static_cast const&>(x).operator*(y); -} - -inline ttmath_big operator/(ttmath_big const& x, ttmath_big const& y) -{ - return static_cast const&>(x).operator/(y); -} - - -namespace boost{ namespace geometry { namespace math -{ - -namespace detail -{ - // Workaround for boost::math::constants::pi: - // 1) lexical cast -> stack overflow and - // 2) because it is implemented as a function, generic implementation not possible - - // Partial specialization for ttmath - template - struct define_half_pi > - { - static inline ttmath::Big apply() - { - static ttmath::Big const half_pi( - "1.57079632679489661923132169163975144209858469968755291048747229615390820314310449931401741267105853399107404325664115332354692230477529111586267970406424055872514205135096926055277982231147447746519098"); - return half_pi; - } - }; - - // Partial specialization for ttmath - template - struct define_pi > - { - static inline ttmath::Big apply() - { - static ttmath::Big const the_pi( - "3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196"); - return the_pi; - } - }; - - // Partial specialization for ttmath - template - struct define_two_pi > - { - static inline ttmath::Big apply() - { - static ttmath::Big const two_pi( - "6.28318530717958647692528676655900576839433879875021164194988918461563281257241799725606965068423413596429617302656461329418768921910116446345071881625696223490056820540387704221111928924589790986076392"); - return two_pi; - } - }; - - template <> - struct define_half_pi - : public define_half_pi > - {}; - - template <> - struct define_pi - : public define_pi > - {}; - - template <> - struct define_two_pi - : public define_two_pi > - {}; - - template - struct equals_with_epsilon, false> - { - static inline bool apply(ttmath::Big const& a, ttmath::Big const& b) - { - // See implementation in util/math.hpp - // But here borrow the tolerance for double, to avoid exact comparison - ttmath::Big const epsilon = std::numeric_limits::epsilon(); - return ttmath::Abs(a - b) <= epsilon * ttmath::Abs(a); - } - }; - - template <> - struct equals_with_epsilon - : public equals_with_epsilon, false> - {}; - -} // detail - -} // ttmath - - -namespace detail -{ - -template -struct coordinate_cast > -{ - static inline ttmath::Big apply(std::string const& source) - { - return ttmath::Big (source); - } -}; - - -template <> -struct coordinate_cast -{ - static inline ttmath_big apply(std::string const& source) - { - return ttmath_big(source); - } -}; - -} // namespace detail - - -}} // boost::geometry - - - - -// Support for boost::numeric_cast to int and to double (necessary for SVG-mapper) -namespace boost { namespace numeric -{ - -template -< - ttmath::uint Exponent, ttmath::uint Mantissa, - typename Traits, - typename OverflowHandler, - typename Float2IntRounder, - typename RawConverter, - typename UserRangeChecker -> -struct converter, Traits, OverflowHandler, Float2IntRounder, RawConverter, UserRangeChecker> -{ - static inline int convert(ttmath::Big arg) - { - int v; - arg.ToInt(v); - return v; - } -}; - -template -< - ttmath::uint Exponent, ttmath::uint Mantissa, - typename Traits, - typename OverflowHandler, - typename Float2IntRounder, - typename RawConverter, - typename UserRangeChecker -> -struct converter, Traits, OverflowHandler, Float2IntRounder, RawConverter, UserRangeChecker> -{ - static inline double convert(ttmath::Big arg) - { - double v; - arg.ToDouble(v); - return v; - } -}; - - -template -< - typename Traits, - typename OverflowHandler, - typename Float2IntRounder, - typename RawConverter, - typename UserRangeChecker -> -struct converter -{ - static inline int convert(ttmath_big arg) - { - int v; - arg.ToInt(v); - return v; - } -}; - -template -< - typename Traits, - typename OverflowHandler, - typename Float2IntRounder, - typename RawConverter, - typename UserRangeChecker -> -struct converter -{ - static inline double convert(ttmath_big arg) - { - double v; - arg.ToDouble(v); - return v; - } -}; - - -}} - - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/geographic/core/cs.hpp b/3party/boost/boost/geometry/extensions/gis/geographic/core/cs.hpp deleted file mode 100644 index 878241e1ee..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/geographic/core/cs.hpp +++ /dev/null @@ -1,81 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_CORE_CS_HPP -#define BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_CORE_CS_HPP - - - -namespace boost { namespace geometry -{ - -namespace cs -{ - -/*! - \brief EPSG Cartesian coordinate system - \details EPSG (European Petrol Survey Group) has a standard list of projections, - each having a code - \see - \ingroup cs - \tparam Code the EPSG code - \todo Maybe derive from boost::mpl::int_ -*/ -template -struct epsg -{ - static const std::size_t epsg_code = Code; -}; - - - -/*! - \brief Earth Centered, Earth Fixed - \details Defines a Cartesian coordinate system x,y,z with the center of the earth as its origin, - going through the Greenwich - \see http://en.wikipedia.org/wiki/ECEF - \see http://en.wikipedia.org/wiki/Geodetic_system - \note Also known as "Geocentric", but geocentric is also an astronomic coordinate system - \ingroup cs -*/ -struct ecef -{ -}; - - -} // namespace cs - -namespace traits -{ - -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS - -template<> -struct cs_tag -{ - typedef cartesian_tag type; -}; - -template -struct cs_tag > -{ - typedef cartesian_tag type; -}; - -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS -} // namespace traits - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_CORE_CS_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/geographic/strategies/area_huiller_earth.hpp b/3party/boost/boost/geometry/extensions/gis/geographic/strategies/area_huiller_earth.hpp deleted file mode 100644 index 8116279f4a..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/geographic/strategies/area_huiller_earth.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_STRATEGIES_AREA_HUILLER_EARTH_HPP -#define BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_STRATEGIES_AREA_HUILLER_EARTH_HPP - - - -#include - - -namespace boost { namespace geometry -{ - -namespace strategy { namespace area -{ - -template -< - typename PointOfSegment, - typename CalculationType = void -> -class huiller_earth - : public huiller -{ -public : - // By default the average earth radius. - // Uses can specify another radius. - // Note that the earth is still handled spherically - inline huiller_earth(double radius = 6372795.0) - : huiller(radius) - {} -}; - - -#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS - -namespace services -{ - -template -struct default_strategy -{ - typedef huiller_earth type; -}; - -} // namespace services - - -#endif - - -}} // namespace strategy::area - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_STRATEGIES_AREA_HUILLER_EARTH_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/geographic/strategies/distance_cross_track.hpp b/3party/boost/boost/geometry/extensions/gis/geographic/strategies/distance_cross_track.hpp deleted file mode 100644 index 4e00c4b74c..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/geographic/strategies/distance_cross_track.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_STRATEGIES_GEOGRAPHIC_DISTANCE_CROSS_TRACK_HPP -#define BOOST_GEOMETRY_EXTENSIONS_STRATEGIES_GEOGRAPHIC_DISTANCE_CROSS_TRACK_HPP - - -#include -#include -#include - - -#include - - - -#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS -namespace boost { namespace geometry -{ - -namespace strategy { namespace distance -{ - -namespace services -{ - - -template -struct default_strategy -{ - typedef cross_track - < - void, - typename boost::mpl::if_ - < - boost::is_void, - typename default_strategy - < - point_tag, point_tag, Point, PointOfSegment, - geographic_tag, geographic_tag - >::type, - Strategy - >::type - > type; -}; - - - -} // namespace services -#endif // DOXYGEN_NO_STRATEGY_SPECIALIZATIONS - - -}} // namespace strategy::distance - - -#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS - - -#endif - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXTENSIONS_STRATEGIES_GEOGRAPHIC_DISTANCE_CROSS_TRACK_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/geographic/strategies/dms_parser.hpp b/3party/boost/boost/geometry/extensions/gis/geographic/strategies/dms_parser.hpp deleted file mode 100644 index 5fb829c525..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/geographic/strategies/dms_parser.hpp +++ /dev/null @@ -1,278 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_STRATEGIES_DMS_PARSER_HPP -#define BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_STRATEGIES_DMS_PARSER_HPP - -// This file is totally revised from PROJ4 dmstor.c - -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include - -#if !defined(BOOST_GEOMETRY_NO_LEXICAL_CAST) -#include -#endif // !defined(BOOST_GEOMETRY_NO_LEXICAL_CAST) - -#include - -#include -#include - -#include - -namespace boost { namespace geometry -{ - - -struct dms_result -{ - enum axis_selector {axis_lat = 1, axis_lon = 0}; - - private : - typedef double T; - T m_angle; - axis_selector m_axis; - - public : - - explicit dms_result(T const& v, axis_selector ax) - : m_angle(v) - , m_axis(ax) - {} - - inline axis_selector axis() const { return m_axis; } - - inline operator double() const { return m_angle; } - - template - inline friend std::basic_ostream& operator<<(std::basic_ostream& os, - const dms_result& d) - { - os << d.m_angle; - return os; - } - -}; - - -namespace strategy -{ - - template - struct dms_parser - { - - - // Question from Barend: can we compile-time select that it is case-sensitive/case-insensitive? - // We have to change the switch then -> specializations - - // For now: make it (compile-time) case sensitive - static const int diff = 'a' - 'A'; -#ifndef __GNUC__ - BOOST_STATIC_ASSERT((diff > 0)); // make sure we've the right assumption. GCC does not accept this here. -#endif - static const char n_alter = N <= 'Z' ? N + diff : N - diff; - static const char e_alter = E <= 'Z' ? E + diff : E - diff; - static const char s_alter = S <= 'Z' ? S + diff : S - diff; - static const char w_alter = W <= 'Z' ? W + diff : W - diff; - - static const char r_alter = R <= 'Z' ? R + diff : R - diff; - - // degree is normally D (proj4) but might be superscript o - // Note d_alter is not correct then, so map it to NULL now, guarded by the while - static const char d_alter = - ((D >= 'A' && D <= 'Z') || (D >= 'a' && D <= 'z')) ? (D <= 'Z' ? D + diff : D - diff) : '\0'; - - - struct dms_value - { - double dms[3]; - bool has_dms[3]; - - dms_value() - { - memset(this, 0, sizeof(dms_value)); - } - }; - - - template - static inline void assign_dms(dms_value& dms, std::string& value, bool& has_value) - { -#if !defined(BOOST_GEOMETRY_NO_LEXICAL_CAST) - dms.dms[I] = boost::lexical_cast(value.c_str()); -#else // !defined(BOOST_GEOMETRY_NO_LEXICAL_CAST) - dms.dms[I] = std::atof(value.c_str()); -#endif // !defined(BOOST_GEOMETRY_NO_LEXICAL_CAST) - dms.has_dms[I] = true; - has_value = false; - value.clear(); - } - - static inline void process(dms_value& dms, std::string& value, bool& has_value) - { - if (has_value) - { - // Assign last one, sequentially - if (! dms.has_dms[0]) assign_dms<0>(dms, value, has_value); - else if (! dms.has_dms[1]) assign_dms<1>(dms, value, has_value); - else if (! dms.has_dms[2]) assign_dms<2>(dms, value, has_value); - } - } - - - dms_result operator()(const char* is) const - { - dms_value dms; - bool has_value = false; - std::string value; - - double factor = 1.0; // + denotes N/E values, -1 denotes S/W values - dms_result::axis_selector axis = dms_result::axis_lon; // true denotes N/S values - bool in_radian = false; // true denotes values as "0.1R" - - while(*is) - { - switch(*is) - { - case '-' : - if (! has_value && ! dms.has_dms[0]) - { - factor = -factor; - } - break; - case N : - case n_alter : - axis = dms_result::axis_lat; - break; - case S : - case s_alter : - axis = dms_result::axis_lat; - factor = -factor; - break; - case E : - case e_alter : - axis = dms_result::axis_lon; - break; - case W : - case w_alter : - axis = dms_result::axis_lon; - factor = -factor; - break; - case D : - case d_alter : - if (! dms.has_dms[0] && has_value) - { - assign_dms<0>(dms, value, has_value); - } - break; - case R : - case r_alter : - if (! dms.has_dms[0] && has_value) - { - // specified value is in radian! - in_radian = true; - assign_dms<0>(dms, value, has_value); - } - break; - case MIN: - if (! dms.has_dms[1] && has_value) - { - assign_dms<1>(dms, value, has_value); - } - break; - case SEC : - if (! dms.has_dms[2] && has_value) - { - assign_dms<2>(dms, value, has_value); - } - break; - case ' ' : - case '\t' : - case '\n' : - process(dms, value, has_value); - break; - default : - value += *is; - has_value = true; - break; - } - is++; - } - - // Assign last one, if any - process(dms, value, has_value); - - double const d2r = math::d2r(); - double const r2d = math::r2d(); - - return dms_result(factor * - (in_radian && as_radian - ? dms.dms[0] - : in_radian && ! as_radian - ? dms.dms[0] * r2d - : ! in_radian && as_radian - ? dms.dms[0] * d2r + dms.dms[1] * d2r / 60.0 + dms.dms[2] * d2r / 3600.0 - : dms.dms[0] + dms.dms[1] / 60.0 + dms.dms[2] / 3600.0) - , axis); - } - }; - -} - - -#ifndef DOXYGEN_NO_STRATEGY_SPECIALIZATIONS - -template class CoordinateSystem> -struct strategy_parse > -{ - typedef strategy::dms_parser type; -}; - - -template class CoordinateSystem> -struct strategy_parse > -{ - typedef strategy::dms_parser type; -}; - -#endif - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_GIS_GEOGRAPHIC_STRATEGIES_DMS_PARSER_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/shapelib/dbf_write_attribute.hpp b/3party/boost/boost/geometry/extensions/gis/io/shapelib/dbf_write_attribute.hpp deleted file mode 100644 index 4ed21de768..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/shapelib/dbf_write_attribute.hpp +++ /dev/null @@ -1,87 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_DBF_WRITE_ATTRIBUTE_HPP -#define BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_DBF_WRITE_ATTRIBUTE_HPP - - - - -// Should be somewhere in your include path -#include "shapefil.h" - - - -namespace boost { namespace geometry -{ - -namespace detail -{ - -// Called with promote so not all cases necessary -template struct DBFFieldType {}; -template <> struct DBFFieldType { static ::DBFFieldType const value = FTInteger; }; -template <> struct DBFFieldType { static ::DBFFieldType const value = FTDouble; }; -template <> struct DBFFieldType { static ::DBFFieldType const value = FTString; }; - -// Also called with promote -template struct DBFWriteAttribute -{ -}; - -template <> struct DBFWriteAttribute -{ - template - inline static void apply(DBFHandle dbf, int row_index, int field_index, - T const& value) - { - DBFWriteIntegerAttribute(dbf, row_index, field_index, value); - } -}; - -template <> struct DBFWriteAttribute -{ - template - inline static void apply(DBFHandle dbf, int row_index, int field_index, - T const& value) - { - DBFWriteDoubleAttribute(dbf, row_index, field_index, value); - } -}; - -template <> struct DBFWriteAttribute -{ - inline static void apply(DBFHandle dbf, int row_index, int field_index, - std::string const& value) - { - DBFWriteStringAttribute(dbf, row_index, field_index, value.c_str()); - } -}; - -// Derive char* variants from std::string, -// implicitly casting to a temporary std::string -// (note that boost::remove_const does not remove const from "const char*") -template -struct DBFWriteAttribute : DBFWriteAttribute {}; - -template -struct DBFWriteAttribute : DBFWriteAttribute {}; - -template <> -struct DBFWriteAttribute : DBFWriteAttribute {}; - -template <> -struct DBFWriteAttribute : DBFWriteAttribute {}; - -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_DBF_WRITE_ATTRIBUTE_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shape_creator.hpp b/3party/boost/boost/geometry/extensions/gis/io/shapelib/shape_creator.hpp deleted file mode 100644 index eeabbc891d..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shape_creator.hpp +++ /dev/null @@ -1,154 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHAPE_CREATOR_HPP -#define BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHAPE_CREATOR_HPP - -#include -#include "shapefil.h" - -#include -#include - -#include - -#include -#include -#include - -namespace boost { namespace geometry -{ - -class shapelib_file_create_exception : public geometry::exception -{ -public: - - inline shapelib_file_create_exception(std::string const& filename) - : m_filename(filename) - {} - - virtual char const* what() const throw() - { - return m_filename.c_str(); - } -private : - std::string m_filename; -}; - -namespace detail -{ - -template -struct SHPType -{ -}; - -template <> struct SHPType { static int const value = SHPT_POINT; }; -template <> struct SHPType { static int const value = SHPT_ARC; }; -template <> struct SHPType { static int const value = SHPT_ARC; }; -template <> struct SHPType { static int const value = SHPT_POLYGON; }; -template <> struct SHPType { static int const value = SHPT_POLYGON; }; -template <> struct SHPType { static int const value = SHPT_POLYGON; }; - -template <> struct SHPType { static int const value = SHPT_MULTIPOINT; }; -template <> struct SHPType { static int const value = SHPT_ARC; }; -template <> struct SHPType { static int const value = SHPT_POLYGON; }; - -} // namespace detail - -template -< - typename Geometry, - int ShapeType = detail::SHPType - < - typename geometry::tag::type - >::value -> -class shape_creator : public boost::noncopyable -{ -public : - shape_creator(std::string const& name) - { - m_shp = ::SHPCreate((name + ".shp").c_str(), ShapeType); - m_dbf = ::DBFCreate((name + ".dbf").c_str()); - m_prj_name = name + ".prj"; - - if (m_shp == NULL || m_dbf == NULL) - { - throw shapelib_file_create_exception(name); - } - } - - virtual ~shape_creator() - { - if (m_shp) ::SHPClose(m_shp); - if (m_dbf) ::DBFClose(m_dbf); - } - - // Returns: index in shapefile - inline int AddShape(Geometry const& geometry) - { - // Note: we MIGHT design a small wrapper class which destroys in destructor - ::SHPObject* obj = SHPCreateObject(geometry); - int result = SHPWriteObject(m_shp, -1, obj ); - ::SHPDestroyObject( obj ); - return result; - } - - template - inline void AddField(std::string const& name, int width = 16, int decimals = 0) - { - ::DBFAddField(m_dbf, name.c_str(), - detail::DBFFieldType - < - typename boost::promote::type - >::value, - width, decimals); - } - - template - inline void WriteField(int row_index, int field_index, T const& value) - { - detail::DBFWriteAttribute - < - typename boost::promote::type - >::apply(m_dbf, row_index, field_index, value); - } - - inline void SetSrid(int srid) - { - if (srid == 28992) - { - std::ofstream out(m_prj_name.c_str()); - out << "PROJCS[\"RD_New\"" - << ",GEOGCS[\"GCS_Amersfoort\"" - << ",DATUM[\"D_Amersfoort\"" - << ",SPHEROID[\"Bessel_1841\",6377397.155,299.1528128]]" - << ",PRIMEM[\"Greenwich\",0]" - << ",UNIT[\"Degree\",0.0174532925199432955]]" - << ",PROJECTION[\"Double_Stereographic\"]" - << ",PARAMETER[\"False_Easting\",155000]" - << ",PARAMETER[\"False_Northing\",463000]" - << ",PARAMETER[\"Central_Meridian\",5.38763888888889]" - << ",PARAMETER[\"Scale_Factor\",0.9999079]" - << ",PARAMETER[\"Latitude_Of_Origin\",52.15616055555555]" - << ",UNIT[\"Meter\",1]]" - << std::endl; - } - } - -private : - ::SHPHandle m_shp; - ::DBFHandle m_dbf; - std::string m_prj_name; - -}; - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHAPE_CREATOR_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shape_reader.hpp b/3party/boost/boost/geometry/extensions/gis/io/shapelib/shape_reader.hpp deleted file mode 100644 index 4c1ca7b431..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shape_reader.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHAPE_READER_HPP -#define BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHAPE_READER_HPP - -#include -#include "shapefil.h" - - -#include -#include - -#include - - -namespace boost { namespace geometry -{ - - - -namespace detail -{ - - -template -class shape_reader : public boost::noncopyable -{ -public : - shape_reader(std::string const& name) - { - m_shp = ::SHPOpen((name + ".shp").c_str(), "rb"); - m_dbf = ::DBFOpen((name + ".dbf").c_str(), "rb"); - - if (m_shp == NULL || m_dbf == NULL) - { - throw shapelib_file_open_exception(name); - } - - double adfMinBound[4], adfMaxBound[4]; - SHPGetInfo(m_shp, &m_count, &m_shape_type, adfMinBound, adfMaxBound ); - - } - virtual ~shape_reader() - { - if (m_shp) ::SHPClose(m_shp); - if (m_dbf) ::DBFClose(m_dbf); - } - - inline int count() const { return m_count; } - - - - -private : - ::SHPHandle m_shp; - ::DBFHandle m_dbf; - int m_count; - int m_shape_type; - -}; - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHAPE_READER_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_create_object.hpp b/3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_create_object.hpp deleted file mode 100644 index 0c8ad37e47..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_create_object.hpp +++ /dev/null @@ -1,232 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHP_CREATE_OBJECT_HPP -#define BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHP_CREATE_OBJECT_HPP - - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - - -// Should be somewhere in your include path -#include "shapefil.h" - - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace shp_create_object -{ - -template -struct shape_create_point -{ - - static inline SHPObject* apply(Point const& point) - { - double x = get<0>(point); - double y = get<1>(point); - - int const parts = 0; - - return ::SHPCreateObject(SHPT_POINT, -1, 1, &parts, NULL, - 1, &x, &y, NULL, NULL); - } -}; - - -template -static inline int range_to_part(Range const& range, double* x, double* y, int offset = 0) -{ - x += offset; - y += offset; - - for (typename boost::range_iterator::type - it = boost::begin(range); - it != boost::end(range); - ++it, ++x, ++y) - { - *x = get<0>(*it); - *y = get<1>(*it); - offset++; - } - return offset; -} - - -template -struct shape_create_range -{ - static inline SHPObject* apply(Range const& range) - { - int const n = boost::size(range); - - boost::scoped_array x(new double[n]); - boost::scoped_array y(new double[n]); - - range_to_part(range, x.get(), y.get()); - - int const parts = 0; - - return ::SHPCreateObject(ShapeType, -1, 1, &parts, NULL, - n, x.get(), y.get(), NULL, NULL); - } -}; - - -template -struct shape_create_polygon -{ - static inline void process_polygon(Polygon const& polygon, - double* xp, double* yp, int* parts, - int& offset, int& ring) - { - parts[ring++] = offset; - offset = range_to_part(geometry::exterior_ring(polygon), xp, yp, offset); - - typename interior_return_type::type rings - = interior_rings(polygon); - - typedef typename boost::range_const_iterator - < - typename interior_type::type - >::type ring_iterator; - - for (ring_iterator it = boost::begin(rings); it != boost::end(rings); ++it) - { - parts[ring++] = offset; - offset = range_to_part(*it, xp, yp, offset); - } - } - - static inline SHPObject* apply(Polygon const& polygon) - { - int const n = geometry::num_points(polygon); - int const ring_count = 1 + geometry::num_interior_rings(polygon); - - boost::scoped_array x(new double[n]); - boost::scoped_array y(new double[n]); - boost::scoped_array parts(new int[ring_count]); - - int ring = 0; - int offset = 0; - - process_polygon(polygon, x.get(), y.get(), parts.get(), offset, ring); - - return ::SHPCreateObject(SHPT_POLYGON, -1, ring_count, parts.get(), NULL, - n, x.get(), y.get(), NULL, NULL); - } -}; - -template -struct shape_create_adapted_range -{ - static inline SHPObject* apply(Geometry const& geometry) - { - return shape_create_range::apply(AdaptedRange(geometry)); - } -}; - - - -}} // namespace detail::shp_create_object -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct shp_create_object -{ - BOOST_MPL_ASSERT_MSG - ( - false, NOT_OR_NOT_YET_IMPLEMENTED_FOR_THIS_GEOMETRY_TYPE - , (Geometry) - ); -}; - - -template -struct shp_create_object - : detail::shp_create_object::shape_create_point -{}; - - -template -struct shp_create_object - : detail::shp_create_object::shape_create_range -{}; - - -template -struct shp_create_object - : detail::shp_create_object::shape_create_range -{}; - - -template -struct shp_create_object - : detail::shp_create_object::shape_create_polygon -{}; - -template -struct shp_create_object - : detail::shp_create_object::shape_create_adapted_range - < - Box, - box_view, - SHPT_POLYGON - > -{}; - -template -struct shp_create_object - : detail::shp_create_object::shape_create_adapted_range - < - Segment, - segment_view, - SHPT_ARC - > -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -// Redirect shapelib's SHPCreateObject to this boost::geometry::SHPCreateObject. -// The only difference is their parameters, one just accepts a geometry -template -inline SHPObject* SHPCreateObject(Geometry const& geometry) -{ - return dispatch::shp_create_object - < - typename tag::type, Geometry - >::apply(geometry); -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHP_CREATE_OBJECT_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_create_object_multi.hpp b/3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_create_object_multi.hpp deleted file mode 100644 index b265231d30..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_create_object_multi.hpp +++ /dev/null @@ -1,147 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHP_CREATE_OBJECT_MULTI_HPP -#define BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHP_CREATE_OBJECT_MULTI_HPP - - -#include - -#include - -#include -#include -#include - -#include - - - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace shp_create_object -{ - - -template -struct shape_create_multi_point -{ - static inline SHPObject* apply(MultiPoint const& multi) - { - int const n = boost::size(multi); - boost::scoped_array x(new double[n]); - boost::scoped_array y(new double[n]); - - range_to_part(multi, x.get(), y.get()); - - int const parts = 0; - return ::SHPCreateObject(SHPT_MULTIPOINT, -1, 1, &parts, NULL, - n, x.get(), y.get(), NULL, NULL); - } -}; - - - -template -struct shape_create_multi_linestring -{ - static inline SHPObject* apply(MultiLinestring const& multi) - { - int const n = geometry::num_points(multi); - int const part_count = boost::size(multi); - - boost::scoped_array x(new double[n]); - boost::scoped_array y(new double[n]); - boost::scoped_array parts(new int[part_count]); - - int ring = 0; - int offset = 0; - - for (typename boost::range_iterator::type - it = boost::begin(multi); - it != boost::end(multi); - ++it) - { - parts[ring++] = offset; - offset = range_to_part(*it, x.get(), y.get(), offset); - } - - return ::SHPCreateObject(SHPT_ARC, -1, part_count, parts.get(), NULL, - n, x.get(), y.get(), NULL, NULL); - } -}; - - -template -struct shape_create_multi_polygon -{ - static inline SHPObject* apply(MultiPolygon const& multi) - { - int const n = geometry::num_points(multi); - int const ring_count = boost::size(multi) + geometry::num_interior_rings(multi); - - boost::scoped_array x(new double[n]); - boost::scoped_array y(new double[n]); - boost::scoped_array parts(new int[ring_count]); - - int ring = 0; - int offset = 0; - - typedef typename boost::range_value::type polygon_type; - for (typename boost::range_iterator::type - it = boost::begin(multi); - it != boost::end(multi); - ++it) - { - shape_create_polygon::process_polygon(*it, x.get(), y.get(), parts.get(), - offset, ring); - } - - return ::SHPCreateObject(SHPT_POLYGON, -1, ring_count, parts.get(), NULL, - n, x.get(), y.get(), NULL, NULL); - } -}; - - -}} // namespace detail::shp_create_object -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct shp_create_object - : detail::shp_create_object::shape_create_multi_point -{}; - - -template -struct shp_create_object - : detail::shp_create_object::shape_create_multi_linestring -{}; - - -template -struct shp_create_object - : detail::shp_create_object::shape_create_multi_polygon -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHP_CREATE_OBJECT_MULTI_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_read_object.hpp b/3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_read_object.hpp deleted file mode 100644 index 73204a9536..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/shapelib/shp_read_object.hpp +++ /dev/null @@ -1,225 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHP_READ_OBJECT_HPP -#define BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHP_READ_OBJECT_HPP - - -#include -#include -#include - -#include -#include -#include -#include - - -// Should be somewhere in your include path -#include "shapefil.h" - - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace shp_read_object -{ - - -template -struct sort_on_area_desc -{ - inline bool operator()(Pair const& left, Pair const& right) - { - return left.second > right.second; - } -}; - - - -template -struct read_linestring -{ - static inline SHPObject* apply(LineString const& linestring) - { - typedef typename geometry::point_type::type point_type; - - if (shape.nSHPType == SHPT_ARCZ && shape.nParts == 1) - { - double* const x = shape.padfX; - double* const y = shape.padfY; - - for (int i = 0; i < shape.nVertices; i++) - { - point_type point; - geometry::set<0>(point, x[i]); - geometry::set<1>(point, y[i]); - - linestring.push_back(point); - } - return true; - } - return false; - - } -}; - - -template -struct read_polygon -{ - static inline SHPObject* apply(Polygon const& polygon) - { - typedef typename geometry::point_type::type point_type; - typedef typename geometry::ring_type::type ring_type; - - if (shape.nSHPType == SHPT_POLYGON) - { - //std::cout << shape.nParts << " " << shape.nVertices << std::endl; - - double* const x = shape.padfX; - double* const y = shape.padfY; - - typedef std::pair ring_plus_area; - std::vector rings; - rings.resize(shape.nParts); - - int v = 0; - for (int p = 0; p < shape.nParts; p++) - { - int const first = shape.panPartStart[p]; - int const last = p + 1 < shape.nParts - ? shape.panPartStart[p + 1] - : shape.nVertices; - - for (v = first; v < last; v++) - { - point_type point; - geometry::set<0>(point, x[v]); - geometry::set<1>(point, y[v]); - rings[p].first.push_back(point); - } - rings[p].second = geometry::math::abs(geometry::area(rings[p].first)); - } - - if (rings.size() > 1) - { - // Sort rings on area - std::sort(rings.begin(), rings.end(), - sort_on_area_desc()); - // Largest area (either positive or negative) is outer ring - // Rest of the rings are holes - geometry::exterior_ring(polygon) = rings.front().first; - for (int i = 1; i < rings.size(); i++) - { - geometry::interior_rings(polygon).push_back(rings[i].first); - if (! geometry::within(rings[i].first.front(), geometry::exterior_ring(polygon)) - && ! geometry::within(rings[i].first.at(1), geometry::exterior_ring(polygon)) - ) - { - #if ! defined(NDEBUG) - std::cout << "Error: inconsistent ring!" << std::endl; - BOOST_FOREACH(ring_plus_area const& r, rings) - { - std::cout << geometry::area(r.first) << " " - << geometry::wkt(r.first.front()) << " " - << std::endl; - } - #endif - } - } - } - else if (rings.size() == 1) - { - geometry::exterior_ring(polygon) = rings.front().first; - } - return true; - } - return false; - } -}; - - - -}} // namespace detail::shp_read_object -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - - -template -struct shp_read_object -{ - BOOST_MPL_ASSERT_MSG - ( - false, NOT_OR_NOT_YET_IMPLEMENTED_FOR_THIS_GEOMETRY_TYPE - , (Geometry) - ); -}; - - -template -struct shp_read_object - : detail::shp_read_object::read_linestring -{}; - - - - -template -struct shp_read_object - : detail::shp_read_object::read_polygon -{}; - - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -template -inline void read_shapefile(std::string const& filename, - std::vector& geometries) -{ - - try - { - // create shape_reader - - for (int i = 0; i < shape_reader.Count(); i++) - { - SHPObject* psShape = SHPReadObject(shp_handle, i); - Geometry geometry; - if (dispatch::shp_read_object(*psShape, geometry)) - { - geometries.push_back(geometry); - } - SHPDestroyObject( psShape ); - } - - } - catch(std::string s) - { - throw s; - } - catch(...) - { - throw std::string("Other exception"); - } -} - - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXT_GIS_IO_SHAPELIB_SHP_READ_OBJECT_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/veshape/write_veshape.hpp b/3party/boost/boost/geometry/extensions/gis/io/veshape/write_veshape.hpp deleted file mode 100644 index 4b4caffc04..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/veshape/write_veshape.hpp +++ /dev/null @@ -1,281 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_IO_VESHAPE_WRITE_VESHAPE_HPP -#define BOOST_GEOMETRY_IO_VESHAPE_WRITE_VESHAPE_HPP - -#include -#include - -#include -#include - - -#include -#include -#include - -#include - - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace veshape -{ - - -// Define the coordinate streamer, specialized for either 2 or 3 dimensions. -// Any other number of dimensions make no sense for VE, and we have to take care about -// the order lat,long (--> y,x) -template -struct stream_coordinate {}; - - -template -struct stream_coordinate -{ - template - static inline void stream(std::basic_ostream& os, P const& p) - { - os << geometry::get<1>(p) << "," << geometry::get<0>(p); - } -}; - -template -struct stream_coordinate -{ - template - static inline void stream(std::basic_ostream& os, P const& p) - { - stream_coordinate::stream(os, p); - os << "," << geometry::get<2>(p); - } -}; - - -template -struct stream_point -{ - template - static inline void stream(std::basic_ostream& os, P const& p) - { - os << "new VELatLong("; - stream_coordinate::value>::stream(os, p); - os << ")"; - } -}; - - - -struct prefix_point -{ - static inline const char* prefix() - { return "new VEShape(VEShapeType.Pushpin, "; } - - static inline const char* postfix() - { return ")"; } -}; - -struct prefix_linestring -{ - static inline const char* prefix() - { return "new VEShape(VEShapeType.Polyline, "; } - - static inline const char* postfix() - { return ")"; } -}; - - -struct prefix_polygon -{ - static inline const char* prefix() - { return "new VEShape(VEShapeType.Polygon, "; } - - static inline const char* postfix() - { return ")"; } -}; - -/*! -\brief Stream points as \ref VEShape -*/ -template -struct veshape_point -{ - template - static inline void stream(std::basic_ostream& os, P const& p) - { - os << Policy::prefix(); - stream_point

::stream(os, p); - os << Policy::postfix(); - } - - private: - BOOST_CONCEPT_ASSERT( (concept::ConstPoint

) ); -}; - -/*! -\brief Stream ranges as VEShape -\note policy is used to stream prefix/postfix, enabling derived classes to override this -*/ -template -struct veshape_range -{ - template - static inline void stream(std::basic_ostream& os, R const& range) - { - typedef typename boost::range_iterator::type iterator; - - bool first = true; - - os << Policy::prefix() << "new Array("; - - for (iterator it = boost::begin(range); it != boost::end(range); ++it) - { - os << (first ? "" : ", "); - stream_point::stream(os, *it); - first = false; - } - - os << ")" << Policy::postfix(); - } - - private: - typedef typename boost::range_value::type point; - BOOST_CONCEPT_ASSERT( (concept::ConstPoint) ); -}; - - - -template -struct veshape_poly -{ - template - static inline void stream(std::basic_ostream& os, P const& poly) - { - typedef typename ring_type

::type ring; - - veshape_range::stream(os, exterior_ring(poly)); - - // For VE shapes: inner rings are not supported or undocumented - /*** - for (iterator it = boost::begin(interior_rings(poly)); - it != boost::end(interior_rings(poly)); it++) - { - os << ","; - veshape_range::stream(os, *it); - } - os << ")"; - ***/ - } - - private: - BOOST_CONCEPT_ASSERT( (concept::ConstPoint::type>) ); -}; - - - -}} // namespace detail::veshape -#endif // DOXYGEN_NO_DETAIL - - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -/*! -\brief Dispatching base struct for VEShape streaming, specialized below per geometry type -\details Specializations should implement a static method "stream" to stream a geometry -The static method should have the signature: - -template -static inline void stream(std::basic_ostream& os, G const& geometry) -*/ -template -struct veshape -{}; - - -template -struct veshape - : detail::veshape::veshape_point -{}; - - -template -struct veshape - : detail::veshape::veshape_range -{}; - - -template -struct veshape - : detail::veshape::veshape_range -{}; - - -template -struct veshape - : detail::veshape::veshape_poly -{}; - - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -/*! -\brief Generic geometry template manipulator class, takes corresponding output class from traits class -\ingroup veshape -\details Stream manipulator, streams geometry classes as Virtual Earth shape -*/ -template -class veshape_manip -{ -public: - - inline veshape_manip(G const& g) - : m_geometry(g) - {} - - template - inline friend std::basic_ostream& operator<<( - std::basic_ostream& os, veshape_manip const& m) - { - dispatch::veshape::type, G>::stream(os, m.m_geometry); - os.flush(); - return os; - } - -private: - G const& m_geometry; -}; - -/*! -\brief Object generator to conveniently stream objects without including streamveshape -\ingroup veshape -\par Example: -Small example showing how to use the veshape helper function -\dontinclude doxygen_1.cpp -\skip example_as_veshape_vector -\line { -\until } -*/ -template -inline veshape_manip veshape(T const& t) -{ - return veshape_manip(t); -} - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_IO_VESHAPE_WRITE_VESHAPE_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/endian.hpp b/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/endian.hpp deleted file mode 100644 index dbf060217a..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/endian.hpp +++ /dev/null @@ -1,262 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// 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) - -// Load/Store values from/to stream of bytes across different endianness. - -// Original design of unrolled_byte_loops templates based on -// endian utility library from Boost C++ Libraries, -// source: boost/spirit/home/support/detail/integer/endian.hpp -// Copyright Darin Adler 2000 -// Copyright Beman Dawes 2006, 2009 -// Distributed under the Boost Software License, Version 1.0. - -#ifndef BOOST_GEOMETRY_DETAIL_ENDIAN_HPP -#define BOOST_GEOMETRY_DETAIL_ENDIAN_HPP - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#if CHAR_BIT != 8 -#error Platforms with CHAR_BIT != 8 are not supported -#endif - -// TODO: mloskot - add static asserts to validate compile-time pre-conditions - -namespace boost { namespace geometry -{ - -namespace detail { namespace endian -{ - -// Endianness tag used to indicate load/store directoin - -struct big_endian_tag {}; -struct little_endian_tag {}; - -#ifdef BOOST_BIG_ENDIAN -typedef big_endian_tag native_endian_tag; -#else -typedef little_endian_tag native_endian_tag; -#endif - -// Unrolled loops for loading and storing streams of bytes. - -template ::value> -struct unrolled_byte_loops -{ - typedef unrolled_byte_loops next; - - template - static T load_forward(Iterator& bytes) - { - T const value = *bytes; - ++bytes; - return value | (next::load_forward(bytes) << 8); - } - - template - static T load_backward(Iterator& bytes) - { - T const value = *(bytes - 1); - --bytes; - return value | (next::load_backward(bytes) << 8); - } - - template - static void store_forward(Iterator& bytes, T value) - { - *bytes = static_cast(value); - next::store_forward(++bytes, value >> 8); - } - - template - static void store_backward(Iterator& bytes, T value) - { - *(bytes - 1) = static_cast(value); - next::store_backward(--bytes, value >> 8); - } -}; - -template -struct unrolled_byte_loops -{ - template - static T load_forward(Iterator& bytes) - { - return *bytes; - } - - template - static T load_backward(Iterator& bytes) - { - return *(bytes - 1); - } - - template - static void store_forward(Iterator& bytes, T value) - { - // typename Iterator::value_type - *bytes = static_cast(value); - } - - template - static void store_backward(Iterator& bytes, T value) - { - *(bytes - 1) = static_cast(value); - } -}; - -template -struct unrolled_byte_loops -{ - template - static T load_forward(Iterator& bytes) - { - return *reinterpret_cast(&*bytes); - } - - template - static T load_backward(Iterator& bytes) - { - return *reinterpret_cast(&*(bytes - 1)); - } - - template - static void store_forward(Iterator& bytes, T value) - { - BOOST_STATIC_ASSERT((boost::is_signed::value)); - - *bytes = static_cast(value); - } - - template - static void store_backward(Iterator& bytes, T value) - { - BOOST_STATIC_ASSERT((boost::is_signed::value)); - - *(bytes - 1) = static_cast(value); - } -}; - -// load/store operation dispatch -// E, E - source and target endianness is the same -// E1, E2 - source and target endianness is different (big-endian <-> little-endian) - -template -T load_dispatch(Iterator& bytes, E, E) -{ - return unrolled_byte_loops::load_forward(bytes); -} - -template -T load_dispatch(Iterator& bytes, E1, E2) -{ - std::advance(bytes, N); - return unrolled_byte_loops::load_backward(bytes); -} - -template -void store_dispatch(Iterator& bytes, T value, E, E) -{ - return unrolled_byte_loops::store_forward(bytes, value); -} - -template -void store_dispatch(Iterator& bytes, T value, E1, E2) -{ - std::advance(bytes, N); - return unrolled_byte_loops::store_backward(bytes, value); -} - -// numeric value holder for load/store operation - -template -struct endian_value_base -{ - typedef T value_type; - typedef native_endian_tag endian_type; - - endian_value_base() : value(T()) {} - explicit endian_value_base(T value) : value(value) {} - - operator T() const - { - return value; - } - -protected: - T value; -}; - -template -struct endian_value : public endian_value_base -{ - typedef endian_value_base base; - - endian_value() {} - explicit endian_value(T value) : base(value) {} - - template - void load(Iterator bytes) - { - base::value = load_dispatch(bytes, typename base::endian_type(), E()); - } - - template - void store(Iterator bytes) - { - store_dispatch(bytes, base::value, typename base::endian_type(), E()); - } -}; - -template <> -struct endian_value : public endian_value_base -{ - typedef endian_value_base base; - - endian_value() {} - explicit endian_value(double value) : base(value) {} - - template - void load(Iterator bytes) - { - endian_value raw; - raw.load(bytes); - - double& target_value = base::value; - std::memcpy(&target_value, &raw, sizeof(double)); - } - - template - void store(Iterator bytes) - { - boost::uint64_t raw; - double const& source_value = base::value; - std::memcpy(&raw, &source_value, sizeof(boost::uint64_t)); - - store_dispatch - < - boost::uint64_t, - sizeof(boost::uint64_t) - >(bytes, raw, typename base::endian_type(), E()); - } -}; - -}} // namespace detail::endian -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_DETAIL_ENDIAN_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/ogc.hpp b/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/ogc.hpp deleted file mode 100644 index b854473478..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/ogc.hpp +++ /dev/null @@ -1,176 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// 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) - -#ifndef BOOST_GEOMETRY_IO_WKB_DETAIL_OGC_HPP -#define BOOST_GEOMETRY_IO_WKB_DETAIL_OGC_HPP - -#include - -namespace boost { namespace geometry -{ - -// The well-known binary representation for OGC geometry (WKBGeometry), -// provides a portable representation of a geometry value as a contiguous -// stream of bytes. It permits geometry values to be exchanged between -// a client application and an SQL database in binary form. -// -// Basic Type definitions -// byte : 1 byte -// uint32 : 32 bit unsigned integer (4 bytes) -// double : double precision number (8 bytes) -// -// enum wkbByteOrder -// { -// wkbXDR = 0, // Big Endian -// wkbNDR = 1 // Little Endian -// }; -// -// enum wkbGeometryType -// { -// wkbPoint = 1, -// wkbLineString = 2, -// wkbPolygon = 3, -// wkbMultiPoint = 4, -// wkbMultiLineString = 5, -// wkbMultiPolygon = 6, -// wkbGeometryCollection = 7 -// }; - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace wkb -{ - -// TODO: Replace 'struct' with scoped enum from -// For older Boost, copy -// -// to -// -// and use it. - -struct byte_order_type -{ - enum enum_t - { - xdr = 0, // wkbXDR, bit-endian - ndr = 1, // wkbNDR, little-endian - unknown = 2 // not defined by OGC - }; -}; - -struct geometry_type_ogc -{ - enum enum_t - { - point = 1, - linestring = 2, - polygon = 3 - - // TODO: Not implemented - //multipoint = 4, - //multilinestring = 5, - //multipolygon = 6, - //collection = 7 - }; -}; - -struct geometry_type_ewkt -{ - enum enum_t - { - point = 1, - linestring = 2, - polygon = 3, - - // TODO: Not implemented - //multipoint = 4, - //multilinestring = 5, - //multipolygon = 6, - //collection = 7 - - - pointz = 1001, - linestringz = 1002, - polygonz = 1003 - }; -}; - -struct ogc_policy -{ -}; - -struct ewkt_policy -{ -}; - -template -< - typename Geometry, - geometry_type_ogc::enum_t OgcType, - std::size_t Dim = dimension::value -> -struct geometry_type_impl -{ - static bool check(boost::uint32_t value) - { - return value == get(); - } - - static boost::uint32_t get() - { - return OgcType; - } -}; - -template -< - typename Geometry, - geometry_type_ogc::enum_t OgcType -> -struct geometry_type_impl -{ - static bool check(boost::uint32_t value) - { - return value == get(); - } - - static boost::uint32_t get() - { - return 1000 + OgcType; - } -}; - -template -< - typename Geometry, - typename CheckPolicy = ogc_policy, - typename Tag = typename tag::type -> -struct geometry_type : not_implemented -{ -}; - -template -struct geometry_type - : geometry_type_impl -{}; - -template -struct geometry_type - : geometry_type_impl -{}; - -template -struct geometry_type - : geometry_type_impl -{}; - -}} // namespace detail::wkb -#endif // DOXYGEN_NO_IMPL - -}} // namespace boost::geometry -#endif // BOOST_GEOMETRY_IO_WKB_DETAIL_OGC_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/parser.hpp b/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/parser.hpp deleted file mode 100644 index 8c649d6592..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/parser.hpp +++ /dev/null @@ -1,301 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// 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) - -#ifndef BOOST_GEOMETRY_IO_WKB_DETAIL_PARSER_HPP -#define BOOST_GEOMETRY_IO_WKB_DETAIL_PARSER_HPP - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace wkb -{ - -template -struct value_parser -{ - typedef T value_type; - - template - static bool parse(Iterator& it, Iterator end, T& value, byte_order_type::enum_t order) - { - // Very basic pre-conditions check on stream of bytes passed in - BOOST_STATIC_ASSERT(( - boost::is_integral::value_type>::value - )); - BOOST_STATIC_ASSERT((sizeof(boost::uint8_t) == - sizeof(typename std::iterator_traits::value_type) - )); - - typedef typename std::iterator_traits::difference_type diff_type; - diff_type const required_size = sizeof(T); - if (it != end && std::distance(it, end) >= required_size) - { - typedef endian::endian_value parsed_value_type; - parsed_value_type parsed_value; - - // Decide on direcion of endianness translation, detault to native - if (byte_order_type::xdr == order) - { - parsed_value.template load(it); - } - else if (byte_order_type::ndr == order) - { - parsed_value.template load(it); - } - else - { - parsed_value.template load(it); - } - - value = parsed_value; - std::advance(it, required_size); - return true; - } - - return false; - } -}; - -struct byte_order_parser -{ - template - static bool parse(Iterator& it, Iterator end, byte_order_type::enum_t& order) - { - boost::uint8_t value; - if (value_parser::parse(it, end, value, byte_order_type::unknown)) - { - if (byte_order_type::unknown > value) - { - order = byte_order_type::enum_t(value); - } - return true; - } - return false; - } -}; - -template -struct geometry_type_parser -{ - template - static bool parse(Iterator& it, Iterator end, - byte_order_type::enum_t order) - { - boost::uint32_t value; - if (value_parser::parse(it, end, value, order)) - { - return geometry_type::check(value); - } - return false; - } -}; - -template ::value> -struct parsing_assigner -{ - template - static void run(Iterator& it, Iterator end, P& point, - byte_order_type::enum_t order) - { - typedef typename coordinate_type

::type coordinate_type; - - // coordinate type in WKB is always double - double value(0); - if (value_parser::parse(it, end, value, order)) - { - // actual coordinate type of point may be different - set(point, static_cast(value)); - } - else - { - // TODO: mloskot - Report premature termination at coordinate level - //throw failed to read coordinate value - - // default initialized value as fallback - set(point, coordinate_type()); - } - parsing_assigner::run(it, end, point, order); - } -}; - -template -struct parsing_assigner -{ - template - static void run(Iterator& /*it*/, Iterator /*end*/, P& /*point*/, - byte_order_type::enum_t /*order*/) - { - // terminate - } -}; - -template -struct point_parser -{ - template - static bool parse(Iterator& it, Iterator end, P& point, - byte_order_type::enum_t order) - { - if (geometry_type_parser

::parse(it, end, order)) - { - if (it != end) - { - parsing_assigner

::run(it, end, point, order); - } - return true; - } - return false; - } -}; - -template -struct point_container_parser -{ - template - static bool parse(Iterator& it, Iterator end, C& container, - byte_order_type::enum_t order) - { - typedef typename point_type::type point_type; - - boost::uint32_t num_points(0); - if (!value_parser::parse(it, end, num_points, order)) - { - return false; - } - - typedef typename std::iterator_traits::difference_type size_type; - BOOST_GEOMETRY_ASSERT(num_points <= boost::uint32_t( (std::numeric_limits::max)() ) ); - - size_type const container_size = static_cast(num_points); - size_type const point_size = dimension::value * sizeof(double); - - if (std::distance(it, end) >= (container_size * point_size)) - { - point_type point_buffer; - - // Read coordinates into point and append point to line (ring) - size_type points_parsed = 0; - while (points_parsed < container_size && it != end) - { - parsing_assigner::run(it, end, point_buffer, order); - boost::geometry::append(container, point_buffer); - ++points_parsed; - } - - if (container_size != points_parsed) - { - return false; - } - } - else - { - return false; - } - - return true; - } -}; - -template -struct linestring_parser -{ - template - static bool parse(Iterator& it, Iterator end, L& linestring, - byte_order_type::enum_t order) - { - if (!geometry_type_parser::parse(it, end, order)) - { - return false; - } - - BOOST_GEOMETRY_ASSERT(it != end); - return point_container_parser::parse(it, end, linestring, order); - } -}; - -template -struct polygon_parser -{ - template - static bool parse(Iterator& it, Iterator end, Polygon& polygon, - byte_order_type::enum_t order) - { - if (!geometry_type_parser::parse(it, end, order)) - { - return false; - } - - boost::uint32_t num_rings(0); - if (!value_parser::parse(it, end, num_rings, order)) - { - return false; - } - - typedef typename ring_type::type ring_type; - - std::size_t rings_parsed = 0; - while (rings_parsed < num_rings && it != end) - { - if (0 == rings_parsed) - { - ring_type& ring0 = exterior_ring(polygon); - if (!point_container_parser::parse(it, end, ring0, order)) - { - return false; - } - } - else - { - interior_rings(polygon).resize(rings_parsed); - ring_type& ringN = interior_rings(polygon).back(); - if (!point_container_parser::parse(it, end, ringN, order)) - { - return false; - } - } - ++rings_parsed; - } - - if (num_rings != rings_parsed) - { - return false; - } - - return true; - } -}; - -}} // namespace detail::wkb -#endif // DOXYGEN_NO_IMPL - -}} // namespace boost::geometry -#endif // BOOST_GEOMETRY_IO_WKB_DETAIL_PARSER_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/writer.hpp b/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/writer.hpp deleted file mode 100644 index 7db961404b..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/wkb/detail/writer.hpp +++ /dev/null @@ -1,234 +0,0 @@ -// Boost.Geometry -// -// Copyright (c) 2015 Mats Taraldsvik. -// -// 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) - -#ifndef BOOST_GEOMETRY_IO_WKB_DETAIL_WRITER_HPP -#define BOOST_GEOMETRY_IO_WKB_DETAIL_WRITER_HPP - -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail { namespace wkb -{ - - template - struct value_writer - { - typedef T value_type; - - template - static bool write(T const& value, - OutputIterator& iter, - byte_order_type::enum_t byte_order) - { - endian::endian_value parsed_value(value); - -// if (byte_order_type::xdr == byte_order) -// { -// parsed_value.template store(iter); -// } -// else if (byte_order_type::ndr == byte_order) -// { -// parsed_value.template store(iter); -// } -// else -// { - parsed_value.template store(iter); -// } - - return true; - } - }; - - template - < - typename Point, - std::size_t I = 0, - std::size_t N = dimension::value - > - struct writer_assigner - { - template - static void run(Point const& point, - OutputIterator& iter, - byte_order_type::enum_t byte_order) - { - // NOTE: coordinates of any type are converted to double - - value_writer::write(geometry::get(point), - iter, - byte_order); - - writer_assigner::run(point, iter, byte_order); - } - }; - - template - struct writer_assigner - { - template - static void run(Point const& /*point*/, - OutputIterator& /*iter*/, - byte_order_type::enum_t /*byte_order*/) - { - // terminate - } - }; - - template - struct point_writer - { - template - static bool write(Point const& point, - OutputIterator& iter, - byte_order_type::enum_t byte_order) - { - // write endian type - value_writer::write(byte_order, iter, byte_order); - - // write geometry type - uint32_t type = geometry_type::get(); - value_writer::write(type, iter, byte_order); - - // write point's x, y, z - writer_assigner::run(point, iter, byte_order); - - return true; - } - }; - - template - struct linestring_writer - { - template - static bool write(Linestring const& linestring, - OutputIterator& iter, - byte_order_type::enum_t byte_order) - { - // write endian type - value_writer::write(byte_order, iter, byte_order); - - // write geometry type - uint32_t type = geometry_type::get(); - value_writer::write(type, iter, byte_order); - - // write num points - uint32_t num_points = boost::size(linestring); - value_writer::write(num_points, iter, byte_order); - - for(typename boost::range_iterator::type - point_iter = boost::begin(linestring); - point_iter != boost::end(linestring); - ++point_iter) - { - // write point's x, y, z - writer_assigner::type> - ::run(*point_iter, iter, byte_order); - } - - return true; - } - }; - - template - struct polygon_writer - { - template - static bool write(Polygon const& polygon, - OutputIterator& iter, - byte_order_type::enum_t byte_order) - { - // write endian type - value_writer::write(byte_order, iter, byte_order); - - // write geometry type - uint32_t type = geometry_type::get(); - value_writer::write(type, iter, byte_order); - - // write num rings - uint32_t num_rings = 1 + geometry::num_interior_rings(polygon); - value_writer::write(num_rings, iter, byte_order); - - // write exterior ring - typedef typename geometry::ring_type::type - ring_type; - - typename geometry::ring_return_type::type - exterior_ring = geometry::exterior_ring(polygon); - - value_writer::write(geometry::num_points(exterior_ring), - iter, - byte_order); - - for(typename boost::range_iterator::type - point_iter = boost::begin(exterior_ring); - point_iter != boost::end(exterior_ring); - ++point_iter) - { - // write point's x, y, z - writer_assigner::type> - ::run(*point_iter, iter, byte_order); - } - - // write interor rings - typedef typename geometry::interior_type::type - interior_rings_type; - - typename geometry::interior_return_type::type - interior_rings = geometry::interior_rings(polygon); - - for(typename boost::range_iterator::type - ring_iter = boost::begin(interior_rings); - ring_iter != boost::end(interior_rings); - ++ring_iter) - { - value_writer::write(geometry::num_points(*ring_iter), - iter, - byte_order); - - for(typename boost::range_iterator::type - point_iter = boost::begin(*ring_iter); - point_iter != boost::end(*ring_iter); - ++point_iter) - { - // write point's x, y, z - writer_assigner::type> - ::run(*point_iter, iter, byte_order); - } - } - - return true; - } - }; - -}} // namespace detail::wkb -#endif // DOXYGEN_NO_IMPL - -}} // namespace boost::geometry -#endif // BOOST_GEOMETRY_IO_WKB_DETAIL_WRITER_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/wkb/read_wkb.hpp b/3party/boost/boost/geometry/extensions/gis/io/wkb/read_wkb.hpp deleted file mode 100644 index 69662b584e..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/wkb/read_wkb.hpp +++ /dev/null @@ -1,108 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// 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) - -#ifndef BOOST_GEOMETRY_IO_WKB_READ_WKB_HPP -#define BOOST_GEOMETRY_IO_WKB_READ_WKB_HPP - -#include - -#include -#include - -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct read_wkb {}; - -template -struct read_wkb -{ - template - static inline bool parse(Iterator& it, Iterator end, G& geometry, - detail::wkb::byte_order_type::enum_t order) - { - return detail::wkb::point_parser::parse(it, end, geometry, order); - } -}; - -template -struct read_wkb -{ - template - static inline bool parse(Iterator& it, Iterator end, G& geometry, - detail::wkb::byte_order_type::enum_t order) - { - geometry::clear(geometry); - return detail::wkb::linestring_parser::parse(it, end, geometry, order); - } -}; - -template -struct read_wkb -{ - template - static inline bool parse(Iterator& it, Iterator end, G& geometry, - detail::wkb::byte_order_type::enum_t order) - { - geometry::clear(geometry); - return detail::wkb::polygon_parser::parse(it, end, geometry, order); - } -}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - - -template -inline bool read_wkb(Iterator begin, Iterator end, G& geometry) -{ - // Stream of bytes can only be parsed using random access iterator. - BOOST_STATIC_ASSERT(( - boost::is_convertible - < - typename std::iterator_traits::iterator_category, - const std::random_access_iterator_tag& - >::value)); - - detail::wkb::byte_order_type::enum_t byte_order; - if (detail::wkb::byte_order_parser::parse(begin, end, byte_order)) - { - return dispatch::read_wkb - < - typename tag::type, - G - >::parse(begin, end, geometry, byte_order); - } - - return false; -} - -template -inline bool read_wkb(ByteType const* bytes, std::size_t length, G& geometry) -{ - BOOST_STATIC_ASSERT((boost::is_integral::value)); - BOOST_STATIC_ASSERT((sizeof(boost::uint8_t) == sizeof(ByteType))); - - ByteType const* begin = bytes; - ByteType const* const end = bytes + length; - - return read_wkb(begin, end, geometry); -} - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_IO_WKB_READ_WKB_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/wkb/utility.hpp b/3party/boost/boost/geometry/extensions/gis/io/wkb/utility.hpp deleted file mode 100644 index 99bcf92e5e..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/wkb/utility.hpp +++ /dev/null @@ -1,99 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// 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) - -#ifndef BOOST_GEOMETRY_IO_WKB_UTILITY_HPP -#define BOOST_GEOMETRY_IO_WKB_UTILITY_HPP - -#include -#include -#include -#include - -#include -#include -#include - -#include - -namespace boost { namespace geometry -{ - -// TODO: Waiting for errors handling design, eventually return bool -// may be replaced to throw exception. - -template -bool hex2wkb(std::string const& hex, OutputIterator bytes) -{ - // Bytes can be only written to output iterator. - BOOST_STATIC_ASSERT((boost::is_convertible< - typename std::iterator_traits::iterator_category, - const std::output_iterator_tag&>::value)); - - std::string::size_type const byte_size = 2; - if (0 != hex.size() % byte_size) - { - return false; - } - - std::string::size_type const size = hex.size() / byte_size; - for (std::string::size_type i = 0; i < size; ++i) - { - // TODO: This is confirmed performance killer - to be replaced with static char-to-byte map --mloskot - std::istringstream iss(hex.substr(i * byte_size, byte_size)); - unsigned int byte(0); - if (!(iss >> std::hex >> byte)) - { - return false; - } - *bytes = static_cast(byte); - ++bytes; - } - - return true; -} - -template -bool wkb2hex(Iterator begin, Iterator end, std::string& hex) -{ - // Stream of bytes can only be passed using random access iterator. - BOOST_STATIC_ASSERT((boost::is_convertible< - typename std::iterator_traits::iterator_category, - const std::random_access_iterator_tag&>::value)); - - const char hexalpha[] = "0123456789ABCDEF"; - char hexbyte[3] = { 0 }; - std::ostringstream oss; - - Iterator it = begin; - while (it != end) - { - boost::uint8_t byte = static_cast(*it); - hexbyte[0] = hexalpha[(byte >> 4) & 0xf]; - hexbyte[1] = hexalpha[byte & 0xf]; - hexbyte[2] = '\0'; - oss << std::setw(2) << hexbyte; - ++it; - } - - // TODO: Binary streams can be big. - // Does it make sense to request stream buffer of proper (large) size or - // use incremental appends within while-loop? - hex = oss.str(); - - // Poor-man validation, no performance penalty expected - // because begin/end always are random access iterators. - typename std::iterator_traits::difference_type - diff = std::distance(begin, end); - BOOST_GEOMETRY_ASSERT(diff > 0); - return hex.size() == 2 * std::string::size_type(diff); -} - - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_IO_WKB_UTILITY_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/io/wkb/write_wkb.hpp b/3party/boost/boost/geometry/extensions/gis/io/wkb/write_wkb.hpp deleted file mode 100644 index b67299b20e..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/io/wkb/write_wkb.hpp +++ /dev/null @@ -1,128 +0,0 @@ -// Boost.Geometry -// -// Copyright (c) 2015 Mats Taraldsvik. -// -// 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) - -#ifndef BOOST_GEOMETRY_IO_WKB_WRITE_WKB_HPP -#define BOOST_GEOMETRY_IO_WKB_WRITE_WKB_HPP - -#include - -#include -#include - -#include -#include - -namespace boost { namespace geometry -{ - -#ifndef DOXYGEN_NO_DISPATCH -namespace dispatch -{ - -template -struct write_wkb -{ -}; - -template -struct write_wkb -{ - template - static inline bool write(const G& geometry, OutputIterator iter, - detail::wkb::byte_order_type::enum_t byte_order) - { - return detail::wkb::point_writer::write(geometry, iter, byte_order); - } -}; - -template -struct write_wkb -{ - template - static inline bool write(const G& geometry, OutputIterator iter, - detail::wkb::byte_order_type::enum_t byte_order) - { - return detail::wkb::linestring_writer::write(geometry, iter, byte_order); - } -}; - -template -struct write_wkb -{ - template - static inline bool write(const G& geometry, OutputIterator iter, - detail::wkb::byte_order_type::enum_t byte_order) - { - return detail::wkb::polygon_writer::write(geometry, iter, byte_order); - } -}; - -} // namespace dispatch -#endif // DOXYGEN_NO_DISPATCH - -template -inline bool write_wkb(const G& geometry, OutputIterator iter) -{ - // The WKB is written to an OutputIterator. - BOOST_STATIC_ASSERT(( - boost::is_convertible - < - typename std::iterator_traits::iterator_category, - const std::output_iterator_tag& - >::value)); - -// Will write in the native byte order -#ifdef BOOST_BIG_ENDIAN - detail::wkb::byte_order_type::enum_t byte_order = detail::wkb::byte_order_type::xdr; -#else - detail::wkb::byte_order_type::enum_t byte_order = detail::wkb::byte_order_type::ndr; -#endif - - if - (!dispatch::write_wkb - < - typename tag::type, - G - >::write(geometry, iter, byte_order)) - { - return false; - } - - return true; -} - -// template -// inline bool write_wkb(G& geometry, OutputIterator iter, -// detail::wkb::byte_order_type::enum_t source_byte_order, -// detail::wkb::byte_order_type::enum_t target_byte_order) -// { -// // The WKB is written to an OutputIterator. -// BOOST_STATIC_ASSERT(( -// boost::is_convertible -// < -// typename std::iterator_traits::iterator_category, -// const std::output_iterator_tag& -// >::value)); -// -// if -// ( -// !dispatch::write_wkb -// < -// typename tag::type, -// G -// >::write(geometry, iter, byte_order) -// ) -// { -// return false; -// } -// -// return true; -// } - -}} // namespace boost::geometry -#endif // BOOST_GEOMETRY_IO_WKB_WRITE_WKB_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/latlong/detail/graticule.hpp b/3party/boost/boost/geometry/extensions/gis/latlong/detail/graticule.hpp deleted file mode 100644 index 84f519e72b..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/latlong/detail/graticule.hpp +++ /dev/null @@ -1,238 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_GIS_LATLONG_DETAIL_GRATICULE_HPP -#define BOOST_GEOMETRY_EXTENSIONS_GIS_LATLONG_DETAIL_GRATICULE_HPP - -#include -#include -#include - -#include -#include - - -namespace boost { namespace geometry -{ - -/*! - \brief Cardinal directions. - \ingroup cs - \details They are used in the dms-class. When specified by the library user, - north/east/south/west is, in general, enough. When parsed or received by an algorithm, - the user knows it it is lat/long but not more -*/ -enum cd_selector -{ - /*cd_none, */ - north, - east, - south, - west, - cd_lat, - cd_lon -}; - -/*! - \brief Utility class to assign poinst with degree,minute,second - \ingroup cs - \note Normally combined with latitude and longitude classes - \tparam CardinalDir selects if it is north/south/west/east - \tparam coordinate value, double/float - \par Example: - Example showing how to use the dms class - \dontinclude doxygen_1.cpp - \skip example_dms - \line { - \until } -*/ -template -class dms -{ -public: - - /// Constructs with a value - inline explicit dms(T v) - : m_value(v) - {} - - /// Constructs with a degree, minute, optional second - inline explicit dms(int d, int m, T s = 0.0) - { - double v = ((CardinalDir == west || CardinalDir == south) ? -1.0 : 1.0) - * (double(d) + (m / 60.0) + (s / 3600.0)); - - m_value = boost::numeric_cast(v); - } - - // Prohibit automatic conversion to T - // because this would enable lon(dms) - // inline operator T() const { return m_value; } - - /// Explicit conversion to T (double/float) - inline const T& as_value() const - { - return m_value; - } - - /// Get degrees as integer, minutes as integer, seconds as double. - inline void get_dms(int& d, int& m, double& s, - bool& positive, char& cardinal) const - { - double value = m_value; - - // Set to normal earth latlong coordinates - while (value < -180) - { - value += 360; - } - while (value > 180) - { - value -= 360; - } - // Make positive and indicate this - positive = value > 0; - - // Todo: we might implement template/specializations here - // Todo: if it is "west" and "positive", make east? or keep minus sign then? - - cardinal = ((CardinalDir == cd_lat && positive) ? 'N' - : (CardinalDir == cd_lat && !positive) ? 'S' - : (CardinalDir == cd_lon && positive) ? 'E' - : (CardinalDir == cd_lon && !positive) ? 'W' - : (CardinalDir == east) ? 'E' - : (CardinalDir == west) ? 'W' - : (CardinalDir == north) ? 'N' - : (CardinalDir == south) ? 'S' - : ' '); - - value = geometry::math::abs(value); - - // Calculate the values - double fraction = 0; - double integer = 0; - fraction = std::modf(value, &integer); - d = int(integer); - s = 60.0 * std::modf(fraction * 60.0, &integer); - m = int(integer); - } - - /// Get degrees, minutes, seconds as a string, separators can be specified optionally - inline std::string get_dms(std::string const& ds = " ", - const std::string& ms = "'", - const std::string& ss = "\"") const - { - double s = 0; - int d = 0; - int m = 0; - bool positive = false; - char cardinal = 0; - get_dms(d, m, s, positive, cardinal); - std::ostringstream out; - out << d << ds << m << ms << s << ss << " " << cardinal; - - return out.str(); - } - -private: - - T m_value; -}; - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ -/*! - \brief internal base class for latitude and longitude classes - \details The latitude longitude classes define different types for lat and lon. This is convenient - to construct latlong class without ambiguity. - \note It is called graticule, after "This latitude/longitude "webbing" is known as the common - graticule" (http://en.wikipedia.org/wiki/Geographic_coordinate_system) - \tparam S latitude/longitude - \tparam T coordinate type, double float or int -*/ -template -class graticule -{ -public: - - // TODO: Pass 'v' by const-ref - inline explicit graticule(T v) : m_v(v) {} - inline operator T() const { return m_v; } - -private: - - T m_v; -}; - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - -/*! - \brief Utility class to assign points with latitude value (north/south) - \ingroup cs - \tparam T coordinate type, double / float - \note Often combined with dms class -*/ -template -class latitude : public detail::graticule -{ -public: - - /// Can be constructed with a value - inline explicit latitude(T v) - : detail::graticule(v) - {} - - /// Can be constructed with a NORTH dms-class - inline explicit latitude(dms const& v) - : detail::graticule(v.as_value()) - {} - - /// Can be constructed with a SOUTH dms-class - inline explicit latitude(dms const& v) - : detail::graticule(v.as_value()) - {} -}; - -/*! -\brief Utility class to assign points with longitude value (west/east) -\ingroup cs -\tparam T coordinate type, double / float -\note Often combined with dms class -*/ -template -class longitude : public detail::graticule -{ -public: - - /// Can be constructed with a value - inline explicit longitude(T v) - : detail::graticule(v) - {} - - /// Can be constructed with a WEST dms-class - inline explicit longitude(dms const& v) - : detail::graticule(v.as_value()) - {} - - /// Can be constructed with an EAST dms-class - inline explicit longitude(dms const& v) - : detail::graticule(v.as_value()) - {} -}; - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_GIS_LATLONG_DETAIL_GRATICULE_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/latlong/latlong.hpp b/3party/boost/boost/geometry/extensions/gis/latlong/latlong.hpp deleted file mode 100644 index 61c16e80ef..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/latlong/latlong.hpp +++ /dev/null @@ -1,51 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_GIS_LATLONG_HPP -#define BOOST_GEOMETRY_EXTENSIONS_GIS_LATLONG_HPP - - -#include -#include - -#include - -namespace boost { namespace geometry -{ - -/* -DEPRECATED -namespace model -{ - -typedef point_ll > point_ll_deg; -typedef linestring linestring_ll_deg; -typedef linear_ring ring_ll_deg; -typedef polygon polygon_ll_deg; -typedef box box_ll_deg; -typedef segment segment_ll_deg; - -typedef point_ll > point_ll_rad; -typedef linestring linestring_ll_rad; -typedef linear_ring ring_ll_rad; -typedef polygon polygon_ll_rad; -typedef box box_ll_rad; -typedef segment segment_ll_rad; - -} // namespace model -*/ - -}} // namespace boost::geometry - - -#endif // BOOST_GEOMETRY_EXTENSIONS_GIS_LATLONG_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/latlong/point_ll.hpp b/3party/boost/boost/geometry/extensions/gis/latlong/point_ll.hpp deleted file mode 100644 index 1740d1ab8c..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/latlong/point_ll.hpp +++ /dev/null @@ -1,269 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. -// Copyright (c) 2008-2012 Bruno Lalande, Paris, France. -// Copyright (c) 2009-2012 Mateusz Loskot, London, UK. - -// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library -// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_EXTENSIONS_GIS_LATLONG_POINT_LL_HPP -#define BOOST_GEOMETRY_EXTENSIONS_GIS_LATLONG_POINT_LL_HPP - -#include -#include -#include - -#include - -#include -#include -#include - -#include - -namespace boost { namespace geometry -{ - - -namespace model { namespace ll -{ - -/*! - \brief Point using spherical coordinates \a lat and \a lon, on Earth - \ingroup Geometry - \details The point_ll class implements a point with lat and lon functions. - It can be constructed using latitude and longitude classes. The latlong - class can be defined in degrees or in radians. There is a conversion method - from degree to radian, and from radian to degree. - \tparam Units units,defaults to degree - \tparam CoordinateType coordinate type, double (the default) or float - (it might be int as well) - \tparam CoordinateSystem coordinate system, should include NOT degree/radian - indication, should be e.g. cs::geographic or cs::spherical - \tparam Dimensions number of dimensions - \note There is NO constructor with two values to avoid - exchanging lat and long - \note Construction with latitude and longitude can be done in both orders, - so lat/long and long/lat - \par Example: - Example showing how the point_ll class can be constructed. Note that it - can also be constructed using - decimal degrees (43.123). - \dontinclude doxygen_1.cpp - \skip example_point_ll_construct - \line { - \until } -*/ -template -< - typename Units = degree, - typename CoordinateType = double, - template class CoordinateSystem = cs::geographic, - std::size_t Dimensions = 2 -> -class point : public model::point - < - CoordinateType, - Dimensions, - CoordinateSystem - > -{ - typedef model::point - < - CoordinateType, - Dimensions, - CoordinateSystem - > - base_type; -public: - - /// Default constructor, does not initialize anything - inline point() : base_type() {} - - /// Constructor with longitude/latitude - inline point(longitude const& lo, - latitude const& la) - : base_type(lo, la) {} - - /// Constructor with latitude/longitude - inline point(latitude const& la, - longitude const& lo) - : base_type(lo, la) {} - - /// Get longitude - inline CoordinateType const& lon() const - { return this->template get<0>(); } - - /// Get latitude - inline CoordinateType const& lat() const - { return this->template get<1>(); } - - /// Set longitude - inline void lon(CoordinateType const& v) - { this->template set<0>(v); } - - /// Set latitude - inline void lat(CoordinateType const& v) - { this->template set<1>(v); } - - /// Set longitude using dms class - inline void lon(dms const& v) - { - this->template set<0>(v.as_value()); - } - inline void lon(dms const& v) - { - this->template set<0>(v.as_value()); - } - - inline void lat(dms const& v) - { - this->template set<1>(v.as_value()); - } - inline void lat(dms const& v) - { - this->template set<1>(v.as_value()); - } -}; - - -}} // namespace model::ll - -// Adapt the point_ll to the concept -#ifndef DOXYGEN_NO_TRAITS_SPECIALIZATIONS -namespace traits -{ - -template -< - typename Units, - typename CoordinateType, - template class CoordinateSystem, - std::size_t DimensionCount -> -struct tag - < - model::ll::point - < - Units, - CoordinateType, - CoordinateSystem, - DimensionCount - > - > -{ - typedef point_tag type; -}; - -template -< - typename Units, - typename CoordinateType, - template class CoordinateSystem, - std::size_t DimensionCount -> -struct coordinate_type - < - model::ll::point - < - Units, - CoordinateType, - CoordinateSystem, - DimensionCount - > - > -{ - typedef CoordinateType type; -}; - -template -< - typename Units, - typename CoordinateType, - template class CoordinateSystem, - std::size_t DimensionCount -> -struct coordinate_system - < - model::ll::point - < - Units, - CoordinateType, - CoordinateSystem, - DimensionCount - > - > -{ - typedef CoordinateSystem type; -}; - -template -< - typename Units, - typename CoordinateType, - template class CoordinateSystem, - std::size_t DimensionCount -> -struct dimension - < - model::ll::point - < - Units, - CoordinateType, - CoordinateSystem, - DimensionCount - > - > - : boost::mpl::int_ -{}; - -template -< - typename Units, - typename CoordinateType, - template class CoordinateSystem, - std::size_t DimensionCount, - std::size_t Dimension -> -struct access - < - model::ll::point - < - Units, - CoordinateType, - CoordinateSystem, - DimensionCount - >, - Dimension - > -{ - typedef model::ll::point - < - Units, - CoordinateType, - CoordinateSystem, - DimensionCount - > type; - - static inline CoordinateType get(type const& p) - { - return p.template get(); - } - - static inline void set(type& p, CoordinateType const& value) - { - p.template set(value); - } -}; - -} // namespace traits -#endif // DOXYGEN_NO_TRAITS_SPECIALIZATIONS - -}} // namespace boost::geometry - -#endif // BOOST_GEOMETRY_EXTENSIONS_GIS_LATLONG_POINT_LL_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/epsg.hpp b/3party/boost/boost/geometry/extensions/gis/projections/epsg.hpp deleted file mode 100644 index 560e3b4369..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/epsg.hpp +++ /dev/null @@ -1,3568 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_PROJECTIONS_EPGS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_EPGS_HPP - - -#include -#include - -// This file is OPTIONAL -// Only to be included if EPSG codes are necessary. -// It is not included automatically - -namespace boost { namespace geometry { namespace projections -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - - inline std::string code_to_string(int code) - { - switch(code) - { - - case 2000 : return "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m"; - case 2001 : return "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m"; - case 2002 : return "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=725,685,536,0,0,0,0 +units=m"; - case 2003 : return "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0 +units=m"; - case 2004 : return "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=174,359,365,0,0,0,0 +units=m"; - case 2005 : return "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +units=m"; - case 2006 : return "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0 +units=m"; - case 2007 : return "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0 +units=m"; - case 2008 : return "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2009 : return "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2010 : return "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2011 : return "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2012 : return "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2013 : return "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2014 : return "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2015 : return "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2016 : return "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2017 : return "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2018 : return "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2019 : return "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2020 : return "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2021 : return "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2022 : return "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2023 : return "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2024 : return "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2025 : return "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2026 : return "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +units=m"; - case 2027 : return "+proj=utm +zone=15 +ellps=clrk66 +units=m"; - case 2028 : return "+proj=utm +zone=16 +ellps=clrk66 +units=m"; - case 2029 : return "+proj=utm +zone=17 +ellps=clrk66 +units=m"; - case 2030 : return "+proj=utm +zone=18 +ellps=clrk66 +units=m"; - case 2031 : return "+proj=utm +zone=17 +ellps=clrk66 +units=m"; - case 2032 : return "+proj=utm +zone=18 +ellps=clrk66 +units=m"; - case 2033 : return "+proj=utm +zone=19 +ellps=clrk66 +units=m"; - case 2034 : return "+proj=utm +zone=20 +ellps=clrk66 +units=m"; - case 2035 : return "+proj=utm +zone=21 +ellps=clrk66 +units=m"; - case 2036 : return "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2037 : return "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2038 : return "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2039 : return "+proj=tmerc +lat_0=31.73439361111111 +lon_0=35.20451694444445 +k=1.0000067 +x_0=219529.584 +y_0=626907.39 +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0 +units=m"; - case 2040 : return "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m"; - case 2041 : return "+proj=utm +zone=30 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m"; - case 2042 : return "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m"; - case 2043 : return "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m"; - case 2044 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m"; - case 2045 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m"; - case 2056 : return "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +x_0=2600000 +y_0=1200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m"; - case 2057 : return "+proj=omerc +lat_0=27.51882880555555 +lonc=52.60353916666667 +alpha=0.5716611944444444 +k=0.999895934 +x_0=658377.437 +y_0=3044969.194 +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0 +units=m"; - case 2058 : return "+proj=utm +zone=38 +ellps=intl +units=m"; - case 2059 : return "+proj=utm +zone=39 +ellps=intl +units=m"; - case 2060 : return "+proj=utm +zone=40 +ellps=intl +units=m"; - case 2061 : return "+proj=utm +zone=41 +ellps=intl +units=m"; - case 2062 : return "+proj=lcc +lat_1=40 +lat_0=40 +lon_0=0 +k_0=0.9988085293 +x_0=600000 +y_0=600000 +a=6378298.3 +b=6356657.142669561 +pm=madrid +units=m"; - case 2063 : return "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m"; - case 2064 : return "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m"; - case 2065 : return "+proj=krovak +lat_0=49.5 +lon_0=42.5 +alpha=30.28813972222222 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 2066 : return "+proj=cass +lat_0=11.25217861111111 +lon_0=-60.68600888888889 +x_0=37718.66159325 +y_0=36209.91512952 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164"; - case 2067 : return "+proj=utm +zone=20 +ellps=intl +units=m"; - case 2068 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m"; - case 2069 : return "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m"; - case 2070 : return "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m"; - case 2071 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m"; - case 2072 : return "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m"; - case 2073 : return "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m"; - case 2074 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m"; - case 2075 : return "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m"; - case 2076 : return "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.9999 +x_0=200000 +y_0=0 +ellps=intl +units=m"; - case 2077 : return "+proj=utm +zone=32 +ellps=intl +units=m"; - case 2078 : return "+proj=utm +zone=33 +ellps=intl +units=m"; - case 2079 : return "+proj=utm +zone=34 +ellps=intl +units=m"; - case 2080 : return "+proj=utm +zone=35 +ellps=intl +units=m"; - case 2081 : return "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m"; - case 2082 : return "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0 +units=m"; - case 2083 : return "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m"; - case 2084 : return "+proj=utm +zone=19 +south +ellps=intl +units=m"; - case 2085 : return "+proj=lcc +lat_1=22.35 +lat_0=22.35 +lon_0=-81 +k_0=0.99993602 +x_0=500000 +y_0=280296.016 +ellps=clrk66 +datum=NAD27 +units=m"; - case 2086 : return "+proj=lcc +lat_1=20.71666666666667 +lat_0=20.71666666666667 +lon_0=-76.83333333333333 +k_0=0.99994848 +x_0=500000 +y_0=229126.939 +ellps=clrk66 +datum=NAD27 +units=m"; - case 2087 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 2088 : return "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.9996 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +units=m"; - case 2089 : return "+proj=utm +zone=38 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2090 : return "+proj=utm +zone=39 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2091 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m"; - case 2092 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m"; - case 2093 : return "+proj=tmerc +lat_0=0 +lon_0=106 +k=1 +x_0=500000 +y_0=0 +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0 +units=m"; - case 2094 : return "+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 2095 : return "+proj=utm +zone=28 +ellps=intl +towgs84=-173,253,27,0,0,0,0 +units=m"; - case 2096 : return "+proj=tmerc +lat_0=38 +lon_0=129 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m"; - case 2097 : return "+proj=tmerc +lat_0=38 +lon_0=127 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m"; - case 2098 : return "+proj=tmerc +lat_0=38 +lon_0=125 +k=1 +x_0=200000 +y_0=500000 +ellps=bessel +units=m"; - case 2099 : return "+proj=cass +lat_0=25.38236111111111 +lon_0=50.76138888888889 +x_0=100000 +y_0=100000 +ellps=helmert +units=m"; - case 2100 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0 +units=m"; - case 2101 : return "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=0 +y_0=-52684.972 +ellps=intl +units=m"; - case 2102 : return "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=200000 +y_0=147315.028 +ellps=intl +units=m"; - case 2103 : return "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=500000 +y_0=447315.028 +ellps=intl +units=m"; - case 2104 : return "+proj=lcc +lat_1=10.16666666666667 +lat_0=10.16666666666667 +lon_0=-71.60561777777777 +k_0=1 +x_0=-17044 +y_0=-23139.97 +ellps=intl +units=m"; - case 2105 : return "+proj=tmerc +lat_0=-36.87972222222222 +lon_0=174.7641666666667 +k=0.9999 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2106 : return "+proj=tmerc +lat_0=-37.76111111111111 +lon_0=176.4661111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2107 : return "+proj=tmerc +lat_0=-38.62444444444444 +lon_0=177.8855555555556 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2108 : return "+proj=tmerc +lat_0=-39.65083333333333 +lon_0=176.6736111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2109 : return "+proj=tmerc +lat_0=-39.13555555555556 +lon_0=174.2277777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2110 : return "+proj=tmerc +lat_0=-39.51222222222222 +lon_0=175.64 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2111 : return "+proj=tmerc +lat_0=-40.24194444444444 +lon_0=175.4880555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2112 : return "+proj=tmerc +lat_0=-40.92527777777777 +lon_0=175.6472222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2113 : return "+proj=tmerc +lat_0=-41.3011111111111 +lon_0=174.7763888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2114 : return "+proj=tmerc +lat_0=-40.71472222222223 +lon_0=172.6719444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2115 : return "+proj=tmerc +lat_0=-41.27444444444444 +lon_0=173.2991666666667 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2116 : return "+proj=tmerc +lat_0=-41.28972222222222 +lon_0=172.1088888888889 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2117 : return "+proj=tmerc +lat_0=-41.81055555555555 +lon_0=171.5811111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2118 : return "+proj=tmerc +lat_0=-42.33361111111111 +lon_0=171.5497222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2119 : return "+proj=tmerc +lat_0=-42.68888888888888 +lon_0=173.01 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2120 : return "+proj=tmerc +lat_0=-41.54444444444444 +lon_0=173.8019444444444 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2121 : return "+proj=tmerc +lat_0=-42.88611111111111 +lon_0=170.9797222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2122 : return "+proj=tmerc +lat_0=-43.11 +lon_0=170.2608333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2123 : return "+proj=tmerc +lat_0=-43.97777777777778 +lon_0=168.6061111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2124 : return "+proj=tmerc +lat_0=-43.59055555555556 +lon_0=172.7269444444445 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2125 : return "+proj=tmerc +lat_0=-43.74861111111111 +lon_0=171.3605555555555 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2126 : return "+proj=tmerc +lat_0=-44.40194444444445 +lon_0=171.0572222222222 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2127 : return "+proj=tmerc +lat_0=-44.735 +lon_0=169.4675 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2128 : return "+proj=tmerc +lat_0=-45.13277777777778 +lon_0=168.3986111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2129 : return "+proj=tmerc +lat_0=-45.56361111111111 +lon_0=167.7386111111111 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2130 : return "+proj=tmerc +lat_0=-45.81611111111111 +lon_0=170.6283333333333 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2131 : return "+proj=tmerc +lat_0=-45.86138888888889 +lon_0=170.2825 +k=0.99996 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2132 : return "+proj=tmerc +lat_0=-46.6 +lon_0=168.3427777777778 +k=1 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2133 : return "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2134 : return "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2135 : return "+proj=utm +zone=60 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2136 : return "+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.7391633579 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +to_meter=0.3047997101815088"; - case 2137 : return "+proj=tmerc +lat_0=0 +lon_0=-1 +k=0.9996 +x_0=500000 +y_0=0 +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0 +units=m"; - case 2138 : return "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +units=m"; - case 2139 : return "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2140 : return "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2141 : return "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2142 : return "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2143 : return "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2144 : return "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2145 : return "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2146 : return "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2147 : return "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2148 : return "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2149 : return "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2150 : return "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2151 : return "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2152 : return "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2153 : return "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2154 : return "+proj=lcc +lat_1=49 +lat_2=44 +lat_0=46.5 +lon_0=3 +x_0=700000 +y_0=6600000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2155 : return "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192"; - case 2156 : return "+proj=utm +zone=59 +south +ellps=GRS80 +units=m"; - case 2157 : return "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=0.99982 +x_0=600000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2158 : return "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2159 : return "+proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_0=152399.8550907544 +y_0=0 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088"; - case 2160 : return "+proj=tmerc +lat_0=6.666666666666667 +lon_0=-12 +k=1 +x_0=243839.7681452071 +y_0=182879.8261089053 +a=6378300 +b=6356751.689189189 +to_meter=0.3047997101815088"; - case 2161 : return "+proj=utm +zone=28 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m"; - case 2162 : return "+proj=utm +zone=29 +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0 +units=m"; - case 2163 : return "+proj=laea +lat_0=45 +lon_0=-100 +x_0=0 +y_0=0 +a=6370997 +b=6370997 +units=m"; - case 2164 : return "+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0 +units=m"; - case 2165 : return "+proj=tmerc +lat_0=0 +lon_0=-5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0 +units=m"; - case 2166 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m"; - case 2167 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m"; - case 2168 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m"; - case 2169 : return "+proj=tmerc +lat_0=49.83333333333334 +lon_0=6.166666666666667 +k=1 +x_0=80000 +y_0=100000 +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43 +units=m"; - case 2170 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 2171 : return "+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5647000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 2172 : return "+proj=sterea +lat_0=53.00194444444445 +lon_0=21.50277777777778 +k=0.9998 +x_0=4603000 +y_0=5806000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 2173 : return "+proj=sterea +lat_0=53.58333333333334 +lon_0=17.00833333333333 +k=0.9998 +x_0=3501000 +y_0=5999000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 2174 : return "+proj=sterea +lat_0=51.67083333333333 +lon_0=16.67222222222222 +k=0.9998 +x_0=3703000 +y_0=5627000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 2175 : return "+proj=tmerc +lat_0=0 +lon_0=18.95833333333333 +k=0.999983 +x_0=237000 +y_0=-4700000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 2176 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.999923 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2177 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.999923 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2178 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.999923 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2179 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.999923 +x_0=8500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2180 : return "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m"; - case 2188 : return "+proj=utm +zone=25 +ellps=intl +units=m"; - case 2189 : return "+proj=utm +zone=26 +ellps=intl +towgs84=-104,167,-38,0,0,0,0 +units=m"; - case 2190 : return "+proj=utm +zone=26 +ellps=intl +towgs84=-203,141,53,0,0,0,0 +units=m"; - case 2191 : return "+proj=utm +zone=28 +ellps=intl +units=m"; - case 2192 : return "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=2.337229166666667 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +ellps=intl +units=m"; - case 2193 : return "+proj=tmerc +lat_0=0 +lon_0=173 +k=0.9996 +x_0=1600000 +y_0=10000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2194 : return "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192"; - case 2195 : return "+proj=utm +zone=2 +south +ellps=GRS80 +units=m"; - case 2196 : return "+proj=tmerc +lat_0=0 +lon_0=9.5 +k=0.99995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m"; - case 2197 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.99995 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2198 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m"; - case 2199 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m"; - case 2200 : return "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=300000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m"; - case 2201 : return "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2202 : return "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2203 : return "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2204 : return "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=609601.2192024384 +y_0=30480.06096012192 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 2205 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 2206 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=intl +units=m"; - case 2207 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=intl +units=m"; - case 2208 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=intl +units=m"; - case 2209 : return "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=intl +units=m"; - case 2210 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=intl +units=m"; - case 2211 : return "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=intl +units=m"; - case 2212 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=intl +units=m"; - case 2213 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2214 : return "+proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m"; - case 2215 : return "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0 +units=m"; - case 2216 : return "+proj=utm +zone=22 +ellps=intl +units=m"; - case 2217 : return "+proj=utm +zone=23 +ellps=intl +units=m"; - case 2219 : return "+proj=utm +zone=19 +a=6378135 +b=6356750.304921594 +units=m"; - case 2220 : return "+proj=utm +zone=20 +a=6378135 +b=6356750.304921594 +units=m"; - case 2222 : return "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2223 : return "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2224 : return "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2225 : return "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2226 : return "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2227 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2228 : return "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2229 : return "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2230 : return "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2231 : return "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2232 : return "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2233 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2234 : return "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2235 : return "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2236 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2237 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2238 : return "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2239 : return "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2240 : return "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2241 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2242 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2243 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2244 : return "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2245 : return "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2246 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2247 : return "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2248 : return "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2249 : return "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2250 : return "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2251 : return "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2252 : return "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2253 : return "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2254 : return "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2255 : return "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2256 : return "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2257 : return "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2258 : return "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2259 : return "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2260 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2261 : return "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2262 : return "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2263 : return "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2264 : return "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2265 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2266 : return "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2267 : return "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2268 : return "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2269 : return "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2270 : return "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2271 : return "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2272 : return "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2273 : return "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2274 : return "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2275 : return "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2276 : return "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2277 : return "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2278 : return "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2279 : return "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2280 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2281 : return "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2282 : return "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2283 : return "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2284 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2285 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2286 : return "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2287 : return "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2288 : return "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2289 : return "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2290 : return "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=700000 +y_0=400000 +a=6378135 +b=6356750.304921594 +units=m"; - case 2291 : return "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +a=6378135 +b=6356750.304921594 +units=m"; - case 2292 : return "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2294 : return "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=4500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m"; - case 2295 : return "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=5500000 +y_0=0 +a=6378135 +b=6356750.304921594 +units=m"; - case 2308 : return "+proj=tmerc +lat_0=0 +lon_0=109 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=bessel +units=m"; - case 2309 : return "+proj=tmerc +lat_0=0 +lon_0=116 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m"; - case 2310 : return "+proj=tmerc +lat_0=0 +lon_0=132 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m"; - case 2311 : return "+proj=tmerc +lat_0=0 +lon_0=6 +k=0.9996 +x_0=500000 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 2312 : return "+proj=utm +zone=33 +ellps=clrk80 +units=m"; - case 2313 : return "+proj=utm +zone=33 +ellps=clrk80 +units=m"; - case 2314 : return "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392052001 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654"; - case 2315 : return "+proj=utm +zone=19 +south +ellps=intl +units=m"; - case 2316 : return "+proj=utm +zone=20 +south +ellps=intl +units=m"; - case 2317 : return "+proj=lcc +lat_1=9 +lat_2=3 +lat_0=6 +lon_0=-66 +x_0=1000000 +y_0=1000000 +ellps=intl +units=m"; - case 2318 : return "+proj=lcc +lat_1=17 +lat_2=33 +lat_0=25.08951 +lon_0=48 +x_0=0 +y_0=0 +ellps=intl +units=m"; - case 2319 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 2320 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 2321 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 2322 : return "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 2323 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 2324 : return "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 2325 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 2326 : return "+proj=tmerc +lat_0=22.31213333333334 +lon_0=114.1785555555556 +k=1 +x_0=836694.05 +y_0=819069.8 +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425 +units=m"; - case 2327 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2328 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2329 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2330 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2331 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2332 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2333 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2334 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2335 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2336 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2337 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2338 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2339 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2340 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2341 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2342 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2343 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2344 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2345 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2346 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2347 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2348 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2349 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2350 : return "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2351 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2352 : return "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2353 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2354 : return "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2355 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2356 : return "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2357 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2358 : return "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2359 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2360 : return "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2361 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2362 : return "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2363 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2364 : return "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2365 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2366 : return "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2367 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2368 : return "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2369 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2370 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2371 : return "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2372 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2373 : return "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2374 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2375 : return "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2376 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2377 : return "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2378 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2379 : return "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2380 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2381 : return "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2382 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2383 : return "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2384 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2385 : return "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2386 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2387 : return "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2388 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2389 : return "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2390 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +a=6378140 +b=6356755.288157528 +units=m"; - case 2391 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.743,4.80107,0.34543,-1.37646,1.4964 +units=m"; - case 2392 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.743,4.80107,0.34543,-1.37646,1.4964 +units=m"; - case 2393 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.743,4.80107,0.34543,-1.37646,1.4964 +units=m"; - case 2394 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.743,4.80107,0.34543,-1.37646,1.4964 +units=m"; - case 2395 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m"; - case 2396 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +towgs84=-76,-138,67,0,0,0,0 +units=m"; - case 2397 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m"; - case 2398 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m"; - case 2399 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1 +units=m"; - case 2400 : return "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 2401 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m"; - case 2402 : return "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m"; - case 2403 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m"; - case 2404 : return "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m"; - case 2405 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m"; - case 2406 : return "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m"; - case 2407 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m"; - case 2408 : return "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m"; - case 2409 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m"; - case 2410 : return "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m"; - case 2411 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m"; - case 2412 : return "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m"; - case 2413 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m"; - case 2414 : return "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m"; - case 2415 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m"; - case 2416 : return "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m"; - case 2417 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m"; - case 2418 : return "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m"; - case 2419 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m"; - case 2420 : return "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m"; - case 2421 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m"; - case 2422 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2423 : return "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2424 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2425 : return "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2426 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2427 : return "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2428 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2429 : return "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2430 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2431 : return "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2432 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2433 : return "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2434 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2435 : return "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2436 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2437 : return "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2438 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2439 : return "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2440 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2441 : return "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2442 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2443 : return "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2444 : return "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2445 : return "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2446 : return "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2447 : return "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2448 : return "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2449 : return "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2450 : return "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2451 : return "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2452 : return "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2453 : return "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2454 : return "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2455 : return "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2456 : return "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2457 : return "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2458 : return "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2459 : return "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2460 : return "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2461 : return "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2462 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m"; - case 2463 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2464 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2465 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2466 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2467 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2468 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2469 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2470 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2471 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2472 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2473 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2474 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2475 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2476 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2477 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2478 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2479 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2480 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2481 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2482 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2483 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2484 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2485 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2486 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2487 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2488 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2489 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2490 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2491 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2492 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2493 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2494 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2495 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2496 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2497 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2498 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2499 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2500 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2501 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2502 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2503 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2504 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2505 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2506 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2507 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2508 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2509 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2510 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2511 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2512 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2513 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2514 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2515 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2516 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2517 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2518 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2519 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2520 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2521 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2522 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2523 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m"; - case 2524 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m"; - case 2525 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m"; - case 2526 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m"; - case 2527 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m"; - case 2528 : return "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m"; - case 2529 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m"; - case 2530 : return "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m"; - case 2531 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m"; - case 2532 : return "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m"; - case 2533 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m"; - case 2534 : return "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m"; - case 2535 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m"; - case 2536 : return "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m"; - case 2537 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m"; - case 2538 : return "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m"; - case 2539 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m"; - case 2540 : return "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m"; - case 2541 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m"; - case 2542 : return "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m"; - case 2543 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m"; - case 2544 : return "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m"; - case 2545 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m"; - case 2546 : return "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m"; - case 2547 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m"; - case 2548 : return "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m"; - case 2549 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m"; - case 2550 : return "+proj=utm +zone=50 +south +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0 +units=m"; - case 2551 : return "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m"; - case 2552 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m"; - case 2553 : return "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m"; - case 2554 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m"; - case 2555 : return "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m"; - case 2556 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m"; - case 2557 : return "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m"; - case 2558 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m"; - case 2559 : return "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m"; - case 2560 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m"; - case 2561 : return "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m"; - case 2562 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m"; - case 2563 : return "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +units=m"; - case 2564 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +units=m"; - case 2565 : return "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +units=m"; - case 2566 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +units=m"; - case 2567 : return "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +units=m"; - case 2568 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +units=m"; - case 2569 : return "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +units=m"; - case 2570 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +units=m"; - case 2571 : return "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +units=m"; - case 2572 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +units=m"; - case 2573 : return "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +units=m"; - case 2574 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +units=m"; - case 2575 : return "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +units=m"; - case 2576 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +units=m"; - case 2577 : return "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=0 +ellps=krass +units=m"; - case 2578 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +units=m"; - case 2579 : return "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +units=m"; - case 2580 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +units=m"; - case 2581 : return "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +units=m"; - case 2582 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2583 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2584 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2585 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2586 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2587 : return "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2588 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2589 : return "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2590 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2591 : return "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2592 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2593 : return "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2594 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2595 : return "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2596 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2597 : return "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2598 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2599 : return "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2600 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2601 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2602 : return "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2603 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2604 : return "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2605 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2606 : return "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2607 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2608 : return "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2609 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2610 : return "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2611 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2612 : return "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2613 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2614 : return "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2615 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2616 : return "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2617 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2618 : return "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2619 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2620 : return "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2621 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2622 : return "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2623 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2624 : return "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2625 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2626 : return "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2627 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2628 : return "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2629 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2630 : return "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2631 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2632 : return "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2633 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2634 : return "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2635 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2636 : return "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2637 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2638 : return "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2639 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2640 : return "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2641 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m"; - case 2642 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m"; - case 2643 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m"; - case 2644 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m"; - case 2645 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m"; - case 2646 : return "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m"; - case 2647 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m"; - case 2648 : return "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m"; - case 2649 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m"; - case 2650 : return "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m"; - case 2651 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m"; - case 2652 : return "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m"; - case 2653 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m"; - case 2654 : return "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m"; - case 2655 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m"; - case 2656 : return "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m"; - case 2657 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m"; - case 2658 : return "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m"; - case 2659 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m"; - case 2660 : return "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m"; - case 2661 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m"; - case 2662 : return "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m"; - case 2663 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m"; - case 2664 : return "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m"; - case 2665 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m"; - case 2666 : return "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m"; - case 2667 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=krass +units=m"; - case 2668 : return "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=krass +units=m"; - case 2669 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=krass +units=m"; - case 2670 : return "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=krass +units=m"; - case 2671 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=krass +units=m"; - case 2672 : return "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=krass +units=m"; - case 2673 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=krass +units=m"; - case 2674 : return "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=krass +units=m"; - case 2675 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=krass +units=m"; - case 2676 : return "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=krass +units=m"; - case 2677 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=krass +units=m"; - case 2678 : return "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=krass +units=m"; - case 2679 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=krass +units=m"; - case 2680 : return "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=46500000 +y_0=0 +ellps=krass +units=m"; - case 2681 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=47500000 +y_0=0 +ellps=krass +units=m"; - case 2682 : return "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=48500000 +y_0=0 +ellps=krass +units=m"; - case 2683 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=49500000 +y_0=0 +ellps=krass +units=m"; - case 2684 : return "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=50500000 +y_0=0 +ellps=krass +units=m"; - case 2685 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=51500000 +y_0=0 +ellps=krass +units=m"; - case 2686 : return "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=52500000 +y_0=0 +ellps=krass +units=m"; - case 2687 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=53500000 +y_0=0 +ellps=krass +units=m"; - case 2688 : return "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=54500000 +y_0=0 +ellps=krass +units=m"; - case 2689 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=55500000 +y_0=0 +ellps=krass +units=m"; - case 2690 : return "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=56500000 +y_0=0 +ellps=krass +units=m"; - case 2691 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=57500000 +y_0=0 +ellps=krass +units=m"; - case 2692 : return "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=58500000 +y_0=0 +ellps=krass +units=m"; - case 2693 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=59500000 +y_0=0 +ellps=krass +units=m"; - case 2694 : return "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60000000 +y_0=0 +ellps=krass +units=m"; - case 2695 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=61500000 +y_0=0 +ellps=krass +units=m"; - case 2696 : return "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=62500000 +y_0=0 +ellps=krass +units=m"; - case 2697 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=63500000 +y_0=0 +ellps=krass +units=m"; - case 2698 : return "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=64500000 +y_0=0 +ellps=krass +units=m"; - case 2699 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2700 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2701 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2702 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2703 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2704 : return "+proj=tmerc +lat_0=0 +lon_0=36 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2705 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2706 : return "+proj=tmerc +lat_0=0 +lon_0=42 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2707 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2708 : return "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2709 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2710 : return "+proj=tmerc +lat_0=0 +lon_0=54 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2711 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2712 : return "+proj=tmerc +lat_0=0 +lon_0=60 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2713 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2714 : return "+proj=tmerc +lat_0=0 +lon_0=66 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2715 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2716 : return "+proj=tmerc +lat_0=0 +lon_0=72 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2717 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2718 : return "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2719 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2720 : return "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2721 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2722 : return "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2723 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2724 : return "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2725 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2726 : return "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2727 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2728 : return "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2729 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2730 : return "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2731 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2732 : return "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2733 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2734 : return "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2735 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2736 : return "+proj=utm +zone=36 +south +ellps=clrk66 +units=m"; - case 2737 : return "+proj=utm +zone=37 +south +ellps=clrk66 +units=m"; - case 2738 : return "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2739 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2740 : return "+proj=tmerc +lat_0=0 +lon_0=138 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2741 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2742 : return "+proj=tmerc +lat_0=0 +lon_0=144 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2743 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2744 : return "+proj=tmerc +lat_0=0 +lon_0=150 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2745 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2746 : return "+proj=tmerc +lat_0=0 +lon_0=156 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2747 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2748 : return "+proj=tmerc +lat_0=0 +lon_0=162 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2749 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2750 : return "+proj=tmerc +lat_0=0 +lon_0=168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2751 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2752 : return "+proj=tmerc +lat_0=0 +lon_0=174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2753 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2754 : return "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2755 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2756 : return "+proj=tmerc +lat_0=0 +lon_0=-174 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2757 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2758 : return "+proj=tmerc +lat_0=0 +lon_0=-168 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 2759 : return "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m"; - case 2760 : return "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2761 : return "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m"; - case 2762 : return "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m"; - case 2763 : return "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +units=m"; - case 2764 : return "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m"; - case 2765 : return "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m"; - case 2766 : return "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m"; - case 2767 : return "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m"; - case 2768 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m"; - case 2769 : return "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m"; - case 2770 : return "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m"; - case 2771 : return "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +units=m"; - case 2772 : return "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m"; - case 2773 : return "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m"; - case 2774 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +units=m"; - case 2775 : return "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +units=m"; - case 2776 : return "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m"; - case 2777 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m"; - case 2778 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m"; - case 2779 : return "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2780 : return "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m"; - case 2781 : return "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m"; - case 2782 : return "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2783 : return "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2784 : return "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2785 : return "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2786 : return "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2787 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m"; - case 2788 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2789 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +units=m"; - case 2790 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m"; - case 2791 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m"; - case 2792 : return "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +units=m"; - case 2793 : return "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +units=m"; - case 2794 : return "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m"; - case 2795 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2796 : return "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m"; - case 2797 : return "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m"; - case 2798 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2799 : return "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m"; - case 2800 : return "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m"; - case 2801 : return "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m"; - case 2802 : return "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m"; - case 2803 : return "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +units=m"; - case 2804 : return "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m"; - case 2805 : return "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +units=m"; - case 2806 : return "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2807 : return "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +units=m"; - case 2808 : return "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +units=m"; - case 2809 : return "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +units=m"; - case 2810 : return "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m"; - case 2811 : return "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m"; - case 2812 : return "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m"; - case 2813 : return "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m"; - case 2814 : return "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m"; - case 2815 : return "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m"; - case 2816 : return "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2817 : return "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +units=m"; - case 2818 : return "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2819 : return "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2820 : return "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +units=m"; - case 2821 : return "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +units=m"; - case 2822 : return "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +units=m"; - case 2823 : return "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m"; - case 2824 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m"; - case 2825 : return "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +units=m"; - case 2826 : return "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2827 : return "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +units=m"; - case 2828 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +units=m"; - case 2829 : return "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +units=m"; - case 2830 : return "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +units=m"; - case 2831 : return "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m"; - case 2832 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2833 : return "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2834 : return "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2835 : return "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2836 : return "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2837 : return "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2838 : return "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2839 : return "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2840 : return "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +units=m"; - case 2841 : return "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2842 : return "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2843 : return "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2844 : return "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +units=m"; - case 2845 : return "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +units=m"; - case 2846 : return "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +units=m"; - case 2847 : return "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +units=m"; - case 2848 : return "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +units=m"; - case 2849 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +units=m"; - case 2850 : return "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +units=m"; - case 2851 : return "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +units=m"; - case 2852 : return "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2853 : return "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +units=m"; - case 2854 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +units=m"; - case 2855 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2856 : return "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 2857 : return "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2858 : return "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2859 : return "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2860 : return "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2861 : return "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2862 : return "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +units=m"; - case 2863 : return "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +units=m"; - case 2864 : return "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 2865 : return "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +units=m"; - case 2866 : return "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +units=m"; - case 2867 : return "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2868 : return "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2869 : return "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2870 : return "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2871 : return "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2872 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2873 : return "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2874 : return "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2875 : return "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2876 : return "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2877 : return "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2878 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2879 : return "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2880 : return "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2881 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2882 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2883 : return "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2884 : return "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2885 : return "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2886 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2887 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2888 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2889 : return "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249364.9987299975 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2890 : return "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249364.9987299975 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2891 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2892 : return "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2893 : return "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2894 : return "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2895 : return "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2896 : return "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2897 : return "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2898 : return "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2899 : return "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2900 : return "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2901 : return "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2902 : return "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2903 : return "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2904 : return "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2905 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2906 : return "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2907 : return "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2908 : return "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2909 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2910 : return "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2911 : return "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2912 : return "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2913 : return "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2914 : return "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2915 : return "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2916 : return "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2917 : return "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2918 : return "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2919 : return "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2920 : return "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2921 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +to_meter=0.3048"; - case 2922 : return "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +to_meter=0.3048"; - case 2923 : return "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +to_meter=0.3048"; - case 2924 : return "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2925 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2926 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2927 : return "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2928 : return "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2929 : return "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2930 : return "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2931 : return "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.9996 +x_0=500000 +y_0=0 +a=6378249.2 +b=6356515 +towgs84=-106,-87,188,0,0,0,0 +units=m"; - case 2932 : return "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706 +units=m"; - case 2933 : return "+proj=utm +zone=50 +south +ellps=bessel +units=m"; - case 2934 : return "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m"; - case 2935 : return "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=41.53333333333333 +k=1 +x_0=1300000 +y_0=0 +ellps=krass +units=m"; - case 2936 : return "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=44.53333333333333 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m"; - case 2937 : return "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=47.53333333333333 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m"; - case 2938 : return "+proj=tmerc +lat_0=0.1166666666666667 +lon_0=50.53333333333333 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m"; - case 2939 : return "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=50.76666666666667 +k=1 +x_0=2300000 +y_0=0 +ellps=krass +units=m"; - case 2940 : return "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=53.76666666666667 +k=1 +x_0=3300000 +y_0=0 +ellps=krass +units=m"; - case 2941 : return "+proj=tmerc +lat_0=0.1333333333333333 +lon_0=56.76666666666667 +k=1 +x_0=4300000 +y_0=0 +ellps=krass +units=m"; - case 2942 : return "+proj=utm +zone=28 +ellps=intl +towgs84=-499,-249,314,0,0,0,0 +units=m"; - case 2943 : return "+proj=utm +zone=28 +ellps=intl +units=m"; - case 2944 : return "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m"; - case 2945 : return "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m"; - case 2946 : return "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m"; - case 2947 : return "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m"; - case 2948 : return "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m"; - case 2949 : return "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m"; - case 2950 : return "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m"; - case 2951 : return "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m"; - case 2952 : return "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +units=m"; - case 2953 : return "+proj=sterea +lat_0=46.5 +lon_0=-66.5 +k=0.999912 +x_0=2500000 +y_0=7500000 +ellps=GRS80 +units=m"; - case 2954 : return "+proj=sterea +lat_0=47.25 +lon_0=-63 +k=0.999912 +x_0=400000 +y_0=800000 +ellps=GRS80 +units=m"; - case 2955 : return "+proj=utm +zone=11 +ellps=GRS80 +units=m"; - case 2956 : return "+proj=utm +zone=12 +ellps=GRS80 +units=m"; - case 2957 : return "+proj=utm +zone=13 +ellps=GRS80 +units=m"; - case 2958 : return "+proj=utm +zone=17 +ellps=GRS80 +units=m"; - case 2959 : return "+proj=utm +zone=18 +ellps=GRS80 +units=m"; - case 2960 : return "+proj=utm +zone=19 +ellps=GRS80 +units=m"; - case 2961 : return "+proj=utm +zone=20 +ellps=GRS80 +units=m"; - case 2962 : return "+proj=utm +zone=21 +ellps=GRS80 +units=m"; - case 2964 : return "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 2965 : return "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2966 : return "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 2967 : return "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2968 : return "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 2969 : return "+proj=utm +zone=20 +ellps=intl +towgs84=137,248,-430,0,0,0,0 +units=m"; - case 2970 : return "+proj=utm +zone=20 +ellps=intl +units=m"; - case 2971 : return "+proj=utm +zone=22 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m"; - case 2972 : return "+proj=utm +zone=22 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m"; - case 2973 : return "+proj=utm +zone=20 +ellps=intl +units=m"; - case 2975 : return "+proj=utm +zone=40 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2976 : return "+proj=utm +zone=6 +south +ellps=intl +towgs84=162,117,154,0,0,0,0 +units=m"; - case 2977 : return "+proj=utm +zone=5 +south +ellps=intl +units=m"; - case 2978 : return "+proj=utm +zone=7 +south +ellps=intl +units=m"; - case 2979 : return "+proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 +units=m"; - case 2980 : return "+proj=utm +zone=38 +south +ellps=intl +towgs84=-382,-59,-262,0,0,0,0 +units=m"; - case 2981 : return "+proj=utm +zone=58 +south +ellps=intl +units=m"; - case 2982 : return "+proj=utm +zone=58 +south +ellps=intl +units=m"; - case 2983 : return "+proj=utm +zone=58 +south +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798 +units=m"; - case 2984 : return "+proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.33333333333333 +lat_0=-21.5 +lon_0=166 +x_0=400000 +y_0=300000 +ellps=intl +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2987 : return "+proj=utm +zone=21 +ellps=clrk66 +towgs84=30,430,368,0,0,0,0 +units=m"; - case 2988 : return "+proj=utm +zone=1 +south +ellps=intl +units=m"; - case 2989 : return "+proj=utm +zone=20 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 2990 : return "+proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333333333 +k=1 +x_0=50000 +y_0=160000 +ellps=intl +units=m"; - case 2991 : return "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 2992 : return "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048"; - case 2993 : return "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m"; - case 2994 : return "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 2995 : return "+proj=utm +zone=58 +south +ellps=intl +units=m"; - case 2996 : return "+proj=utm +zone=58 +south +ellps=intl +units=m"; - case 2997 : return "+proj=utm +zone=58 +south +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7 +units=m"; - case 2998 : return "+proj=utm +zone=58 +south +ellps=intl +units=m"; - case 2999 : return "+proj=utm +zone=38 +south +ellps=intl +units=m"; - case 3000 : return "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m"; - case 3001 : return "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +units=m"; - case 3002 : return "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +units=m"; - case 3003 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +units=m"; - case 3004 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +units=m"; - case 3005 : return "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3006 : return "+proj=utm +zone=33 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3007 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3008 : return "+proj=tmerc +lat_0=0 +lon_0=13.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3009 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3010 : return "+proj=tmerc +lat_0=0 +lon_0=16.5 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3011 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3012 : return "+proj=tmerc +lat_0=0 +lon_0=14.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3013 : return "+proj=tmerc +lat_0=0 +lon_0=15.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3014 : return "+proj=tmerc +lat_0=0 +lon_0=17.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3015 : return "+proj=tmerc +lat_0=0 +lon_0=18.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3016 : return "+proj=tmerc +lat_0=0 +lon_0=20.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3017 : return "+proj=tmerc +lat_0=0 +lon_0=21.75 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3018 : return "+proj=tmerc +lat_0=0 +lon_0=23.25 +k=1 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3019 : return "+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3020 : return "+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3021 : return "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3022 : return "+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3023 : return "+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3024 : return "+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3025 : return "+proj=tmerc +lat_0=0 +lon_0=11.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3026 : return "+proj=tmerc +lat_0=0 +lon_0=13.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3027 : return "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3028 : return "+proj=tmerc +lat_0=0 +lon_0=18.05827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3029 : return "+proj=tmerc +lat_0=0 +lon_0=20.30827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3030 : return "+proj=tmerc +lat_0=0 +lon_0=22.55827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 3031 : return "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3032 : return "+proj=stere +lat_0=-90 +lat_ts=-71 +lon_0=70 +k=1 +x_0=6000000 +y_0=6000000 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3033 : return "+proj=lcc +lat_1=-68.5 +lat_2=-74.5 +lat_0=-50 +lon_0=70 +x_0=6000000 +y_0=6000000 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3034 : return "+proj=lcc +lat_1=35 +lat_2=65 +lat_0=52 +lon_0=10 +x_0=4000000 +y_0=2800000 +ellps=GRS80 +units=m"; - case 3035 : return "+proj=laea +lat_0=52 +lon_0=10 +x_0=4321000 +y_0=3210000 +ellps=GRS80 +units=m"; - case 3036 : return "+proj=utm +zone=36 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m"; - case 3037 : return "+proj=utm +zone=37 +south +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0 +units=m"; - case 3038 : return "+proj=utm +zone=26 +ellps=GRS80 +units=m"; - case 3039 : return "+proj=utm +zone=27 +ellps=GRS80 +units=m"; - case 3040 : return "+proj=utm +zone=28 +ellps=GRS80 +units=m"; - case 3041 : return "+proj=utm +zone=29 +ellps=GRS80 +units=m"; - case 3042 : return "+proj=utm +zone=30 +ellps=GRS80 +units=m"; - case 3043 : return "+proj=utm +zone=31 +ellps=GRS80 +units=m"; - case 3044 : return "+proj=utm +zone=32 +ellps=GRS80 +units=m"; - case 3045 : return "+proj=utm +zone=33 +ellps=GRS80 +units=m"; - case 3046 : return "+proj=utm +zone=34 +ellps=GRS80 +units=m"; - case 3047 : return "+proj=utm +zone=35 +ellps=GRS80 +units=m"; - case 3048 : return "+proj=utm +zone=36 +ellps=GRS80 +units=m"; - case 3049 : return "+proj=utm +zone=37 +ellps=GRS80 +units=m"; - case 3050 : return "+proj=utm +zone=38 +ellps=GRS80 +units=m"; - case 3051 : return "+proj=utm +zone=39 +ellps=GRS80 +units=m"; - case 3054 : return "+proj=utm +zone=26 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m"; - case 3055 : return "+proj=utm +zone=27 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m"; - case 3056 : return "+proj=utm +zone=28 +ellps=intl +towgs84=-73,46,-86,0,0,0,0 +units=m"; - case 3057 : return "+proj=lcc +lat_1=64.25 +lat_2=65.75 +lat_0=65 +lon_0=-19 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3058 : return "+proj=tmerc +lat_0=0 +lon_0=-8.5 +k=1 +x_0=50000 +y_0=-7800000 +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805 +units=m"; - case 3059 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=-6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3060 : return "+proj=utm +zone=58 +south +ellps=intl +units=m"; - case 3061 : return "+proj=utm +zone=28 +ellps=intl +units=m"; - case 3062 : return "+proj=utm +zone=26 +ellps=intl +units=m"; - case 3063 : return "+proj=utm +zone=26 +ellps=intl +units=m"; - case 3064 : return "+proj=utm +zone=32 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3065 : return "+proj=utm +zone=33 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3066 : return "+proj=tmerc +lat_0=0 +lon_0=37 +k=0.9998 +x_0=500000 +y_0=-3000000 +ellps=intl +units=m"; - case 3067 : return "+proj=utm +zone=35 +ellps=GRS80 +units=m"; - case 3068 : return "+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +datum=potsdam +units=m"; - case 3069 : return "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=500000 +y_0=-4500000 +ellps=clrk66 +datum=NAD27 +units=m"; - case 3070 : return "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3071 : return "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +units=m"; - case 3072 : return "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3073 : return "+proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3074 : return "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3075 : return "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +units=m"; - case 3076 : return "+proj=tmerc +lat_0=43 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3077 : return "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +units=m"; - case 3078 : return "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3079 : return "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +units=m"; - case 3080 : return "+proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=914400 +y_0=914400 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048"; - case 3081 : return "+proj=lcc +lat_1=27.41666666666667 +lat_2=34.91666666666666 +lat_0=31.16666666666667 +lon_0=-100 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3082 : return "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3083 : return "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3084 : return "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +units=m"; - case 3085 : return "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +units=m"; - case 3086 : return "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3087 : return "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m"; - case 3088 : return "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3089 : return "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3090 : return "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +units=m"; - case 3091 : return "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3092 : return "+proj=utm +zone=51 +ellps=bessel +units=m"; - case 3093 : return "+proj=utm +zone=52 +ellps=bessel +units=m"; - case 3094 : return "+proj=utm +zone=53 +ellps=bessel +units=m"; - case 3095 : return "+proj=utm +zone=54 +ellps=bessel +units=m"; - case 3096 : return "+proj=utm +zone=55 +ellps=bessel +units=m"; - case 3097 : return "+proj=utm +zone=51 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3098 : return "+proj=utm +zone=52 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3099 : return "+proj=utm +zone=53 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3100 : return "+proj=utm +zone=54 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3101 : return "+proj=utm +zone=55 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3102 : return "+proj=lcc +lat_1=-14.26666666666667 +lat_0=-14.26666666666667 +lon_0=-170 +k_0=1 +x_0=152400.3048006096 +y_0=95169.31165862332 +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0 +to_meter=0.3048006096012192"; - case 3103 : return "+proj=utm +zone=28 +ellps=clrk80 +units=m"; - case 3104 : return "+proj=utm +zone=29 +ellps=clrk80 +units=m"; - case 3105 : return "+proj=utm +zone=30 +ellps=clrk80 +units=m"; - case 3106 : return "+proj=tmerc +lat_0=0 +lon_0=90 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m"; - case 3107 : return "+proj=lcc +lat_1=-28 +lat_2=-36 +lat_0=-32 +lon_0=135 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3108 : return "+proj=tmerc +lat_0=49.5 +lon_0=-2.416666666666667 +k=0.999997 +x_0=47000 +y_0=50000 +ellps=GRS80 +units=m"; - case 3109 : return "+proj=tmerc +lat_0=49.225 +lon_0=-2.135 +k=0.9999999000000001 +x_0=40000 +y_0=70000 +ellps=GRS80 +units=m"; - case 3110 : return "+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=4500000 +ellps=aust_SA +units=m"; - case 3111 : return "+proj=lcc +lat_1=-36 +lat_2=-38 +lat_0=-37 +lon_0=145 +x_0=2500000 +y_0=2500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3112 : return "+proj=lcc +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=134 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3113 : return "+proj=tmerc +lat_0=-28 +lon_0=153 +k=0.99999 +x_0=50000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3114 : return "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-80.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3115 : return "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-77.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3116 : return "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-74.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3117 : return "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-71.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3118 : return "+proj=tmerc +lat_0=4.596200416666666 +lon_0=-68.07750791666666 +k=1 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3119 : return "+proj=tmerc +lat_0=0 +lon_0=10.5 +k=0.999 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0 +units=m"; - case 3120 : return "+proj=sterea +lat_0=50.625 +lon_0=21.08333333333333 +k=0.9998 +x_0=4637000 +y_0=5467000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 3121 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m"; - case 3122 : return "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m"; - case 3123 : return "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m"; - case 3124 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m"; - case 3125 : return "+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06 +units=m"; - case 3126 : return "+proj=tmerc +lat_0=0 +lon_0=19 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3127 : return "+proj=tmerc +lat_0=0 +lon_0=20 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3128 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3129 : return "+proj=tmerc +lat_0=0 +lon_0=22 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3130 : return "+proj=tmerc +lat_0=0 +lon_0=23 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3131 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3132 : return "+proj=tmerc +lat_0=0 +lon_0=25 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3133 : return "+proj=tmerc +lat_0=0 +lon_0=26 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3134 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3135 : return "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3136 : return "+proj=tmerc +lat_0=0 +lon_0=29 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3137 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3138 : return "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3140 : return "+proj=cass +lat_0=-18 +lon_0=178 +x_0=109435.392 +y_0=141622.272 +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +to_meter=0.201168"; - case 3141 : return "+proj=utm +zone=60 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m"; - case 3142 : return "+proj=utm +zone=1 +south +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0 +units=m"; - case 3143 : return "+proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=2000000 +y_0=4000000 +ellps=WGS72 +units=m"; - case 3146 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m"; - case 3147 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 3148 : return "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m"; - case 3149 : return "+proj=utm +zone=49 +a=6377276.345 +b=6356075.41314024 +units=m"; - case 3150 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m"; - case 3151 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 3152 : return "+proj=tmerc +lat_0=0 +lon_0=18.05779 +k=0.99999425 +x_0=100178.1808 +y_0=-6500614.7836 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3153 : return "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m"; - case 3154 : return "+proj=utm +zone=7 +ellps=GRS80 +units=m"; - case 3155 : return "+proj=utm +zone=8 +ellps=GRS80 +units=m"; - case 3156 : return "+proj=utm +zone=9 +ellps=GRS80 +units=m"; - case 3157 : return "+proj=utm +zone=10 +ellps=GRS80 +units=m"; - case 3158 : return "+proj=utm +zone=14 +ellps=GRS80 +units=m"; - case 3159 : return "+proj=utm +zone=15 +ellps=GRS80 +units=m"; - case 3160 : return "+proj=utm +zone=16 +ellps=GRS80 +units=m"; - case 3161 : return "+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3162 : return "+proj=lcc +lat_1=44.5 +lat_2=53.5 +lat_0=0 +lon_0=-85 +x_0=930000 +y_0=6430000 +ellps=GRS80 +units=m"; - case 3163 : return "+proj=lcc +lat_1=-20.66666666666667 +lat_2=-22.33333333333333 +lat_0=-21.5 +lon_0=166 +x_0=400000 +y_0=300000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3164 : return "+proj=utm +zone=58 +south +ellps=WGS84 +towgs84=-56.263,16.136,-22.856,0,0,0,0 +units=m"; - case 3165 : return "+proj=lcc +lat_1=-22.24469175 +lat_2=-22.29469175 +lat_0=-22.26969175 +lon_0=166.44242575 +x_0=0.66 +y_0=1.02 +ellps=intl +units=m"; - case 3166 : return "+proj=lcc +lat_1=-22.24472222222222 +lat_2=-22.29472222222222 +lat_0=-22.26972222222222 +lon_0=166.4425 +x_0=8.313000000000001 +y_0=-2.354 +ellps=intl +units=m"; - case 3167 : return "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=40000 +y_0=0 +a=6377295.664 +b=6356094.667915204 +to_meter=20.116756"; - case 3168 : return "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804670.24 +y_0=0 +a=6377295.664 +b=6356094.667915204 +units=m"; - case 3169 : return "+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3170 : return "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3171 : return "+proj=utm +zone=59 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3172 : return "+proj=utm +zone=59 +south +ellps=intl +units=m"; - case 3174 : return "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-84.455955 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3175 : return "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-83.248627 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3176 : return "+proj=tmerc +lat_0=0 +lon_0=106 +k=0.9996 +x_0=500000 +y_0=0 +a=6377276.345 +b=6356075.41314024 +units=m"; - case 3177 : return "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.9965000000000001 +x_0=1000000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3178 : return "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3179 : return "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3180 : return "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3181 : return "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3182 : return "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3183 : return "+proj=utm +zone=23 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3184 : return "+proj=utm +zone=24 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3185 : return "+proj=utm +zone=25 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3186 : return "+proj=utm +zone=26 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3187 : return "+proj=utm +zone=27 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3188 : return "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3189 : return "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3190 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3191 : return "+proj=tmerc +lat_0=0 +lon_0=11 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3192 : return "+proj=tmerc +lat_0=0 +lon_0=13 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3193 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3194 : return "+proj=tmerc +lat_0=0 +lon_0=17 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3195 : return "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3196 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3197 : return "+proj=tmerc +lat_0=0 +lon_0=23 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3198 : return "+proj=tmerc +lat_0=0 +lon_0=25 +k=0.99995 +x_0=200000 +y_0=0 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3199 : return "+proj=utm +zone=32 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3200 : return "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m"; - case 3201 : return "+proj=utm +zone=33 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3202 : return "+proj=utm +zone=34 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3203 : return "+proj=utm +zone=35 +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0 +units=m"; - case 3204 : return "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3205 : return "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3206 : return "+proj=lcc +lat_1=-60.66666666666666 +lat_2=-63.33333333333334 +lat_0=-90 +lon_0=-42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3207 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3208 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3209 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=-54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3210 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3211 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3212 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3213 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3214 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3215 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3216 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3217 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3218 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3219 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3220 : return "+proj=lcc +lat_1=-64.66666666666667 +lat_2=-67.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3221 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3222 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3223 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3224 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3225 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3226 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=-6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3227 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=6 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3228 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=18 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3229 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=30 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3230 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=42 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3231 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=54 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3232 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=66 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3233 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=78 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3234 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3235 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=102 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3236 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=114 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3237 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=126 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3238 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=138 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3239 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3240 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3241 : return "+proj=lcc +lat_1=-68.66666666666667 +lat_2=-71.33333333333333 +lat_0=-90 +lon_0=174 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3242 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3243 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3244 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3245 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3246 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3247 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3248 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3249 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=-9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3250 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=9 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3251 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=27 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3252 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=45 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3253 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=63 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3254 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=81 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3255 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=99 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3256 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=117 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3257 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=135 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3258 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=153 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3259 : return "+proj=lcc +lat_1=-72.66666666666667 +lat_2=-75.33333333333333 +lat_0=-90 +lon_0=171 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3260 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3261 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3262 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3263 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3264 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3265 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3266 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=-24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3267 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3268 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=24 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3269 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=48 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3270 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=72 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3271 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=96 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3272 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=120 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3273 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=144 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3274 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-90 +lon_0=168 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3275 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-165 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3276 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-135 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3277 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-105 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3278 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-75 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3279 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3280 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-15 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3281 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=15 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3282 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3283 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=75 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3284 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=105 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3285 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=135 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3286 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=165 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3287 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3288 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-90 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3289 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=-30 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3290 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=30 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3291 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=90 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3292 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3293 : return "+proj=stere +lat_0=-90 +lat_ts=-80.23861111111111 +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3294 : return "+proj=lcc +lat_1=-76.66666666666667 +lat_2=-79.33333333333333 +lat_0=-78 +lon_0=162 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3296 : return "+proj=utm +zone=5 +south +ellps=GRS80 +units=m"; - case 3297 : return "+proj=utm +zone=6 +south +ellps=GRS80 +units=m"; - case 3298 : return "+proj=utm +zone=7 +south +ellps=GRS80 +units=m"; - case 3299 : return "+proj=utm +zone=8 +south +ellps=GRS80 +units=m"; - case 3300 : return "+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014 +units=m"; - case 3301 : return "+proj=lcc +lat_1=59.33333333333334 +lat_2=58 +lat_0=57.51755393055556 +lon_0=24 +x_0=500000 +y_0=6375000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3302 : return "+proj=utm +zone=7 +south +ellps=intl +units=m"; - case 3303 : return "+proj=utm +zone=7 +south +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074 +units=m"; - case 3304 : return "+proj=utm +zone=6 +south +ellps=intl +units=m"; - case 3305 : return "+proj=utm +zone=6 +south +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773 +units=m"; - case 3306 : return "+proj=utm +zone=5 +south +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0 +units=m"; - case 3307 : return "+proj=utm +zone=39 +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0 +units=m"; - case 3308 : return "+proj=lcc +lat_1=-30.75 +lat_2=-35.75 +lat_0=-33.25 +lon_0=147 +x_0=9300000 +y_0=4500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3309 : return "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=clrk66 +datum=NAD27 +units=m"; - case 3310 : return "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3311 : return "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +units=m"; - case 3312 : return "+proj=utm +zone=21 +ellps=intl +towgs84=-186,230,110,0,0,0,0 +units=m"; - case 3313 : return "+proj=utm +zone=21 +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0 +units=m"; - case 3314 : return "+proj=lcc +lat_1=-6.5 +lat_2=-11.5 +lat_0=0 +lon_0=26 +x_0=0 +y_0=0 +ellps=clrk66 +units=m"; - case 3315 : return "+proj=tmerc +lat_0=-9 +lon_0=26 +k=0.9998 +x_0=0 +y_0=0 +ellps=clrk66 +units=m"; - case 3316 : return "+proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3317 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3318 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3319 : return "+proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3320 : return "+proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3321 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3322 : return "+proj=tmerc +lat_0=0 +lon_0=20 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3323 : return "+proj=tmerc +lat_0=0 +lon_0=22 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3324 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3325 : return "+proj=tmerc +lat_0=0 +lon_0=26 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3326 : return "+proj=tmerc +lat_0=0 +lon_0=28 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3327 : return "+proj=tmerc +lat_0=0 +lon_0=30 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 3328 : return "+proj=sterea +lat_0=52.16666666666666 +lon_0=19.16666666666667 +k=0.999714 +x_0=500000 +y_0=500000 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 3329 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 3330 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 3331 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 3332 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 3333 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 3334 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 3335 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84 +units=m"; - case 3336 : return "+proj=utm +zone=42 +south +ellps=intl +towgs84=145,-187,103,0,0,0,0 +units=m"; - case 3337 : return "+proj=lcc +lat_1=-20.19506944444445 +lat_0=-20.19506944444445 +lon_0=57.52182777777778 +k_0=1 +x_0=1000000 +y_0=1000000 +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0 +units=m"; - case 3338 : return "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3339 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m"; - case 3340 : return "+proj=tmerc +lat_0=0 +lon_0=14 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m"; - case 3341 : return "+proj=tmerc +lat_0=0 +lon_0=16 +k=0.9999 +x_0=500000 +y_0=10000000 +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m"; - case 3342 : return "+proj=utm +zone=33 +south +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0 +units=m"; - case 3343 : return "+proj=utm +zone=28 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3344 : return "+proj=utm +zone=29 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3345 : return "+proj=utm +zone=30 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3346 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3347 : return "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-91.86666666666666 +x_0=6200000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3348 : return "+proj=lcc +lat_1=49 +lat_2=77 +lat_0=63.390675 +lon_0=-91.86666666666666 +x_0=6200000 +y_0=3000000 +ellps=GRS80 +units=m"; - case 3349 : return "+proj=merc +lon_0=-150 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3350 : return "+proj=tmerc +lat_0=0.1 +lon_0=21.95 +k=1 +x_0=250000 +y_0=0 +ellps=krass +units=m"; - case 3351 : return "+proj=tmerc +lat_0=0.1 +lon_0=24.95 +k=1 +x_0=1250000 +y_0=0 +ellps=krass +units=m"; - case 3352 : return "+proj=tmerc +lat_0=0.1 +lon_0=27.95 +k=1 +x_0=2250000 +y_0=0 +ellps=krass +units=m"; - case 3353 : return "+proj=utm +zone=32 +south +ellps=intl +units=m"; - case 3354 : return "+proj=utm +zone=32 +south +ellps=intl +units=m"; - case 3355 : return "+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +towgs84=-146.21,112.63,4.05,0,0,0,0 +units=m"; - case 3356 : return "+proj=utm +zone=17 +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0 +units=m"; - case 3357 : return "+proj=utm +zone=17 +ellps=clrk66 +units=m"; - case 3358 : return "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +units=m"; - case 3359 : return "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024385 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 3360 : return "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +units=m"; - case 3361 : return "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +to_meter=0.3048"; - case 3362 : return "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 3363 : return "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3364 : return "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +units=m"; - case 3365 : return "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3366 : return "+proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +units=m"; - case 3367 : return "+proj=utm +zone=28 +ellps=clrk80 +units=m"; - case 3368 : return "+proj=utm +zone=29 +ellps=clrk80 +units=m"; - case 3369 : return "+proj=utm +zone=30 +ellps=clrk80 +units=m"; - case 3370 : return "+proj=utm +zone=59 +ellps=clrk66 +datum=NAD27 +units=m"; - case 3371 : return "+proj=utm +zone=60 +ellps=clrk66 +datum=NAD27 +units=m"; - case 3372 : return "+proj=utm +zone=59 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3373 : return "+proj=utm +zone=60 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3374 : return "+proj=utm +zone=29 +ellps=intl +units=m"; - case 3375 : return "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257964666666 +k=0.99984 +x_0=804671 +y_0=0 +ellps=GRS80 +units=m"; - case 3376 : return "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31580995 +k=0.99984 +x_0=0 +y_0=0 +ellps=GRS80 +units=m"; - case 3377 : return "+proj=cass +lat_0=2.121679744444445 +lon_0=103.4279362361111 +x_0=-14810.562 +y_0=8758.32 +ellps=GRS80 +units=m"; - case 3378 : return "+proj=cass +lat_0=2.682347636111111 +lon_0=101.9749050416667 +x_0=3673.785 +y_0=-4240.573 +ellps=GRS80 +units=m"; - case 3379 : return "+proj=cass +lat_0=3.769388088888889 +lon_0=102.3682989833333 +x_0=-7368.228 +y_0=6485.858 +ellps=GRS80 +units=m"; - case 3380 : return "+proj=cass +lat_0=3.68464905 +lon_0=101.3891079138889 +x_0=-34836.161 +y_0=56464.049 +ellps=GRS80 +units=m"; - case 3381 : return "+proj=cass +lat_0=4.9762852 +lon_0=103.070275625 +x_0=19594.245 +y_0=3371.895 +ellps=GRS80 +units=m"; - case 3382 : return "+proj=cass +lat_0=5.421517541666667 +lon_0=100.3443769638889 +x_0=-23.414 +y_0=62.283 +ellps=GRS80 +units=m"; - case 3383 : return "+proj=cass +lat_0=5.964672713888889 +lon_0=100.6363711111111 +x_0=0 +y_0=0 +ellps=GRS80 +units=m"; - case 3384 : return "+proj=cass +lat_0=4.859063022222222 +lon_0=100.8154105861111 +x_0=-1.769 +y_0=133454.779 +ellps=GRS80 +units=m"; - case 3385 : return "+proj=cass +lat_0=5.972543658333334 +lon_0=102.2952416694444 +x_0=13227.851 +y_0=8739.894 +ellps=GRS80 +units=m"; - case 3386 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.743,4.80107,0.34543,-1.37646,1.4964 +units=m"; - case 3387 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +towgs84=-96.0617,-82.4278,-121.743,4.80107,0.34543,-1.37646,1.4964 +units=m"; - case 3388 : return "+proj=merc +lon_0=51 +k=1 +x_0=0 +y_0=0 +ellps=krass +units=m"; - case 3389 : return "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +units=m"; - case 3390 : return "+proj=tmerc +lat_0=0 +lon_0=180 +k=1 +x_0=60500000 +y_0=0 +ellps=krass +units=m"; - case 3391 : return "+proj=utm +zone=37 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m"; - case 3392 : return "+proj=utm +zone=38 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m"; - case 3393 : return "+proj=utm +zone=39 +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0 +units=m"; - case 3394 : return "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +units=m"; - case 3395 : return "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3396 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +units=m"; - case 3397 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m"; - case 3398 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +units=m"; - case 3399 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +units=m"; - case 3400 : return "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3401 : return "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3402 : return "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3403 : return "+proj=tmerc +lat_0=0 +lon_0=-115 +k=0.9992 +x_0=0 +y_0=0 +ellps=GRS80 +units=m"; - case 3404 : return "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3405 : return "+proj=utm +zone=48 +ellps=WGS84 +units=m"; - case 3406 : return "+proj=utm +zone=49 +ellps=WGS84 +units=m"; - case 3407 : return "+proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654"; - case 3408 : return "+proj=laea +lat_0=90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m"; - case 3409 : return "+proj=laea +lat_0=-90 +lon_0=0 +x_0=0 +y_0=0 +a=6371228 +b=6371228 +units=m"; - case 3411 : return "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m"; - case 3412 : return "+proj=stere +lat_0=-90 +lat_ts=-70 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378273 +b=6356889.449 +units=m"; - case 3413 : return "+proj=stere +lat_0=90 +lat_ts=70 +lon_0=-45 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3414 : return "+proj=tmerc +lat_0=1.366666666666667 +lon_0=103.8333333333333 +k=1 +x_0=28001.642 +y_0=38744.572 +ellps=WGS84 +units=m"; - case 3415 : return "+proj=lcc +lat_1=18 +lat_2=24 +lat_0=21 +lon_0=114 +x_0=500000 +y_0=500000 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 3416 : return "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=GRS80 +units=m"; - case 3417 : return "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3418 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3419 : return "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3420 : return "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3421 : return "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3422 : return "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3423 : return "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3424 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3425 : return "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3426 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3427 : return "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3428 : return "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3429 : return "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3430 : return "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3431 : return "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3432 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3433 : return "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3434 : return "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3435 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3436 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3437 : return "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3438 : return "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3439 : return "+proj=utm +zone=39 +ellps=clrk80 +units=m"; - case 3440 : return "+proj=utm +zone=40 +ellps=clrk80 +units=m"; - case 3441 : return "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3442 : return "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3443 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3444 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3445 : return "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3446 : return "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3447 : return "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=50.797815 +lon_0=4.359215833333333 +x_0=150328 +y_0=166262 +ellps=GRS80 +units=m"; - case 3448 : return "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=750000 +y_0=650000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3449 : return "+proj=utm +zone=17 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3450 : return "+proj=utm +zone=18 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3451 : return "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3452 : return "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3453 : return "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3454 : return "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3455 : return "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3456 : return "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3457 : return "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3458 : return "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3459 : return "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3460 : return "+proj=tmerc +lat_0=-17 +lon_0=178.75 +k=0.99985 +x_0=2000000 +y_0=4000000 +ellps=WGS72 +units=m"; - case 3461 : return "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m"; - case 3462 : return "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0 +units=m"; - case 3463 : return "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3464 : return "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 3465 : return "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3466 : return "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3467 : return "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3468 : return "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3469 : return "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3470 : return "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3471 : return "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3472 : return "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3473 : return "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3474 : return "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3475 : return "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3476 : return "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3477 : return "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3478 : return "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3479 : return "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3480 : return "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3481 : return "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3482 : return "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3483 : return "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3484 : return "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3485 : return "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3486 : return "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3487 : return "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3488 : return "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3489 : return "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3490 : return "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3491 : return "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3492 : return "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3493 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3494 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3495 : return "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3496 : return "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3497 : return "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3498 : return "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3499 : return "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3500 : return "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000.0001016 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3501 : return "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3502 : return "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3503 : return "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3504 : return "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3505 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3506 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8288036576 +y_0=304800.6096012192 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3507 : return "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3508 : return "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096012192 +y_0=152400.3048006096 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3509 : return "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3510 : return "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3511 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3512 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3513 : return "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3514 : return "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3515 : return "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3516 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3517 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3518 : return "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3519 : return "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3520 : return "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3521 : return "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3522 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3523 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3524 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3525 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000.0001016002 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3526 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3527 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3528 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3529 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3530 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3531 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=699999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3532 : return "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3533 : return "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=99999.99989839978 +y_0=249999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3534 : return "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3535 : return "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=249999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3536 : return "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3537 : return "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=999999.9999898402 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3538 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3539 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3540 : return "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3541 : return "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=399999.99998984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3542 : return "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3543 : return "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=399999.99998984 +y_0=399999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3544 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3545 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3546 : return "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3547 : return "+proj=lcc +lat_1=37.08333333333334 +lat_2=38.66666666666666 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=1500000 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3548 : return "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3549 : return "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000.0001016001 +y_0=500000.0001016001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3550 : return "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3551 : return "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3552 : return "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3553 : return "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=999999.9999898402 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3554 : return "+proj=tmerc +lat_0=43.5 +lon_0=-69.125 +k=0.99998 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3555 : return "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-67.875 +k=0.99998 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3556 : return "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.375 +k=0.99998 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3557 : return "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3558 : return "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3559 : return "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3560 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3561 : return "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192"; - case 3562 : return "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192"; - case 3563 : return "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192"; - case 3564 : return "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192"; - case 3565 : return "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +to_meter=0.3048006096012192"; - case 3566 : return "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3567 : return "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3568 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3569 : return "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3570 : return "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3571 : return "+proj=laea +lat_0=90 +lon_0=180 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3572 : return "+proj=laea +lat_0=90 +lon_0=-150 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3573 : return "+proj=laea +lat_0=90 +lon_0=-100 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3574 : return "+proj=laea +lat_0=90 +lon_0=-40 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3575 : return "+proj=laea +lat_0=90 +lon_0=10 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3576 : return "+proj=laea +lat_0=90 +lon_0=90 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3577 : return "+proj=aea +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=132 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3578 : return "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3579 : return "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m"; - case 3580 : return "+proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 3581 : return "+proj=lcc +lat_1=62 +lat_2=70 +lat_0=0 +lon_0=-112 +x_0=0 +y_0=0 +ellps=GRS80 +units=m"; - case 3582 : return "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=399999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3583 : return "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3584 : return "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3585 : return "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3586 : return "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000.0001016002 +y_0=750000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3587 : return "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3588 : return "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=5999999.999976001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3589 : return "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3590 : return "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=7999999.999968001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3591 : return "+proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 +k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3592 : return "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3593 : return "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=3999999.999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3594 : return "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3595 : return "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3596 : return "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3597 : return "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3598 : return "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3599 : return "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3600 : return "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=699999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3601 : return "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3602 : return "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3603 : return "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3604 : return "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3605 : return "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3606 : return "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3607 : return "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3608 : return "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000.00001016 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3609 : return "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3610 : return "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000.00001016 +y_0=8000000.000010163 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3611 : return "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3612 : return "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000.0000101599 +y_0=3999999.99998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3613 : return "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3614 : return "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3615 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3616 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3617 : return "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3618 : return "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3619 : return "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3620 : return "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3621 : return "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3622 : return "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3623 : return "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3624 : return "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=249999.9998983998 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3625 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3626 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3627 : return "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3628 : return "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000.0000000001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3629 : return "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3630 : return "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3631 : return "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3632 : return "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3633 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3634 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3635 : return "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3636 : return "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=599999.9999976 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3637 : return "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3638 : return "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3639 : return "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3640 : return "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3641 : return "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3642 : return "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3643 : return "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3644 : return "+proj=lcc +lat_1=43 +lat_2=45.5 +lat_0=41.75 +lon_0=-120.5 +x_0=399999.9999984 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3645 : return "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3646 : return "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000.0001424 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3647 : return "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3648 : return "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000.0001464 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3649 : return "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3650 : return "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3651 : return "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3652 : return "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3653 : return "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3654 : return "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=99999.99998983997 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3655 : return "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3656 : return "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3657 : return "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3658 : return "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3659 : return "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3660 : return "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3661 : return "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3662 : return "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3663 : return "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3664 : return "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=699999.9998983998 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3665 : return "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3666 : return "+proj=lcc +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3667 : return "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3668 : return "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000.0001016002 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3669 : return "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3670 : return "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3671 : return "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3672 : return "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000.0000000001 +y_0=5000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3673 : return "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3674 : return "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=3999999.9998984 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3675 : return "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3676 : return "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=1999999.999992 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3677 : return "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=2000000.00001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3678 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3679 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.0001504 +y_0=999999.9999960001 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3680 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000.00001016 +y_0=999999.9999898402 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3681 : return "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3682 : return "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.0001504 +y_0=2999999.999988 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048"; - case 3683 : return "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000.00001016 +y_0=3000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3684 : return "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3685 : return "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3686 : return "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=2000000.0001016 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3687 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3688 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000.0001016 +y_0=999999.9998983998 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3689 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3690 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3691 : return "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3692 : return "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000.0001016001 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3693 : return "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3694 : return "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3695 : return "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3696 : return "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3697 : return "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3698 : return "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3699 : return "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3700 : return "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3701 : return "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9996 +x_0=520000 +y_0=-4480000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3702 : return "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3703 : return "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3704 : return "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3705 : return "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3706 : return "+proj=utm +zone=59 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3707 : return "+proj=utm +zone=60 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3708 : return "+proj=utm +zone=1 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3709 : return "+proj=utm +zone=2 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3710 : return "+proj=utm +zone=3 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3711 : return "+proj=utm +zone=4 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3712 : return "+proj=utm +zone=5 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3713 : return "+proj=utm +zone=6 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3714 : return "+proj=utm +zone=7 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3715 : return "+proj=utm +zone=8 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3716 : return "+proj=utm +zone=9 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3717 : return "+proj=utm +zone=10 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3718 : return "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3719 : return "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3720 : return "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3721 : return "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3722 : return "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3723 : return "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3724 : return "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3725 : return "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3726 : return "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 3727 : return "+proj=tmerc +lat_0=-21.11666666666667 +lon_0=55.53333333333333 +k=1 +x_0=160000 +y_0=50000 +ellps=intl +units=m"; - case 3728 : return "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3729 : return "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3730 : return "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3731 : return "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3732 : return "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3733 : return "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +to_meter=0.3048006096012192"; - case 3734 : return "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3735 : return "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3736 : return "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3737 : return "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3738 : return "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3739 : return "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3740 : return "+proj=utm +zone=10 +ellps=GRS80 +units=m"; - case 3741 : return "+proj=utm +zone=11 +ellps=GRS80 +units=m"; - case 3742 : return "+proj=utm +zone=12 +ellps=GRS80 +units=m"; - case 3743 : return "+proj=utm +zone=13 +ellps=GRS80 +units=m"; - case 3744 : return "+proj=utm +zone=14 +ellps=GRS80 +units=m"; - case 3745 : return "+proj=utm +zone=15 +ellps=GRS80 +units=m"; - case 3746 : return "+proj=utm +zone=16 +ellps=GRS80 +units=m"; - case 3747 : return "+proj=utm +zone=17 +ellps=GRS80 +units=m"; - case 3748 : return "+proj=utm +zone=18 +ellps=GRS80 +units=m"; - case 3749 : return "+proj=utm +zone=19 +ellps=GRS80 +units=m"; - case 3750 : return "+proj=utm +zone=4 +ellps=GRS80 +units=m"; - case 3751 : return "+proj=utm +zone=5 +ellps=GRS80 +units=m"; - case 3752 : return "+proj=merc +lon_0=100 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3753 : return "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3754 : return "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3755 : return "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3756 : return "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=399999.99998984 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3757 : return "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3758 : return "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000.0000101599 +y_0=99999.99998983997 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3759 : return "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 3760 : return "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000.00001016 +y_0=0 +ellps=GRS80 +to_meter=0.3048006096012192"; - case 3761 : return "+proj=utm +zone=22 +ellps=GRS80 +units=m"; - case 3762 : return "+proj=lcc +lat_1=-54 +lat_2=-54.75 +lat_0=-55 +lon_0=-37 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 3920 : return "+proj=utm +zone=20 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +units=m"; - case 3991 : return "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +to_meter=0.3048006096012192"; - case 3992 : return "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=152400.3048006096 +y_0=30480.06096012192 +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0 +to_meter=0.3048006096012192"; - case 4001 : return "+proj=longlat +ellps=airy"; - case 4002 : return "+proj=longlat +a=6377340.189 +b=6356034.447938534"; - case 4003 : return "+proj=longlat +ellps=aust_SA"; - case 4004 : return "+proj=longlat +ellps=bessel"; - case 4005 : return "+proj=longlat +a=6377492.018 +b=6356173.508712696"; - case 4006 : return "+proj=longlat +ellps=bess_nam"; - case 4007 : return "+proj=longlat +a=6378293.645208759 +b=6356617.987679838"; - case 4008 : return "+proj=longlat +ellps=clrk66"; - case 4009 : return "+proj=longlat +a=6378450.047548896 +b=6356826.621488444"; - case 4010 : return "+proj=longlat +a=6378300.789 +b=6356566.435"; - case 4011 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4012 : return "+proj=longlat +ellps=clrk80"; - case 4013 : return "+proj=longlat +a=6378249.145 +b=6356514.966398753"; - case 4014 : return "+proj=longlat +a=6378249.2 +b=6356514.996941779"; - case 4015 : return "+proj=longlat +a=6377276.345 +b=6356075.41314024"; - case 4016 : return "+proj=longlat +ellps=evrstSS"; - case 4018 : return "+proj=longlat +a=6377304.063 +b=6356103.038993155"; - case 4019 : return "+proj=longlat +ellps=GRS80"; - case 4020 : return "+proj=longlat +ellps=helmert"; - case 4021 : return "+proj=longlat +a=6378160 +b=6356774.50408554"; - case 4022 : return "+proj=longlat +ellps=intl"; - case 4024 : return "+proj=longlat +ellps=krass"; - case 4025 : return "+proj=longlat +ellps=WGS66"; - case 4027 : return "+proj=longlat +a=6376523 +b=6355862.933255573"; - case 4028 : return "+proj=longlat +a=6378298.3 +b=6356657.142669561"; - case 4029 : return "+proj=longlat +a=6378300 +b=6356751.689189189"; - case 4030 : return "+proj=longlat +ellps=WGS84"; - case 4031 : return "+proj=longlat +ellps=WGS84"; - case 4032 : return "+proj=longlat +a=6378136.2 +b=6356751.516927429"; - case 4033 : return "+proj=longlat +a=6378136.3 +b=6356751.616592146"; - case 4034 : return "+proj=longlat +ellps=clrk80"; - case 4035 : return "+proj=longlat +a=6371000 +b=6371000"; - case 4036 : return "+proj=longlat +ellps=GRS67"; - case 4041 : return "+proj=longlat +a=6378135 +b=6356750.304921594"; - case 4042 : return "+proj=longlat +a=6377299.36559538 +b=6356098.357204818"; - case 4043 : return "+proj=longlat +ellps=WGS72"; - case 4044 : return "+proj=longlat +a=6377301.243 +b=6356100.230165384"; - case 4045 : return "+proj=longlat +a=6377299.151 +b=6356098.145120132"; - case 4047 : return "+proj=longlat +a=6371007 +b=6371007"; - case 4052 : return "+proj=longlat +a=6370997 +b=6370997"; - case 4053 : return "+proj=longlat +a=6371228 +b=6371228"; - case 4054 : return "+proj=longlat +a=6378273 +b=6356889.449"; - case 4120 : return "+proj=longlat +ellps=bessel"; - case 4121 : return "+proj=longlat +ellps=GRS80 +towgs84=-199.87,74.79,246.62,0,0,0,0"; - case 4122 : return "+proj=longlat +a=6378135 +b=6356750.304921594"; - case 4123 : return "+proj=longlat +ellps=intl +towgs84=-96.0617,-82.4278,-121.743,4.80107,0.34543,-1.37646,1.4964"; - case 4124 : return "+proj=longlat +ellps=bessel"; - case 4125 : return "+proj=longlat +ellps=bessel +towgs84=-404.78,685.68,45.47,0,0,0,0"; - case 4126 : return "+proj=longlat +ellps=GRS80"; - case 4127 : return "+proj=longlat +ellps=clrk66"; - case 4128 : return "+proj=longlat +ellps=clrk66"; - case 4129 : return "+proj=longlat +ellps=clrk66"; - case 4130 : return "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,-0,-0,-0,0"; - case 4131 : return "+proj=longlat +a=6377276.345 +b=6356075.41314024"; - case 4132 : return "+proj=longlat +ellps=clrk80"; - case 4133 : return "+proj=longlat +ellps=GRS80 +towgs84=0.055,-0.541,-0.185,0.0183,-0.0003,-0.007,-0.014"; - case 4134 : return "+proj=longlat +ellps=clrk80"; - case 4135 : return "+proj=longlat +ellps=clrk66"; - case 4136 : return "+proj=longlat +ellps=clrk66"; - case 4137 : return "+proj=longlat +ellps=clrk66"; - case 4138 : return "+proj=longlat +ellps=clrk66"; - case 4139 : return "+proj=longlat +ellps=clrk66 +towgs84=11,72,-101,0,0,0,0"; - case 4140 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4141 : return "+proj=longlat +ellps=GRS80 +towgs84=-48,55,52,0,0,0,0"; - case 4142 : return "+proj=longlat +ellps=clrk80 +towgs84=-125,53,467,0,0,0,0"; - case 4143 : return "+proj=longlat +ellps=clrk80 +towgs84=-124.76,53,466.79,0,0,0,0"; - case 4144 : return "+proj=longlat +a=6377276.345 +b=6356075.41314024"; - case 4145 : return "+proj=longlat +a=6377301.243 +b=6356100.230165384"; - case 4146 : return "+proj=longlat +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0"; - case 4147 : return "+proj=longlat +ellps=krass +towgs84=-17.51,-108.32,-62.39,0,0,0,0"; - case 4148 : return "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0"; - case 4149 : return "+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0"; - case 4150 : return "+proj=longlat +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0"; - case 4151 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4152 : return "+proj=longlat +ellps=GRS80"; - case 4153 : return "+proj=longlat +ellps=intl +towgs84=-133.63,-157.5,-158.62,0,0,0,0"; - case 4154 : return "+proj=longlat +ellps=intl"; - case 4155 : return "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-83,37,124,0,0,0,0"; - case 4156 : return "+proj=longlat +ellps=bessel"; - case 4157 : return "+proj=longlat +a=6378293.645208759 +b=6356617.987679838"; - case 4158 : return "+proj=longlat +ellps=intl"; - case 4159 : return "+proj=longlat +ellps=intl"; - case 4160 : return "+proj=longlat +ellps=intl"; - case 4161 : return "+proj=longlat +ellps=intl +towgs84=27.5,14,186.4,0,0,0,0"; - case 4162 : return "+proj=longlat +ellps=bessel"; - case 4163 : return "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0"; - case 4164 : return "+proj=longlat +ellps=krass +towgs84=-76,-138,67,0,0,0,0"; - case 4165 : return "+proj=longlat +ellps=intl +towgs84=-173,253,27,0,0,0,0"; - case 4166 : return "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0"; - case 4167 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4168 : return "+proj=longlat +a=6378300 +b=6356751.689189189 +towgs84=-199,32,322,0,0,0,0"; - case 4169 : return "+proj=longlat +ellps=clrk66 +towgs84=-115,118,426,0,0,0,0"; - case 4170 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4171 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4172 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4173 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4174 : return "+proj=longlat +a=6378300 +b=6356751.689189189"; - case 4175 : return "+proj=longlat +ellps=clrk80 +towgs84=-88,4,101,0,0,0,0"; - case 4176 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4178 : return "+proj=longlat +ellps=krass +towgs84=24,-123,-94,0.02,-0.25,-0.13,1.1"; - case 4179 : return "+proj=longlat +ellps=krass +towgs84=33.4,-146.6,-76.3,-0.359,-0.053,0.844,-0.84"; - case 4180 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4181 : return "+proj=longlat +ellps=intl +towgs84=-193,13.7,-39.3,-0.41,-2.933,2.688,0.43"; - case 4182 : return "+proj=longlat +ellps=intl"; - case 4183 : return "+proj=longlat +ellps=intl +towgs84=-104,167,-38,0,0,0,0"; - case 4184 : return "+proj=longlat +ellps=intl +towgs84=-203,141,53,0,0,0,0"; - case 4185 : return "+proj=longlat +ellps=intl"; - case 4188 : return "+proj=longlat +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15"; - case 4189 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4190 : return "+proj=longlat +ellps=GRS80"; - case 4191 : return "+proj=longlat +ellps=krass"; - case 4192 : return "+proj=longlat +ellps=intl +towgs84=-206.1,-174.7,-87.7,0,0,0,0"; - case 4193 : return "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-70.9,-151.8,-41.4,0,0,0,0"; - case 4194 : return "+proj=longlat +ellps=intl"; - case 4195 : return "+proj=longlat +ellps=intl +towgs84=105,326,-102.5,0,0,0.814,-0.6"; - case 4196 : return "+proj=longlat +ellps=intl +towgs84=-45,417,-3.5,0,0,0.814,-0.6"; - case 4197 : return "+proj=longlat +ellps=clrk80"; - case 4198 : return "+proj=longlat +ellps=clrk80"; - case 4199 : return "+proj=longlat +ellps=intl"; - case 4200 : return "+proj=longlat +ellps=krass"; - case 4201 : return "+proj=longlat +ellps=clrk80"; - case 4202 : return "+proj=longlat +ellps=aust_SA"; - case 4203 : return "+proj=longlat +ellps=aust_SA"; - case 4204 : return "+proj=longlat +ellps=intl"; - case 4205 : return "+proj=longlat +ellps=krass +towgs84=-43,-163,45,0,0,0,0"; - case 4206 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4207 : return "+proj=longlat +ellps=intl"; - case 4208 : return "+proj=longlat +ellps=intl"; - case 4209 : return "+proj=longlat +a=6378249.145 +b=6356514.966398753"; - case 4210 : return "+proj=longlat +ellps=clrk80"; - case 4211 : return "+proj=longlat +ellps=bessel"; - case 4212 : return "+proj=longlat +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0"; - case 4213 : return "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-106,-87,188,0,0,0,0"; - case 4214 : return "+proj=longlat +ellps=krass"; - case 4215 : return "+proj=longlat +ellps=intl"; - case 4216 : return "+proj=longlat +ellps=clrk66 +towgs84=-73,213,296,0,0,0,0"; - case 4218 : return "+proj=longlat +ellps=intl +towgs84=307,304,-318,0,0,0,0"; - case 4219 : return "+proj=longlat +ellps=bessel +towgs84=-384,664,-48,0,0,0,0"; - case 4220 : return "+proj=longlat +ellps=clrk80"; - case 4221 : return "+proj=longlat +ellps=intl"; - case 4222 : return "+proj=longlat +a=6378249.145 +b=6356514.966398753"; - case 4223 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4224 : return "+proj=longlat +ellps=intl +towgs84=-134,229,-29,0,0,0,0"; - case 4225 : return "+proj=longlat +ellps=intl +towgs84=-206,172,-6,0,0,0,0"; - case 4226 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4227 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4228 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4229 : return "+proj=longlat +ellps=helmert"; - case 4230 : return "+proj=longlat +ellps=intl"; - case 4231 : return "+proj=longlat +ellps=intl"; - case 4232 : return "+proj=longlat +ellps=clrk80"; - case 4233 : return "+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0"; - case 4234 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4235 : return "+proj=longlat +ellps=intl"; - case 4236 : return "+proj=longlat +ellps=intl +towgs84=-637,-549,-203,0,0,0,0"; - case 4237 : return "+proj=longlat +ellps=GRS67"; - case 4238 : return "+proj=longlat +a=6378160 +b=6356774.50408554"; - case 4239 : return "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0"; - case 4240 : return "+proj=longlat +a=6377276.345 +b=6356075.41314024"; - case 4241 : return "+proj=longlat +ellps=clrk80"; - case 4242 : return "+proj=longlat +ellps=clrk66"; - case 4243 : return "+proj=longlat +a=6377299.36559538 +b=6356098.357204818"; - case 4244 : return "+proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=-97,787,86,0,0,0,0"; - case 4245 : return "+proj=longlat +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0"; - case 4246 : return "+proj=longlat +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0"; - case 4247 : return "+proj=longlat +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0"; - case 4248 : return "+proj=longlat +ellps=intl"; - case 4249 : return "+proj=longlat +ellps=intl"; - case 4250 : return "+proj=longlat +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0"; - case 4251 : return "+proj=longlat +ellps=clrk80 +towgs84=-90,40,88,0,0,0,0"; - case 4252 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4253 : return "+proj=longlat +ellps=clrk66"; - case 4254 : return "+proj=longlat +ellps=intl"; - case 4255 : return "+proj=longlat +ellps=intl +towgs84=-333,-222,114,0,0,0,0"; - case 4256 : return "+proj=longlat +ellps=clrk80 +towgs84=41,-220,-134,0,0,0,0"; - case 4257 : return "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0"; - case 4258 : return "+proj=longlat +ellps=GRS80"; - case 4259 : return "+proj=longlat +ellps=intl"; - case 4260 : return "+proj=longlat +ellps=clrk80 +towgs84=-70.9,-151.8,-41.4,0,0,0,0"; - case 4261 : return "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0"; - case 4262 : return "+proj=longlat +ellps=bessel +towgs84=639,405,60,0,0,0,0"; - case 4263 : return "+proj=longlat +ellps=clrk80"; - case 4264 : return "+proj=longlat +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0"; - case 4265 : return "+proj=longlat +ellps=intl"; - case 4266 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4267 : return "+proj=longlat +ellps=clrk66 +datum=NAD27"; - case 4268 : return "+proj=longlat +a=6378450.047548896 +b=6356826.621488444"; - case 4269 : return "+proj=longlat +ellps=GRS80 +datum=NAD83"; - case 4270 : return "+proj=longlat +ellps=clrk80"; - case 4271 : return "+proj=longlat +ellps=intl"; - case 4272 : return "+proj=longlat +ellps=intl +datum=nzgd49"; - case 4273 : return "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21"; - case 4274 : return "+proj=longlat +ellps=intl"; - case 4275 : return "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0"; - case 4276 : return "+proj=longlat +ellps=WGS66"; - case 4277 : return "+proj=longlat +ellps=airy +datum=OSGB36"; - case 4278 : return "+proj=longlat +ellps=airy"; - case 4279 : return "+proj=longlat +ellps=airy"; - case 4280 : return "+proj=longlat +ellps=bessel"; - case 4281 : return "+proj=longlat +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1"; - case 4282 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4283 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4284 : return "+proj=longlat +ellps=krass"; - case 4285 : return "+proj=longlat +ellps=intl"; - case 4286 : return "+proj=longlat +ellps=helmert"; - case 4287 : return "+proj=longlat +ellps=intl +towgs84=164,138,-189,0,0,0,0"; - case 4288 : return "+proj=longlat +ellps=intl"; - case 4289 : return "+proj=longlat +ellps=bessel"; - case 4291 : return "+proj=longlat +ellps=GRS67"; - case 4292 : return "+proj=longlat +ellps=intl +towgs84=-355,21,72,0,0,0,0"; - case 4293 : return "+proj=longlat +ellps=bess_nam"; - case 4294 : return "+proj=longlat +ellps=bessel"; - case 4295 : return "+proj=longlat +ellps=bessel"; - case 4296 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4297 : return "+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0"; - case 4298 : return "+proj=longlat +ellps=evrstSS"; - case 4299 : return "+proj=longlat +a=6377340.189 +b=6356034.447938534"; - case 4300 : return "+proj=longlat +a=6377340.189 +b=6356034.447938534"; - case 4301 : return "+proj=longlat +ellps=bessel"; - case 4302 : return "+proj=longlat +a=6378293.645208759 +b=6356617.987679838"; - case 4303 : return "+proj=longlat +ellps=helmert"; - case 4304 : return "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0"; - case 4306 : return "+proj=longlat +ellps=bessel"; - case 4307 : return "+proj=longlat +ellps=clrk80"; - case 4308 : return "+proj=longlat +ellps=bessel"; - case 4309 : return "+proj=longlat +ellps=intl +towgs84=-155,171,37,0,0,0,0"; - case 4310 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4311 : return "+proj=longlat +ellps=intl +towgs84=-265,120,-358,0,0,0,0"; - case 4312 : return "+proj=longlat +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232"; - case 4313 : return "+proj=longlat +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1"; - case 4314 : return "+proj=longlat +ellps=bessel +datum=potsdam"; - case 4315 : return "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0"; - case 4316 : return "+proj=longlat +ellps=intl"; - case 4317 : return "+proj=longlat +ellps=krass"; - case 4318 : return "+proj=longlat +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0"; - case 4319 : return "+proj=longlat +ellps=GRS80"; - case 4322 : return "+proj=longlat +ellps=WGS72"; - case 4324 : return "+proj=longlat +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38"; - case 4326 : return "+proj=longlat +ellps=WGS84 +datum=WGS84"; - case 4600 : return "+proj=longlat +ellps=clrk80"; - case 4601 : return "+proj=longlat +ellps=clrk80"; - case 4602 : return "+proj=longlat +ellps=clrk80 +towgs84=725,685,536,0,0,0,0"; - case 4603 : return "+proj=longlat +ellps=clrk80 +towgs84=72,213.7,93,0,0,0,0"; - case 4604 : return "+proj=longlat +ellps=clrk80 +towgs84=174,359,365,0,0,0,0"; - case 4605 : return "+proj=longlat +ellps=clrk80"; - case 4606 : return "+proj=longlat +ellps=clrk80 +towgs84=-149,128,296,0,0,0,0"; - case 4607 : return "+proj=longlat +ellps=clrk80 +towgs84=195.671,332.517,274.607,0,0,0,0"; - case 4608 : return "+proj=longlat +ellps=clrk66"; - case 4609 : return "+proj=longlat +ellps=clrk66"; - case 4610 : return "+proj=longlat +a=6378140 +b=6356755.288157528"; - case 4611 : return "+proj=longlat +ellps=intl +towgs84=-162.619,-276.959,-161.764,0.067753,-2.24365,-1.15883,-1.09425"; - case 4612 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4613 : return "+proj=longlat +ellps=bessel"; - case 4614 : return "+proj=longlat +ellps=intl +towgs84=-119.425,-303.659,-11.0006,1.1643,0.174458,1.09626,3.65706"; - case 4615 : return "+proj=longlat +ellps=intl +towgs84=-499,-249,314,0,0,0,0"; - case 4616 : return "+proj=longlat +ellps=intl"; - case 4617 : return "+proj=longlat +ellps=GRS80"; - case 4618 : return "+proj=longlat +ellps=aust_SA"; - case 4619 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4620 : return "+proj=longlat +ellps=clrk80 +towgs84=-106,-129,165,0,0,0,0"; - case 4621 : return "+proj=longlat +ellps=intl +towgs84=137,248,-430,0,0,0,0"; - case 4622 : return "+proj=longlat +ellps=intl"; - case 4623 : return "+proj=longlat +ellps=intl +towgs84=-186,230,110,0,0,0,0"; - case 4624 : return "+proj=longlat +ellps=GRS80 +towgs84=2,2,-2,0,0,0,0"; - case 4625 : return "+proj=longlat +ellps=intl"; - case 4626 : return "+proj=longlat +ellps=intl"; - case 4627 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4628 : return "+proj=longlat +ellps=intl +towgs84=162,117,154,0,0,0,0"; - case 4629 : return "+proj=longlat +ellps=intl"; - case 4630 : return "+proj=longlat +ellps=intl"; - case 4631 : return "+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0"; - case 4632 : return "+proj=longlat +ellps=intl +towgs84=-382,-59,-262,0,0,0,0"; - case 4633 : return "+proj=longlat +ellps=intl"; - case 4634 : return "+proj=longlat +ellps=intl"; - case 4635 : return "+proj=longlat +ellps=intl +towgs84=-122.383,-188.696,103.344,3.5107,-4.9668,-5.7047,4.4798"; - case 4636 : return "+proj=longlat +ellps=intl +towgs84=365,194,166,0,0,0,0"; - case 4637 : return "+proj=longlat +ellps=intl +towgs84=325,154,172,0,0,0,0"; - case 4638 : return "+proj=longlat +ellps=clrk66 +towgs84=30,430,368,0,0,0,0"; - case 4639 : return "+proj=longlat +ellps=intl"; - case 4640 : return "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0"; - case 4641 : return "+proj=longlat +ellps=intl"; - case 4642 : return "+proj=longlat +ellps=intl"; - case 4643 : return "+proj=longlat +ellps=intl +towgs84=-480.26,-438.32,-643.429,16.3119,20.1721,-4.0349,-111.7"; - case 4644 : return "+proj=longlat +ellps=intl"; - case 4645 : return "+proj=longlat +ellps=intl +towgs84=0,0,0,0,0,0,0"; - case 4646 : return "+proj=longlat +ellps=intl"; - case 4657 : return "+proj=longlat +a=6377019.27 +b=6355762.5391 +towgs84=-28,199,5,0,0,0,0"; - case 4658 : return "+proj=longlat +ellps=intl +towgs84=-73,46,-86,0,0,0,0"; - case 4659 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4660 : return "+proj=longlat +ellps=intl +towgs84=982.609,552.753,-540.873,32.3934,-153.257,-96.2266,16.805"; - case 4661 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4662 : return "+proj=longlat +ellps=intl"; - case 4663 : return "+proj=longlat +ellps=intl"; - case 4664 : return "+proj=longlat +ellps=intl"; - case 4665 : return "+proj=longlat +ellps=intl"; - case 4666 : return "+proj=longlat +ellps=bessel"; - case 4667 : return "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0"; - case 4668 : return "+proj=longlat +ellps=intl +towgs84=-86,-98,-119,0,0,0,0"; - case 4669 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4670 : return "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0"; - case 4671 : return "+proj=longlat +a=6378249.2 +b=6356515"; - case 4672 : return "+proj=longlat +ellps=intl +towgs84=175,-38,113,0,0,0,0"; - case 4673 : return "+proj=longlat +ellps=intl +towgs84=174.05,-25.49,112.57,-0,-0,0.554,0.2263"; - case 4674 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4675 : return "+proj=longlat +ellps=clrk66 +towgs84=-100,-248,259,0,0,0,0"; - case 4676 : return "+proj=longlat +ellps=krass"; - case 4677 : return "+proj=longlat +ellps=krass"; - case 4678 : return "+proj=longlat +ellps=krass +towgs84=44.585,-131.212,-39.544,0,0,0,0"; - case 4679 : return "+proj=longlat +ellps=clrk80 +towgs84=-80.01,253.26,291.19,0,0,0,0"; - case 4680 : return "+proj=longlat +ellps=clrk80 +towgs84=124.5,-63.5,-281,0,0,0,0"; - case 4681 : return "+proj=longlat +ellps=clrk80"; - case 4682 : return "+proj=longlat +a=6377276.345 +b=6356075.41314024"; - case 4683 : return "+proj=longlat +ellps=clrk66 +towgs84=-127.62,-67.24,-47.04,-3.068,4.903,1.578,-1.06"; - case 4684 : return "+proj=longlat +ellps=intl +towgs84=-133,-321,50,0,0,0,0"; - case 4685 : return "+proj=longlat +ellps=intl"; - case 4686 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4687 : return "+proj=longlat +ellps=GRS80"; - case 4688 : return "+proj=longlat +ellps=intl +towgs84=347.103,1078.12,2623.92,-33.8875,70.6773,-9.3943,186.074"; - case 4689 : return "+proj=longlat +ellps=intl"; - case 4690 : return "+proj=longlat +ellps=intl"; - case 4691 : return "+proj=longlat +ellps=intl +towgs84=215.525,149.593,176.229,-3.2624,-1.692,-1.1571,10.4773"; - case 4692 : return "+proj=longlat +ellps=intl +towgs84=217.037,86.959,23.956,0,0,0,0"; - case 4693 : return "+proj=longlat +ellps=WGS84 +towgs84=0,-0.15,0.68,0,0,0,0"; - case 4694 : return "+proj=longlat +ellps=GRS80"; - case 4695 : return "+proj=longlat +ellps=clrk66"; - case 4696 : return "+proj=longlat +ellps=clrk80"; - case 4697 : return "+proj=longlat +ellps=clrk80"; - case 4698 : return "+proj=longlat +ellps=intl +towgs84=145,-187,103,0,0,0,0"; - case 4699 : return "+proj=longlat +ellps=clrk80 +towgs84=-770.1,158.4,-498.2,0,0,0,0"; - case 4700 : return "+proj=longlat +ellps=clrk80"; - case 4701 : return "+proj=longlat +ellps=clrk80 +towgs84=-79.9,-158,-168.9,0,0,0,0"; - case 4702 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4703 : return "+proj=longlat +ellps=clrk80"; - case 4704 : return "+proj=longlat +ellps=intl"; - case 4705 : return "+proj=longlat +ellps=intl"; - case 4706 : return "+proj=longlat +ellps=helmert +towgs84=-146.21,112.63,4.05,0,0,0,0"; - case 4707 : return "+proj=longlat +ellps=intl +towgs84=114,-116,-333,0,0,0,0"; - case 4708 : return "+proj=longlat +ellps=aust_SA +towgs84=-491,-22,435,0,0,0,0"; - case 4709 : return "+proj=longlat +ellps=intl +towgs84=145,75,-272,0,0,0,0"; - case 4710 : return "+proj=longlat +ellps=intl +towgs84=-320,550,-494,0,0,0,0"; - case 4711 : return "+proj=longlat +ellps=intl +towgs84=124,-234,-25,0,0,0,0"; - case 4712 : return "+proj=longlat +ellps=intl +towgs84=-205,107,53,0,0,0,0"; - case 4713 : return "+proj=longlat +ellps=clrk80 +towgs84=-79,-129,145,0,0,0,0"; - case 4714 : return "+proj=longlat +ellps=intl +towgs84=-127,-769,472,0,0,0,0"; - case 4715 : return "+proj=longlat +ellps=intl +towgs84=-104,-129,239,0,0,0,0"; - case 4716 : return "+proj=longlat +ellps=intl +towgs84=298,-304,-375,0,0,0,0"; - case 4717 : return "+proj=longlat +ellps=clrk66 +towgs84=-2,151,181,0,0,0,0"; - case 4718 : return "+proj=longlat +ellps=intl"; - case 4719 : return "+proj=longlat +ellps=intl +towgs84=211,147,111,0,0,0,0"; - case 4720 : return "+proj=longlat +ellps=WGS72"; - case 4721 : return "+proj=longlat +ellps=intl +towgs84=265.025,384.929,-194.046,0,0,0,0"; - case 4722 : return "+proj=longlat +ellps=intl +towgs84=-794,119,-298,0,0,0,0"; - case 4723 : return "+proj=longlat +ellps=clrk66 +towgs84=67.8,106.1,138.8,0,0,0,0"; - case 4724 : return "+proj=longlat +ellps=intl +towgs84=208,-435,-229,0,0,0,0"; - case 4725 : return "+proj=longlat +ellps=intl +towgs84=189,-79,-202,0,0,0,0"; - case 4726 : return "+proj=longlat +ellps=clrk66"; - case 4727 : return "+proj=longlat +ellps=intl"; - case 4728 : return "+proj=longlat +ellps=intl +towgs84=-307,-92,127,0,0,0,0"; - case 4729 : return "+proj=longlat +ellps=intl +towgs84=185,165,42,0,0,0,0"; - case 4730 : return "+proj=longlat +ellps=intl +towgs84=170,42,84,0,0,0,0"; - case 4731 : return "+proj=longlat +ellps=clrk80 +towgs84=51,391,-36,0,0,0,0"; - case 4732 : return "+proj=longlat +a=6378270 +b=6356794.343434343 +towgs84=102,52,-38,0,0,0,0"; - case 4733 : return "+proj=longlat +ellps=intl +towgs84=276,-57,149,0,0,0,0"; - case 4734 : return "+proj=longlat +ellps=intl +towgs84=-632,438,-609,0,0,0,0"; - case 4735 : return "+proj=longlat +ellps=intl +towgs84=647,1777,-1124,0,0,0,0"; - case 4736 : return "+proj=longlat +ellps=clrk80 +towgs84=260,12,-147,0,0,0,0"; - case 4737 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4738 : return "+proj=longlat +a=6378293.645208759 +b=6356617.987679838"; - case 4739 : return "+proj=longlat +ellps=intl +towgs84=-156,-271,-189,0,0,0,0"; - case 4740 : return "+proj=longlat +a=6378136 +b=6356751.361745712 +towgs84=0,0,1.5,-0,-0,0.076,0"; - case 4741 : return "+proj=longlat +ellps=intl"; - case 4742 : return "+proj=longlat +ellps=GRS80"; - case 4743 : return "+proj=longlat +ellps=clrk80 +towgs84=84.1,-320.1,218.7,0,0,0,0"; - case 4744 : return "+proj=longlat +ellps=clrk80"; - case 4745 : return "+proj=longlat +ellps=bessel"; - case 4746 : return "+proj=longlat +ellps=bessel"; - case 4747 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4748 : return "+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0"; - case 4749 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4750 : return "+proj=longlat +ellps=WGS84 +towgs84=-56.263,16.136,-22.856,0,0,0,0"; - case 4751 : return "+proj=longlat +a=6377295.664 +b=6356094.667915204"; - case 4752 : return "+proj=longlat +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0"; - case 4753 : return "+proj=longlat +ellps=intl"; - case 4754 : return "+proj=longlat +ellps=intl +towgs84=-208.406,-109.878,-2.5764,0,0,0,0"; - case 4755 : return "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0"; - case 4756 : return "+proj=longlat +ellps=WGS84"; - case 4757 : return "+proj=longlat +ellps=WGS84"; - case 4758 : return "+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0"; - case 4759 : return "+proj=longlat +ellps=GRS80 +towgs84=0,0,0,0,0,0,0"; - case 4760 : return "+proj=longlat +ellps=WGS66"; - case 4801 : return "+proj=longlat +ellps=bessel +pm=bern"; - case 4802 : return "+proj=longlat +ellps=intl +pm=bogota"; - case 4803 : return "+proj=longlat +ellps=intl +pm=lisbon"; - case 4804 : return "+proj=longlat +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta"; - case 4805 : return "+proj=longlat +ellps=bessel +pm=ferro"; - case 4806 : return "+proj=longlat +ellps=intl +pm=rome"; - case 4807 : return "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris"; - case 4808 : return "+proj=longlat +ellps=bessel +pm=jakarta"; - case 4809 : return "+proj=longlat +ellps=intl +pm=brussels"; - case 4810 : return "+proj=longlat +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris"; - case 4811 : return "+proj=longlat +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +pm=paris"; - case 4813 : return "+proj=longlat +ellps=bessel +pm=jakarta"; - case 4814 : return "+proj=longlat +ellps=bessel +pm=stockholm"; - case 4815 : return "+proj=longlat +ellps=bessel +pm=athens"; - case 4816 : return "+proj=longlat +a=6378249.2 +b=6356515 +pm=paris"; - case 4817 : return "+proj=longlat +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo"; - case 4818 : return "+proj=longlat +ellps=bessel +pm=ferro"; - case 4819 : return "+proj=longlat +ellps=clrk80 +pm=paris"; - case 4820 : return "+proj=longlat +ellps=bessel +pm=jakarta"; - case 4821 : return "+proj=longlat +a=6378249.2 +b=6356515 +pm=paris"; - case 4901 : return "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris"; - case 4902 : return "+proj=longlat +a=6376523 +b=6355862.933255573 +pm=paris"; - case 4903 : return "+proj=longlat +a=6378298.3 +b=6356657.142669561 +pm=madrid"; - case 4904 : return "+proj=longlat +ellps=bessel +pm=lisbon"; - case 20004 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m"; - case 20005 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m"; - case 20006 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m"; - case 20007 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m"; - case 20008 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m"; - case 20009 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m"; - case 20010 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m"; - case 20011 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m"; - case 20012 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m"; - case 20013 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m"; - case 20014 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m"; - case 20015 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m"; - case 20016 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m"; - case 20017 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m"; - case 20018 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m"; - case 20019 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m"; - case 20020 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m"; - case 20021 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m"; - case 20022 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m"; - case 20023 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m"; - case 20024 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m"; - case 20025 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m"; - case 20026 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m"; - case 20027 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m"; - case 20028 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m"; - case 20029 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m"; - case 20030 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m"; - case 20031 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m"; - case 20032 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m"; - case 20064 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20065 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20066 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20067 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20068 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20069 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20070 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20071 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20072 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20073 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20074 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20075 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20076 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20077 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20078 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20079 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20080 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20081 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20082 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20083 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20084 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20085 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20086 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20087 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20088 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20089 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20090 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20091 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20092 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 20135 : return "+proj=utm +zone=35 +ellps=clrk80 +units=m"; - case 20136 : return "+proj=utm +zone=36 +ellps=clrk80 +units=m"; - case 20137 : return "+proj=utm +zone=37 +ellps=clrk80 +units=m"; - case 20138 : return "+proj=utm +zone=38 +ellps=clrk80 +units=m"; - case 20248 : return "+proj=utm +zone=48 +south +ellps=aust_SA +units=m"; - case 20249 : return "+proj=utm +zone=49 +south +ellps=aust_SA +units=m"; - case 20250 : return "+proj=utm +zone=50 +south +ellps=aust_SA +units=m"; - case 20251 : return "+proj=utm +zone=51 +south +ellps=aust_SA +units=m"; - case 20252 : return "+proj=utm +zone=52 +south +ellps=aust_SA +units=m"; - case 20253 : return "+proj=utm +zone=53 +south +ellps=aust_SA +units=m"; - case 20254 : return "+proj=utm +zone=54 +south +ellps=aust_SA +units=m"; - case 20255 : return "+proj=utm +zone=55 +south +ellps=aust_SA +units=m"; - case 20256 : return "+proj=utm +zone=56 +south +ellps=aust_SA +units=m"; - case 20257 : return "+proj=utm +zone=57 +south +ellps=aust_SA +units=m"; - case 20258 : return "+proj=utm +zone=58 +south +ellps=aust_SA +units=m"; - case 20348 : return "+proj=utm +zone=48 +south +ellps=aust_SA +units=m"; - case 20349 : return "+proj=utm +zone=49 +south +ellps=aust_SA +units=m"; - case 20350 : return "+proj=utm +zone=50 +south +ellps=aust_SA +units=m"; - case 20351 : return "+proj=utm +zone=51 +south +ellps=aust_SA +units=m"; - case 20352 : return "+proj=utm +zone=52 +south +ellps=aust_SA +units=m"; - case 20353 : return "+proj=utm +zone=53 +south +ellps=aust_SA +units=m"; - case 20354 : return "+proj=utm +zone=54 +south +ellps=aust_SA +units=m"; - case 20355 : return "+proj=utm +zone=55 +south +ellps=aust_SA +units=m"; - case 20356 : return "+proj=utm +zone=56 +south +ellps=aust_SA +units=m"; - case 20357 : return "+proj=utm +zone=57 +south +ellps=aust_SA +units=m"; - case 20358 : return "+proj=utm +zone=58 +south +ellps=aust_SA +units=m"; - case 20436 : return "+proj=utm +zone=36 +ellps=intl +units=m"; - case 20437 : return "+proj=utm +zone=37 +ellps=intl +units=m"; - case 20438 : return "+proj=utm +zone=38 +ellps=intl +units=m"; - case 20439 : return "+proj=utm +zone=39 +ellps=intl +units=m"; - case 20440 : return "+proj=utm +zone=40 +ellps=intl +units=m"; - case 20499 : return "+proj=utm +zone=39 +ellps=intl +units=m"; - case 20538 : return "+proj=utm +zone=38 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m"; - case 20539 : return "+proj=utm +zone=39 +ellps=krass +towgs84=-43,-163,45,0,0,0,0 +units=m"; - case 20790 : return "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=200000 +y_0=300000 +ellps=intl +pm=lisbon +units=m"; - case 20791 : return "+proj=tmerc +lat_0=39.66666666666666 +lon_0=1 +k=1 +x_0=0 +y_0=0 +ellps=intl +pm=lisbon +units=m"; - case 20822 : return "+proj=utm +zone=22 +south +ellps=intl +units=m"; - case 20823 : return "+proj=utm +zone=23 +south +ellps=intl +units=m"; - case 20824 : return "+proj=utm +zone=24 +south +ellps=intl +units=m"; - case 20934 : return "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m"; - case 20935 : return "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m"; - case 20936 : return "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m"; - case 21035 : return "+proj=utm +zone=35 +south +ellps=clrk80 +units=m"; - case 21036 : return "+proj=utm +zone=36 +south +ellps=clrk80 +units=m"; - case 21037 : return "+proj=utm +zone=37 +south +ellps=clrk80 +units=m"; - case 21095 : return "+proj=utm +zone=35 +ellps=clrk80 +units=m"; - case 21096 : return "+proj=utm +zone=36 +ellps=clrk80 +units=m"; - case 21097 : return "+proj=utm +zone=37 +ellps=clrk80 +units=m"; - case 21100 : return "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +pm=jakarta +units=m"; - case 21148 : return "+proj=utm +zone=48 +south +ellps=bessel +units=m"; - case 21149 : return "+proj=utm +zone=49 +south +ellps=bessel +units=m"; - case 21150 : return "+proj=utm +zone=50 +south +ellps=bessel +units=m"; - case 21291 : return "+proj=tmerc +lat_0=0 +lon_0=-62 +k=0.9995000000000001 +x_0=400000 +y_0=0 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m"; - case 21292 : return "+proj=tmerc +lat_0=13.17638888888889 +lon_0=-59.55972222222222 +k=0.9999986 +x_0=30000 +y_0=75000 +ellps=clrk80 +towgs84=31.95,300.99,419.19,0,0,0,0 +units=m"; - case 21413 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m"; - case 21414 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m"; - case 21415 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m"; - case 21416 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m"; - case 21417 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m"; - case 21418 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m"; - case 21419 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m"; - case 21420 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m"; - case 21421 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m"; - case 21422 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m"; - case 21423 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m"; - case 21453 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21454 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21455 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21456 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21457 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21458 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21459 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21460 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21461 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21462 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21463 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21473 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21474 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21475 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21476 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21477 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21478 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21479 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21480 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21481 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21482 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21483 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 21500 : return "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=90 +lon_0=0 +x_0=150000 +y_0=5400000 +ellps=intl +pm=brussels +units=m"; - case 21780 : return "+proj=somerc +lat_0=46.95240555555556 +lon_0=0 +x_0=0 +y_0=0 +ellps=bessel +pm=bern +units=m"; - case 21781 : return "+proj=somerc +lat_0=46.95240555555556 +lon_0=7.439583333333333 +x_0=600000 +y_0=200000 +ellps=bessel +towgs84=674.374,15.056,405.346,0,0,0,0 +units=m"; - case 21817 : return "+proj=utm +zone=17 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 21818 : return "+proj=utm +zone=18 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 21891 : return "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 21892 : return "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 21893 : return "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 21894 : return "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 21896 : return "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-77.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 21897 : return "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-74.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 21898 : return "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-71.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 21899 : return "+proj=tmerc +lat_0=4.599047222222222 +lon_0=-68.08091666666667 +k=1 +x_0=1000000 +y_0=1000000 +ellps=intl +towgs84=307,304,-318,0,0,0,0 +units=m"; - case 22032 : return "+proj=utm +zone=32 +south +ellps=clrk80 +units=m"; - case 22033 : return "+proj=utm +zone=33 +south +ellps=clrk80 +units=m"; - case 22091 : return "+proj=tmerc +lat_0=0 +lon_0=11.5 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 22092 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=clrk80 +units=m"; - case 22171 : return "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22172 : return "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22173 : return "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22174 : return "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22175 : return "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22176 : return "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22177 : return "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22181 : return "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22182 : return "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22183 : return "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22184 : return "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22185 : return "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22186 : return "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22187 : return "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=GRS80 +units=m"; - case 22191 : return "+proj=tmerc +lat_0=-90 +lon_0=-72 +k=1 +x_0=1500000 +y_0=0 +ellps=intl +units=m"; - case 22192 : return "+proj=tmerc +lat_0=-90 +lon_0=-69 +k=1 +x_0=2500000 +y_0=0 +ellps=intl +units=m"; - case 22193 : return "+proj=tmerc +lat_0=-90 +lon_0=-66 +k=1 +x_0=3500000 +y_0=0 +ellps=intl +units=m"; - case 22194 : return "+proj=tmerc +lat_0=-90 +lon_0=-63 +k=1 +x_0=4500000 +y_0=0 +ellps=intl +units=m"; - case 22195 : return "+proj=tmerc +lat_0=-90 +lon_0=-60 +k=1 +x_0=5500000 +y_0=0 +ellps=intl +units=m"; - case 22196 : return "+proj=tmerc +lat_0=-90 +lon_0=-57 +k=1 +x_0=6500000 +y_0=0 +ellps=intl +units=m"; - case 22197 : return "+proj=tmerc +lat_0=-90 +lon_0=-54 +k=1 +x_0=7500000 +y_0=0 +ellps=intl +units=m"; - case 22234 : return "+proj=utm +zone=34 +south +a=6378249.145 +b=6356514.966398753 +units=m"; - case 22235 : return "+proj=utm +zone=35 +south +a=6378249.145 +b=6356514.966398753 +units=m"; - case 22236 : return "+proj=utm +zone=36 +south +a=6378249.145 +b=6356514.966398753 +units=m"; - case 22332 : return "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m"; - case 22391 : return "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=9.9 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m"; - case 22392 : return "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=9.9 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m"; - case 22521 : return "+proj=utm +zone=21 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m"; - case 22522 : return "+proj=utm +zone=22 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m"; - case 22523 : return "+proj=utm +zone=23 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m"; - case 22524 : return "+proj=utm +zone=24 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m"; - case 22525 : return "+proj=utm +zone=25 +south +ellps=intl +towgs84=-206,172,-6,0,0,0,0 +units=m"; - case 22700 : return "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m"; - case 22770 : return "+proj=lcc +lat_1=34.65 +lat_0=34.65 +lon_0=37.35 +k_0=0.9996256 +x_0=300000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m"; - case 22780 : return "+proj=sterea +lat_0=34.2 +lon_0=39.15 +k=0.9995341 +x_0=0 +y_0=0 +a=6378249.2 +b=6356515 +units=m"; - case 22832 : return "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m"; - case 22991 : return "+proj=tmerc +lat_0=30 +lon_0=35 +k=1 +x_0=300000 +y_0=1100000 +ellps=helmert +units=m"; - case 22992 : return "+proj=tmerc +lat_0=30 +lon_0=31 +k=1 +x_0=615000 +y_0=810000 +ellps=helmert +units=m"; - case 22993 : return "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=200000 +ellps=helmert +units=m"; - case 22994 : return "+proj=tmerc +lat_0=30 +lon_0=27 +k=1 +x_0=700000 +y_0=1200000 +ellps=helmert +units=m"; - case 23028 : return "+proj=utm +zone=28 +ellps=intl +units=m"; - case 23029 : return "+proj=utm +zone=29 +ellps=intl +units=m"; - case 23030 : return "+proj=utm +zone=30 +ellps=intl +units=m"; - case 23031 : return "+proj=utm +zone=31 +ellps=intl +units=m"; - case 23032 : return "+proj=utm +zone=32 +ellps=intl +units=m"; - case 23033 : return "+proj=utm +zone=33 +ellps=intl +units=m"; - case 23034 : return "+proj=utm +zone=34 +ellps=intl +units=m"; - case 23035 : return "+proj=utm +zone=35 +ellps=intl +units=m"; - case 23036 : return "+proj=utm +zone=36 +ellps=intl +units=m"; - case 23037 : return "+proj=utm +zone=37 +ellps=intl +units=m"; - case 23038 : return "+proj=utm +zone=38 +ellps=intl +units=m"; - case 23090 : return "+proj=tmerc +lat_0=0 +lon_0=0 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 23095 : return "+proj=tmerc +lat_0=0 +lon_0=5 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +units=m"; - case 23239 : return "+proj=utm +zone=39 +ellps=clrk80 +units=m"; - case 23240 : return "+proj=utm +zone=40 +ellps=clrk80 +units=m"; - case 23433 : return "+proj=utm +zone=33 +a=6378249.2 +b=6356515 +units=m"; - case 23700 : return "+proj=somerc +lat_0=47.14439372222222 +lon_0=19.04857177777778 +x_0=650000 +y_0=200000 +ellps=GRS67 +units=m"; - case 23830 : return "+proj=tmerc +lat_0=0 +lon_0=94.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23831 : return "+proj=tmerc +lat_0=0 +lon_0=97.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23832 : return "+proj=tmerc +lat_0=0 +lon_0=100.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23833 : return "+proj=tmerc +lat_0=0 +lon_0=103.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23834 : return "+proj=tmerc +lat_0=0 +lon_0=106.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23835 : return "+proj=tmerc +lat_0=0 +lon_0=109.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23836 : return "+proj=tmerc +lat_0=0 +lon_0=112.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23837 : return "+proj=tmerc +lat_0=0 +lon_0=115.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23838 : return "+proj=tmerc +lat_0=0 +lon_0=118.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23839 : return "+proj=tmerc +lat_0=0 +lon_0=121.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23840 : return "+proj=tmerc +lat_0=0 +lon_0=124.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23841 : return "+proj=tmerc +lat_0=0 +lon_0=127.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23842 : return "+proj=tmerc +lat_0=0 +lon_0=130.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23843 : return "+proj=tmerc +lat_0=0 +lon_0=133.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23844 : return "+proj=tmerc +lat_0=0 +lon_0=136.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23845 : return "+proj=tmerc +lat_0=0 +lon_0=139.5 +k=0.9999 +x_0=200000 +y_0=1500000 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23846 : return "+proj=utm +zone=46 +a=6378160 +b=6356774.50408554 +units=m"; - case 23847 : return "+proj=utm +zone=47 +a=6378160 +b=6356774.50408554 +units=m"; - case 23848 : return "+proj=utm +zone=48 +a=6378160 +b=6356774.50408554 +units=m"; - case 23849 : return "+proj=utm +zone=49 +a=6378160 +b=6356774.50408554 +units=m"; - case 23850 : return "+proj=utm +zone=50 +a=6378160 +b=6356774.50408554 +units=m"; - case 23851 : return "+proj=utm +zone=51 +a=6378160 +b=6356774.50408554 +units=m"; - case 23852 : return "+proj=utm +zone=52 +a=6378160 +b=6356774.50408554 +units=m"; - case 23853 : return "+proj=utm +zone=53 +a=6378160 +b=6356774.50408554 +units=m"; - case 23866 : return "+proj=utm +zone=46 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23867 : return "+proj=utm +zone=47 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23868 : return "+proj=utm +zone=48 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23869 : return "+proj=utm +zone=49 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23870 : return "+proj=utm +zone=50 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23871 : return "+proj=utm +zone=51 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23872 : return "+proj=utm +zone=52 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23877 : return "+proj=utm +zone=47 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23878 : return "+proj=utm +zone=48 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23879 : return "+proj=utm +zone=49 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23880 : return "+proj=utm +zone=50 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23881 : return "+proj=utm +zone=51 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23882 : return "+proj=utm +zone=52 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23883 : return "+proj=utm +zone=53 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23884 : return "+proj=utm +zone=54 +south +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 23886 : return "+proj=utm +zone=46 +south +a=6378160 +b=6356774.50408554 +units=m"; - case 23887 : return "+proj=utm +zone=47 +south +a=6378160 +b=6356774.50408554 +units=m"; - case 23888 : return "+proj=utm +zone=48 +south +a=6378160 +b=6356774.50408554 +units=m"; - case 23889 : return "+proj=utm +zone=49 +south +a=6378160 +b=6356774.50408554 +units=m"; - case 23890 : return "+proj=utm +zone=50 +south +a=6378160 +b=6356774.50408554 +units=m"; - case 23891 : return "+proj=utm +zone=51 +south +a=6378160 +b=6356774.50408554 +units=m"; - case 23892 : return "+proj=utm +zone=52 +south +a=6378160 +b=6356774.50408554 +units=m"; - case 23893 : return "+proj=utm +zone=53 +south +a=6378160 +b=6356774.50408554 +units=m"; - case 23894 : return "+proj=utm +zone=54 +south +a=6378160 +b=6356774.50408554 +units=m"; - case 23946 : return "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m"; - case 23947 : return "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m"; - case 23948 : return "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +towgs84=217,823,299,0,0,0,0 +units=m"; - case 24047 : return "+proj=utm +zone=47 +a=6377276.345 +b=6356075.41314024 +units=m"; - case 24048 : return "+proj=utm +zone=48 +a=6377276.345 +b=6356075.41314024 +units=m"; - case 24100 : return "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=167638.49597 +y_0=121918.90616 +ellps=clrk80 +to_meter=0.3047972654"; - case 24200 : return "+proj=lcc +lat_1=18 +lat_0=18 +lon_0=-77 +k_0=1 +x_0=250000 +y_0=150000 +ellps=clrk66 +units=m"; - case 24305 : return "+proj=utm +zone=45 +a=6377276.345 +b=6356075.41314024 +units=m"; - case 24306 : return "+proj=utm +zone=46 +a=6377276.345 +b=6356075.41314024 +units=m"; - case 24311 : return "+proj=utm +zone=41 +a=6377301.243 +b=6356100.230165384 +units=m"; - case 24312 : return "+proj=utm +zone=42 +a=6377301.243 +b=6356100.230165384 +units=m"; - case 24313 : return "+proj=utm +zone=43 +a=6377301.243 +b=6356100.230165384 +units=m"; - case 24342 : return "+proj=utm +zone=42 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24343 : return "+proj=utm +zone=43 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24344 : return "+proj=utm +zone=44 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24345 : return "+proj=utm +zone=45 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24346 : return "+proj=utm +zone=46 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24347 : return "+proj=utm +zone=47 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24370 : return "+proj=lcc +lat_1=39.5 +lat_0=39.5 +lon_0=68 +k_0=0.99846154 +x_0=2153865.73916853 +y_0=2368292.194628102 +a=6377299.36559538 +b=6356098.357204818 +to_meter=0.9143985307444408"; - case 24371 : return "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204818 +to_meter=0.9143985307444408"; - case 24372 : return "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204818 +to_meter=0.9143985307444408"; - case 24373 : return "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204818 +to_meter=0.9143985307444408"; - case 24374 : return "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204818 +to_meter=0.9143985307444408"; - case 24375 : return "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743185.69 +y_0=914395.23 +a=6377276.345 +b=6356075.41314024 +units=m"; - case 24376 : return "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m"; - case 24377 : return "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743196.4 +y_0=914398.8 +a=6377301.243 +b=6356100.230165384 +units=m"; - case 24378 : return "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=68 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24379 : return "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=74 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24380 : return "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24381 : return "+proj=lcc +lat_1=19 +lat_0=19 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24382 : return "+proj=lcc +lat_1=26 +lat_0=26 +lon_0=90 +k_0=0.99878641 +x_0=2743195.592233322 +y_0=914398.5307444407 +a=6377299.36559538 +b=6356098.357204818 +to_meter=0.9143985307444408"; - case 24383 : return "+proj=lcc +lat_1=12 +lat_0=12 +lon_0=80 +k_0=0.99878641 +x_0=2743195.5 +y_0=914398.5 +a=6377299.151 +b=6356098.145120132 +towgs84=295,736,257,0,0,0,0 +units=m"; - case 24500 : return "+proj=cass +lat_0=1.287646666666667 +lon_0=103.8530022222222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m"; - case 24547 : return "+proj=utm +zone=47 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m"; - case 24548 : return "+proj=utm +zone=48 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m"; - case 24571 : return "+proj=omerc +lat_0=4 +lonc=102.25 +alpha=323.0257905 +k=0.99984 +x_0=804671.2997750348 +y_0=0 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +to_meter=20.11678249437587"; - case 24600 : return "+proj=lcc +lat_1=32.5 +lat_0=32.5 +lon_0=45 +k_0=0.9987864078000001 +x_0=1500000 +y_0=1166200 +ellps=clrk80 +towgs84=-294.7,-200.1,525.5,0,0,0,0 +units=m"; - case 24718 : return "+proj=utm +zone=18 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m"; - case 24719 : return "+proj=utm +zone=19 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m"; - case 24720 : return "+proj=utm +zone=20 +ellps=intl +towgs84=-273.5,110.6,-357.9,0,0,0,0 +units=m"; - case 24817 : return "+proj=utm +zone=17 +ellps=intl +units=m"; - case 24818 : return "+proj=utm +zone=18 +ellps=intl +units=m"; - case 24819 : return "+proj=utm +zone=19 +ellps=intl +units=m"; - case 24820 : return "+proj=utm +zone=20 +ellps=intl +units=m"; - case 24821 : return "+proj=utm +zone=21 +ellps=intl +units=m"; - case 24877 : return "+proj=utm +zone=17 +south +ellps=intl +units=m"; - case 24878 : return "+proj=utm +zone=18 +south +ellps=intl +units=m"; - case 24879 : return "+proj=utm +zone=19 +south +ellps=intl +units=m"; - case 24880 : return "+proj=utm +zone=20 +south +ellps=intl +units=m"; - case 24881 : return "+proj=utm +zone=21 +south +ellps=intl +units=m"; - case 24882 : return "+proj=utm +zone=22 +south +ellps=intl +units=m"; - case 24891 : return "+proj=tmerc +lat_0=-6 +lon_0=-80.5 +k=0.99983008 +x_0=222000 +y_0=1426834.743 +ellps=intl +units=m"; - case 24892 : return "+proj=tmerc +lat_0=-9.5 +lon_0=-76 +k=0.99932994 +x_0=720000 +y_0=1039979.159 +ellps=intl +units=m"; - case 24893 : return "+proj=tmerc +lat_0=-9.5 +lon_0=-70.5 +k=0.99952992 +x_0=1324000 +y_0=1040084.558 +ellps=intl +units=m"; - case 25000 : return "+proj=tmerc +lat_0=4.666666666666667 +lon_0=-1 +k=0.99975 +x_0=274319.51 +y_0=0 +ellps=clrk80 +towgs84=-130,29,364,0,0,0,0 +units=m"; - case 25231 : return "+proj=utm +zone=31 +a=6378249.2 +b=6356515 +units=m"; - case 25391 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m"; - case 25392 : return "+proj=tmerc +lat_0=0 +lon_0=119 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m"; - case 25393 : return "+proj=tmerc +lat_0=0 +lon_0=121 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m"; - case 25394 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m"; - case 25395 : return "+proj=tmerc +lat_0=0 +lon_0=125 +k=0.99995 +x_0=500000 +y_0=0 +ellps=clrk66 +units=m"; - case 25700 : return "+proj=merc +lon_0=110 +k=0.997 +x_0=3900000 +y_0=900000 +ellps=bessel +towgs84=-587.8,519.75,145.76,0,0,0,0 +pm=jakarta +units=m"; - case 25828 : return "+proj=utm +zone=28 +ellps=GRS80 +units=m"; - case 25829 : return "+proj=utm +zone=29 +ellps=GRS80 +units=m"; - case 25830 : return "+proj=utm +zone=30 +ellps=GRS80 +units=m"; - case 25831 : return "+proj=utm +zone=31 +ellps=GRS80 +units=m"; - case 25832 : return "+proj=utm +zone=32 +ellps=GRS80 +units=m"; - case 25833 : return "+proj=utm +zone=33 +ellps=GRS80 +units=m"; - case 25834 : return "+proj=utm +zone=34 +ellps=GRS80 +units=m"; - case 25835 : return "+proj=utm +zone=35 +ellps=GRS80 +units=m"; - case 25836 : return "+proj=utm +zone=36 +ellps=GRS80 +units=m"; - case 25837 : return "+proj=utm +zone=37 +ellps=GRS80 +units=m"; - case 25838 : return "+proj=utm +zone=38 +ellps=GRS80 +units=m"; - case 25884 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 25932 : return "+proj=utm +zone=32 +south +ellps=intl +units=m"; - case 26191 : return "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=-5.4 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m"; - case 26192 : return "+proj=lcc +lat_1=29.7 +lat_0=29.7 +lon_0=-5.4 +k_0=0.9996155960000001 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m"; - case 26193 : return "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.9996 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m"; - case 26194 : return "+proj=lcc +lat_1=26.1 +lat_0=26.1 +lon_0=-5.4 +k_0=0.999616304 +x_0=1200000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m"; - case 26195 : return "+proj=lcc +lat_1=22.5 +lat_0=22.5 +lon_0=-5.4 +k_0=0.999616437 +x_0=1500000 +y_0=400000 +a=6378249.2 +b=6356515 +towgs84=31,146,47,0,0,0,0 +units=m"; - case 26237 : return "+proj=utm +zone=37 +ellps=bessel +towgs84=639,405,60,0,0,0,0 +units=m"; - case 26331 : return "+proj=utm +zone=31 +ellps=clrk80 +units=m"; - case 26332 : return "+proj=utm +zone=32 +ellps=clrk80 +units=m"; - case 26391 : return "+proj=tmerc +lat_0=4 +lon_0=4.5 +k=0.99975 +x_0=230738.26 +y_0=0 +ellps=clrk80 +units=m"; - case 26392 : return "+proj=tmerc +lat_0=4 +lon_0=8.5 +k=0.99975 +x_0=670553.98 +y_0=0 +ellps=clrk80 +units=m"; - case 26393 : return "+proj=tmerc +lat_0=4 +lon_0=12.5 +k=0.99975 +x_0=1110369.7 +y_0=0 +ellps=clrk80 +units=m"; - case 26432 : return "+proj=utm +zone=32 +south +ellps=intl +towgs84=-252.95,-4.11,-96.38,0,0,0,0 +units=m"; - case 26591 : return "+proj=tmerc +lat_0=0 +lon_0=-3.45233333333333 +k=0.9996 +x_0=1500000 +y_0=0 +ellps=intl +pm=rome +units=m"; - case 26592 : return "+proj=tmerc +lat_0=0 +lon_0=2.54766666666666 +k=0.9996 +x_0=2520000 +y_0=0 +ellps=intl +pm=rome +units=m"; - case 26632 : return "+proj=utm +zone=32 +a=6378249.2 +b=6356515 +units=m"; - case 26692 : return "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m"; - case 26701 : return "+proj=utm +zone=1 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26702 : return "+proj=utm +zone=2 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26703 : return "+proj=utm +zone=3 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26704 : return "+proj=utm +zone=4 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26705 : return "+proj=utm +zone=5 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26706 : return "+proj=utm +zone=6 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26707 : return "+proj=utm +zone=7 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26708 : return "+proj=utm +zone=8 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26709 : return "+proj=utm +zone=9 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26710 : return "+proj=utm +zone=10 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26711 : return "+proj=utm +zone=11 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26712 : return "+proj=utm +zone=12 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26713 : return "+proj=utm +zone=13 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26714 : return "+proj=utm +zone=14 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26715 : return "+proj=utm +zone=15 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26716 : return "+proj=utm +zone=16 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26717 : return "+proj=utm +zone=17 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26718 : return "+proj=utm +zone=18 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26719 : return "+proj=utm +zone=19 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26720 : return "+proj=utm +zone=20 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26721 : return "+proj=utm +zone=21 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26722 : return "+proj=utm +zone=22 +ellps=clrk66 +datum=NAD27 +units=m"; - case 26729 : return "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26730 : return "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26731 : return "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000.001016002 +y_0=-5000000.001016002 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26732 : return "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26733 : return "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26734 : return "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26735 : return "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26736 : return "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26737 : return "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=213360.4267208534 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26738 : return "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26739 : return "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26740 : return "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=914401.8288036576 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26741 : return "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26742 : return "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26743 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26744 : return "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26745 : return "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26746 : return "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26747 : return "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=127079.524511049 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26748 : return "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26749 : return "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26750 : return "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26751 : return "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26752 : return "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26753 : return "+proj=lcc +lat_1=39.71666666666667 +lat_2=40.78333333333333 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26754 : return "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26755 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26756 : return "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26757 : return "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26758 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26759 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26760 : return "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26766 : return "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26767 : return "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26768 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26769 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26770 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26771 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26772 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26773 : return "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26774 : return "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26775 : return "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26776 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26777 : return "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26778 : return "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26779 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=38.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26780 : return "+proj=lcc +lat_1=36.73333333333333 +lat_2=37.93333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26781 : return "+proj=lcc +lat_1=31.16666666666667 +lat_2=32.66666666666666 +lat_0=30.66666666666667 +lon_0=-92.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26782 : return "+proj=lcc +lat_1=29.3 +lat_2=30.7 +lat_0=28.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26783 : return "+proj=tmerc +lat_0=43.83333333333334 +lon_0=-68.5 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26784 : return "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26785 : return "+proj=lcc +lat_1=38.3 +lat_2=39.45 +lat_0=37.83333333333334 +lon_0=-77 +x_0=243840.4876809754 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26786 : return "+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=182880.3657607315 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26787 : return "+proj=lcc +lat_1=41.28333333333333 +lat_2=41.48333333333333 +lat_0=41 +lon_0=-70.5 +x_0=60960.12192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26791 : return "+proj=lcc +lat_1=47.03333333333333 +lat_2=48.63333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26792 : return "+proj=lcc +lat_1=45.61666666666667 +lat_2=47.05 +lat_0=45 +lon_0=-94.25 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26793 : return "+proj=lcc +lat_1=43.78333333333333 +lat_2=45.21666666666667 +lat_0=43 +lon_0=-94 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26794 : return "+proj=tmerc +lat_0=29.66666666666667 +lon_0=-88.83333333333333 +k=0.99996 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26795 : return "+proj=tmerc +lat_0=30.5 +lon_0=-90.33333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26796 : return "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26797 : return "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26798 : return "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26799 : return "+proj=lcc +lat_1=34.41666666666666 +lat_2=33.86666666666667 +lat_0=34.13333333333333 +lon_0=-118.3333333333333 +x_0=1276106.450596901 +y_0=1268253.006858014 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 26801 : return "+proj=tmerc +lat_0=41.5 +lon_0=-83.66666666666667 +k=0.999942857 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192"; - case 26802 : return "+proj=tmerc +lat_0=41.5 +lon_0=-85.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192"; - case 26803 : return "+proj=tmerc +lat_0=41.5 +lon_0=-88.75 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192"; - case 26811 : return "+proj=lcc +lat_1=45.48333333333333 +lat_2=47.08333333333334 +lat_0=44.78333333333333 +lon_0=-87 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192"; - case 26812 : return "+proj=lcc +lat_1=44.18333333333333 +lat_2=45.7 +lat_0=43.31666666666667 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192"; - case 26813 : return "+proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.33333333333333 +x_0=609601.2192024384 +y_0=0 +a=6378450.047548896 +b=6356826.621488444 +to_meter=0.3048006096012192"; - case 26901 : return "+proj=utm +zone=1 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26902 : return "+proj=utm +zone=2 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26903 : return "+proj=utm +zone=3 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26904 : return "+proj=utm +zone=4 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26905 : return "+proj=utm +zone=5 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26906 : return "+proj=utm +zone=6 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26907 : return "+proj=utm +zone=7 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26908 : return "+proj=utm +zone=8 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26909 : return "+proj=utm +zone=9 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26910 : return "+proj=utm +zone=10 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26911 : return "+proj=utm +zone=11 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26912 : return "+proj=utm +zone=12 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26913 : return "+proj=utm +zone=13 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26914 : return "+proj=utm +zone=14 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26915 : return "+proj=utm +zone=15 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26916 : return "+proj=utm +zone=16 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26917 : return "+proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26918 : return "+proj=utm +zone=18 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26919 : return "+proj=utm +zone=19 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26920 : return "+proj=utm +zone=20 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26921 : return "+proj=utm +zone=21 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26922 : return "+proj=utm +zone=22 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26923 : return "+proj=utm +zone=23 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26929 : return "+proj=tmerc +lat_0=30.5 +lon_0=-85.83333333333333 +k=0.99996 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26930 : return "+proj=tmerc +lat_0=30 +lon_0=-87.5 +k=0.999933333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26931 : return "+proj=omerc +lat_0=57 +lonc=-133.6666666666667 +alpha=323.1301023611111 +k=0.9999 +x_0=5000000 +y_0=-5000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26932 : return "+proj=tmerc +lat_0=54 +lon_0=-142 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26933 : return "+proj=tmerc +lat_0=54 +lon_0=-146 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26934 : return "+proj=tmerc +lat_0=54 +lon_0=-150 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26935 : return "+proj=tmerc +lat_0=54 +lon_0=-154 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26936 : return "+proj=tmerc +lat_0=54 +lon_0=-158 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26937 : return "+proj=tmerc +lat_0=54 +lon_0=-162 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26938 : return "+proj=tmerc +lat_0=54 +lon_0=-166 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26939 : return "+proj=tmerc +lat_0=54 +lon_0=-170 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26940 : return "+proj=lcc +lat_1=53.83333333333334 +lat_2=51.83333333333334 +lat_0=51 +lon_0=-176 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26941 : return "+proj=lcc +lat_1=41.66666666666666 +lat_2=40 +lat_0=39.33333333333334 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26942 : return "+proj=lcc +lat_1=39.83333333333334 +lat_2=38.33333333333334 +lat_0=37.66666666666666 +lon_0=-122 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26943 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.06666666666667 +lat_0=36.5 +lon_0=-120.5 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26944 : return "+proj=lcc +lat_1=37.25 +lat_2=36 +lat_0=35.33333333333334 +lon_0=-119 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26945 : return "+proj=lcc +lat_1=35.46666666666667 +lat_2=34.03333333333333 +lat_0=33.5 +lon_0=-118 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26946 : return "+proj=lcc +lat_1=33.88333333333333 +lat_2=32.78333333333333 +lat_0=32.16666666666666 +lon_0=-116.25 +x_0=2000000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26948 : return "+proj=tmerc +lat_0=31 +lon_0=-110.1666666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26949 : return "+proj=tmerc +lat_0=31 +lon_0=-111.9166666666667 +k=0.9999 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26950 : return "+proj=tmerc +lat_0=31 +lon_0=-113.75 +k=0.999933333 +x_0=213360 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26951 : return "+proj=lcc +lat_1=36.23333333333333 +lat_2=34.93333333333333 +lat_0=34.33333333333334 +lon_0=-92 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26952 : return "+proj=lcc +lat_1=34.76666666666667 +lat_2=33.3 +lat_0=32.66666666666666 +lon_0=-92 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26953 : return "+proj=lcc +lat_1=40.78333333333333 +lat_2=39.71666666666667 +lat_0=39.33333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26954 : return "+proj=lcc +lat_1=39.75 +lat_2=38.45 +lat_0=37.83333333333334 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26955 : return "+proj=lcc +lat_1=38.43333333333333 +lat_2=37.23333333333333 +lat_0=36.66666666666666 +lon_0=-105.5 +x_0=914401.8289 +y_0=304800.6096 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26956 : return "+proj=lcc +lat_1=41.86666666666667 +lat_2=41.2 +lat_0=40.83333333333334 +lon_0=-72.75 +x_0=304800.6096 +y_0=152400.3048 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26957 : return "+proj=tmerc +lat_0=38 +lon_0=-75.41666666666667 +k=0.999995 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26958 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-81 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26959 : return "+proj=tmerc +lat_0=24.33333333333333 +lon_0=-82 +k=0.999941177 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26960 : return "+proj=lcc +lat_1=30.75 +lat_2=29.58333333333333 +lat_0=29 +lon_0=-84.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26961 : return "+proj=tmerc +lat_0=18.83333333333333 +lon_0=-155.5 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26962 : return "+proj=tmerc +lat_0=20.33333333333333 +lon_0=-156.6666666666667 +k=0.999966667 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26963 : return "+proj=tmerc +lat_0=21.16666666666667 +lon_0=-158 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26964 : return "+proj=tmerc +lat_0=21.83333333333333 +lon_0=-159.5 +k=0.99999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26965 : return "+proj=tmerc +lat_0=21.66666666666667 +lon_0=-160.1666666666667 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26966 : return "+proj=tmerc +lat_0=30 +lon_0=-82.16666666666667 +k=0.9999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26967 : return "+proj=tmerc +lat_0=30 +lon_0=-84.16666666666667 +k=0.9999 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26968 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-112.1666666666667 +k=0.9999473679999999 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26969 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-114 +k=0.9999473679999999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26970 : return "+proj=tmerc +lat_0=41.66666666666666 +lon_0=-115.75 +k=0.999933333 +x_0=800000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26971 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-88.33333333333333 +k=0.9999749999999999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26972 : return "+proj=tmerc +lat_0=36.66666666666666 +lon_0=-90.16666666666667 +k=0.999941177 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26973 : return "+proj=tmerc +lat_0=37.5 +lon_0=-85.66666666666667 +k=0.999966667 +x_0=100000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26974 : return "+proj=tmerc +lat_0=37.5 +lon_0=-87.08333333333333 +k=0.999966667 +x_0=900000 +y_0=250000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26975 : return "+proj=lcc +lat_1=43.26666666666667 +lat_2=42.06666666666667 +lat_0=41.5 +lon_0=-93.5 +x_0=1500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26976 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.61666666666667 +lat_0=40 +lon_0=-93.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26977 : return "+proj=lcc +lat_1=39.78333333333333 +lat_2=38.71666666666667 +lat_0=38.33333333333334 +lon_0=-98 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26978 : return "+proj=lcc +lat_1=38.56666666666667 +lat_2=37.26666666666667 +lat_0=36.66666666666666 +lon_0=-98.5 +x_0=400000 +y_0=400000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26979 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=37.96666666666667 +lat_0=37.5 +lon_0=-84.25 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26980 : return "+proj=lcc +lat_1=37.93333333333333 +lat_2=36.73333333333333 +lat_0=36.33333333333334 +lon_0=-85.75 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26981 : return "+proj=lcc +lat_1=32.66666666666666 +lat_2=31.16666666666667 +lat_0=30.5 +lon_0=-92.5 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26982 : return "+proj=lcc +lat_1=30.7 +lat_2=29.3 +lat_0=28.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26983 : return "+proj=tmerc +lat_0=43.66666666666666 +lon_0=-68.5 +k=0.9999 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26984 : return "+proj=tmerc +lat_0=42.83333333333334 +lon_0=-70.16666666666667 +k=0.999966667 +x_0=900000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26985 : return "+proj=lcc +lat_1=39.45 +lat_2=38.3 +lat_0=37.66666666666666 +lon_0=-77 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26986 : return "+proj=lcc +lat_1=42.68333333333333 +lat_2=41.71666666666667 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26987 : return "+proj=lcc +lat_1=41.48333333333333 +lat_2=41.28333333333333 +lat_0=41 +lon_0=-70.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26988 : return "+proj=lcc +lat_1=47.08333333333334 +lat_2=45.48333333333333 +lat_0=44.78333333333333 +lon_0=-87 +x_0=8000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26989 : return "+proj=lcc +lat_1=45.7 +lat_2=44.18333333333333 +lat_0=43.31666666666667 +lon_0=-84.36666666666666 +x_0=6000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26990 : return "+proj=lcc +lat_1=43.66666666666666 +lat_2=42.1 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26991 : return "+proj=lcc +lat_1=48.63333333333333 +lat_2=47.03333333333333 +lat_0=46.5 +lon_0=-93.09999999999999 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26992 : return "+proj=lcc +lat_1=47.05 +lat_2=45.61666666666667 +lat_0=45 +lon_0=-94.25 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26993 : return "+proj=lcc +lat_1=45.21666666666667 +lat_2=43.78333333333333 +lat_0=43 +lon_0=-94 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26994 : return "+proj=tmerc +lat_0=29.5 +lon_0=-88.83333333333333 +k=0.99995 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26995 : return "+proj=tmerc +lat_0=29.5 +lon_0=-90.33333333333333 +k=0.99995 +x_0=700000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26996 : return "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-90.5 +k=0.999933333 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26997 : return "+proj=tmerc +lat_0=35.83333333333334 +lon_0=-92.5 +k=0.999933333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 26998 : return "+proj=tmerc +lat_0=36.16666666666666 +lon_0=-94.5 +k=0.999941177 +x_0=850000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 27037 : return "+proj=utm +zone=37 +ellps=clrk80 +units=m"; - case 27038 : return "+proj=utm +zone=38 +ellps=clrk80 +units=m"; - case 27039 : return "+proj=utm +zone=39 +ellps=clrk80 +units=m"; - case 27040 : return "+proj=utm +zone=40 +ellps=clrk80 +units=m"; - case 27120 : return "+proj=utm +zone=20 +ellps=intl +units=m"; - case 27200 : return "+proj=nzmg +lat_0=-41 +lon_0=173 +x_0=2510000 +y_0=6023150 +ellps=intl +datum=nzgd49 +units=m"; - case 27205 : return "+proj=tmerc +lat_0=-36.87986527777778 +lon_0=174.7643393611111 +k=0.9999 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27206 : return "+proj=tmerc +lat_0=-37.76124980555556 +lon_0=176.46619725 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27207 : return "+proj=tmerc +lat_0=-38.62470277777778 +lon_0=177.8856362777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27208 : return "+proj=tmerc +lat_0=-39.65092930555556 +lon_0=176.6736805277778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27209 : return "+proj=tmerc +lat_0=-39.13575830555556 +lon_0=174.22801175 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27210 : return "+proj=tmerc +lat_0=-39.51247038888889 +lon_0=175.6400368055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27211 : return "+proj=tmerc +lat_0=-40.24194713888889 +lon_0=175.4880996111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27212 : return "+proj=tmerc +lat_0=-40.92553263888889 +lon_0=175.6473496666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27213 : return "+proj=tmerc +lat_0=-41.30131963888888 +lon_0=174.7766231111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27214 : return "+proj=tmerc +lat_0=-40.71475905555556 +lon_0=172.6720465 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27215 : return "+proj=tmerc +lat_0=-41.27454472222222 +lon_0=173.2993168055555 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27216 : return "+proj=tmerc +lat_0=-41.28991152777778 +lon_0=172.1090281944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27217 : return "+proj=tmerc +lat_0=-41.81080286111111 +lon_0=171.5812600555556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27218 : return "+proj=tmerc +lat_0=-42.33369427777778 +lon_0=171.5497713055556 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27219 : return "+proj=tmerc +lat_0=-42.68911658333333 +lon_0=173.0101333888889 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27220 : return "+proj=tmerc +lat_0=-41.54448666666666 +lon_0=173.8020741111111 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27221 : return "+proj=tmerc +lat_0=-42.88632236111111 +lon_0=170.9799935 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27222 : return "+proj=tmerc +lat_0=-43.11012813888889 +lon_0=170.2609258333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27223 : return "+proj=tmerc +lat_0=-43.97780288888889 +lon_0=168.606267 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27224 : return "+proj=tmerc +lat_0=-43.59063758333333 +lon_0=172.7271935833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27225 : return "+proj=tmerc +lat_0=-43.74871155555556 +lon_0=171.3607484722222 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27226 : return "+proj=tmerc +lat_0=-44.40222036111111 +lon_0=171.0572508333333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27227 : return "+proj=tmerc +lat_0=-44.73526797222222 +lon_0=169.4677550833333 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27228 : return "+proj=tmerc +lat_0=-45.13290258333333 +lon_0=168.3986411944444 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27229 : return "+proj=tmerc +lat_0=-45.56372616666666 +lon_0=167.7388617777778 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27230 : return "+proj=tmerc +lat_0=-45.81619661111111 +lon_0=170.6285951666667 +k=1 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27231 : return "+proj=tmerc +lat_0=-45.86151336111111 +lon_0=170.2825891111111 +k=0.99996 +x_0=300000 +y_0=700000 +ellps=intl +datum=nzgd49 +units=m"; - case 27232 : return "+proj=tmerc +lat_0=-46.60000961111111 +lon_0=168.342872 +k=1 +x_0=300002.66 +y_0=699999.58 +ellps=intl +datum=nzgd49 +units=m"; - case 27258 : return "+proj=utm +zone=58 +south +ellps=intl +datum=nzgd49 +units=m"; - case 27259 : return "+proj=utm +zone=59 +south +ellps=intl +datum=nzgd49 +units=m"; - case 27260 : return "+proj=utm +zone=60 +south +ellps=intl +datum=nzgd49 +units=m"; - case 27291 : return "+proj=tmerc +lat_0=-39 +lon_0=175.5 +k=1 +x_0=274319.5243848086 +y_0=365759.3658464114 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287"; - case 27292 : return "+proj=tmerc +lat_0=-44 +lon_0=171.5 +k=1 +x_0=457199.2073080143 +y_0=457199.2073080143 +ellps=intl +datum=nzgd49 +to_meter=0.9143984146160287"; - case 27391 : return "+proj=tmerc +lat_0=58 +lon_0=-4.666666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m"; - case 27392 : return "+proj=tmerc +lat_0=58 +lon_0=-2.333333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m"; - case 27393 : return "+proj=tmerc +lat_0=58 +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m"; - case 27394 : return "+proj=tmerc +lat_0=58 +lon_0=2.5 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m"; - case 27395 : return "+proj=tmerc +lat_0=58 +lon_0=6.166666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m"; - case 27396 : return "+proj=tmerc +lat_0=58 +lon_0=10.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m"; - case 27397 : return "+proj=tmerc +lat_0=58 +lon_0=14.16666666666667 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m"; - case 27398 : return "+proj=tmerc +lat_0=58 +lon_0=18.33333333333333 +k=1 +x_0=0 +y_0=0 +a=6377492.018 +b=6356173.508712696 +towgs84=278.3,93,474.5,7.889,0.05,-6.61,6.21 +pm=oslo +units=m"; - case 27429 : return "+proj=utm +zone=29 +ellps=intl +units=m"; - case 27492 : return "+proj=tmerc +lat_0=39.66666666666666 +lon_0=-8.131906111111112 +k=1 +x_0=180.598 +y_0=-86.98999999999999 +ellps=intl +units=m"; - case 27500 : return "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=5.399999999999999 +k_0=0.99950908 +x_0=500000 +y_0=300000 +a=6376523 +b=6355862.933255573 +pm=paris +units=m"; - case 27561 : return "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27562 : return "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27563 : return "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27564 : return "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27571 : return "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27572 : return "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27573 : return "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27574 : return "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27581 : return "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=1200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27582 : return "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=2200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27583 : return "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=3200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27584 : return "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=4185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27591 : return "+proj=lcc +lat_1=49.50000000000001 +lat_0=49.50000000000001 +lon_0=0 +k_0=0.999877341 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27592 : return "+proj=lcc +lat_1=46.8 +lat_0=46.8 +lon_0=0 +k_0=0.99987742 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27593 : return "+proj=lcc +lat_1=44.10000000000001 +lat_0=44.10000000000001 +lon_0=0 +k_0=0.999877499 +x_0=600000 +y_0=200000 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27594 : return "+proj=lcc +lat_1=42.16500000000001 +lat_0=42.16500000000001 +lon_0=0 +k_0=0.99994471 +x_0=234.358 +y_0=185861.369 +a=6378249.2 +b=6356515 +towgs84=-168,-60,320,0,0,0,0 +pm=paris +units=m"; - case 27700 : return "+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m"; - case 28191 : return "+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m"; - case 28192 : return "+proj=tmerc +lat_0=31.73409694444445 +lon_0=35.21208055555556 +k=1 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m"; - case 28193 : return "+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m"; - case 28232 : return "+proj=utm +zone=32 +south +a=6378249.2 +b=6356515 +units=m"; - case 28348 : return "+proj=utm +zone=48 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28349 : return "+proj=utm +zone=49 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28350 : return "+proj=utm +zone=50 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28351 : return "+proj=utm +zone=51 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28352 : return "+proj=utm +zone=52 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28353 : return "+proj=utm +zone=53 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28354 : return "+proj=utm +zone=54 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28355 : return "+proj=utm +zone=55 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28356 : return "+proj=utm +zone=56 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28357 : return "+proj=utm +zone=57 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28358 : return "+proj=utm +zone=58 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 28402 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=2500000 +y_0=0 +ellps=krass +units=m"; - case 28403 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=3500000 +y_0=0 +ellps=krass +units=m"; - case 28404 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=4500000 +y_0=0 +ellps=krass +units=m"; - case 28405 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=5500000 +y_0=0 +ellps=krass +units=m"; - case 28406 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=6500000 +y_0=0 +ellps=krass +units=m"; - case 28407 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=7500000 +y_0=0 +ellps=krass +units=m"; - case 28408 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=8500000 +y_0=0 +ellps=krass +units=m"; - case 28409 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=9500000 +y_0=0 +ellps=krass +units=m"; - case 28410 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=10500000 +y_0=0 +ellps=krass +units=m"; - case 28411 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=11500000 +y_0=0 +ellps=krass +units=m"; - case 28412 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=12500000 +y_0=0 +ellps=krass +units=m"; - case 28413 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=krass +units=m"; - case 28414 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=krass +units=m"; - case 28415 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=krass +units=m"; - case 28416 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=krass +units=m"; - case 28417 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=krass +units=m"; - case 28418 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=krass +units=m"; - case 28419 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=krass +units=m"; - case 28420 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=krass +units=m"; - case 28421 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=krass +units=m"; - case 28422 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=krass +units=m"; - case 28423 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=krass +units=m"; - case 28424 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=24500000 +y_0=0 +ellps=krass +units=m"; - case 28425 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=25500000 +y_0=0 +ellps=krass +units=m"; - case 28426 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=26500000 +y_0=0 +ellps=krass +units=m"; - case 28427 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=27500000 +y_0=0 +ellps=krass +units=m"; - case 28428 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=28500000 +y_0=0 +ellps=krass +units=m"; - case 28429 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=29500000 +y_0=0 +ellps=krass +units=m"; - case 28430 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=30500000 +y_0=0 +ellps=krass +units=m"; - case 28431 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=31500000 +y_0=0 +ellps=krass +units=m"; - case 28432 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=32500000 +y_0=0 +ellps=krass +units=m"; - case 28462 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28463 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28464 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28465 : return "+proj=tmerc +lat_0=0 +lon_0=27 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28466 : return "+proj=tmerc +lat_0=0 +lon_0=33 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28467 : return "+proj=tmerc +lat_0=0 +lon_0=39 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28468 : return "+proj=tmerc +lat_0=0 +lon_0=45 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28469 : return "+proj=tmerc +lat_0=0 +lon_0=51 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28470 : return "+proj=tmerc +lat_0=0 +lon_0=57 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28471 : return "+proj=tmerc +lat_0=0 +lon_0=63 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28472 : return "+proj=tmerc +lat_0=0 +lon_0=69 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28473 : return "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28474 : return "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28475 : return "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28476 : return "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28477 : return "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28478 : return "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28479 : return "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28480 : return "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28481 : return "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28482 : return "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28483 : return "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28484 : return "+proj=tmerc +lat_0=0 +lon_0=141 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28485 : return "+proj=tmerc +lat_0=0 +lon_0=147 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28486 : return "+proj=tmerc +lat_0=0 +lon_0=153 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28487 : return "+proj=tmerc +lat_0=0 +lon_0=159 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28488 : return "+proj=tmerc +lat_0=0 +lon_0=165 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28489 : return "+proj=tmerc +lat_0=0 +lon_0=171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28490 : return "+proj=tmerc +lat_0=0 +lon_0=177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28491 : return "+proj=tmerc +lat_0=0 +lon_0=-177 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28492 : return "+proj=tmerc +lat_0=0 +lon_0=-171 +k=1 +x_0=500000 +y_0=0 +ellps=krass +units=m"; - case 28600 : return "+proj=tmerc +lat_0=24.45 +lon_0=51.21666666666667 +k=0.99999 +x_0=200000 +y_0=300000 +ellps=intl +units=m"; - case 28991 : return "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 28992 : return "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +units=m"; - case 29100 : return "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=GRS67 +units=m"; - case 29101 : return "+proj=poly +lat_0=0 +lon_0=-54 +x_0=5000000 +y_0=10000000 +ellps=aust_SA +units=m"; - case 29118 : return "+proj=utm +zone=18 +ellps=GRS67 +units=m"; - case 29119 : return "+proj=utm +zone=19 +ellps=GRS67 +units=m"; - case 29120 : return "+proj=utm +zone=20 +ellps=GRS67 +units=m"; - case 29121 : return "+proj=utm +zone=21 +ellps=GRS67 +units=m"; - case 29122 : return "+proj=utm +zone=22 +ellps=GRS67 +units=m"; - case 29168 : return "+proj=utm +zone=18 +ellps=aust_SA +units=m"; - case 29169 : return "+proj=utm +zone=19 +ellps=aust_SA +units=m"; - case 29170 : return "+proj=utm +zone=20 +ellps=aust_SA +units=m"; - case 29171 : return "+proj=utm +zone=21 +ellps=aust_SA +units=m"; - case 29172 : return "+proj=utm +zone=22 +ellps=aust_SA +units=m"; - case 29177 : return "+proj=utm +zone=17 +south +ellps=GRS67 +units=m"; - case 29178 : return "+proj=utm +zone=18 +south +ellps=GRS67 +units=m"; - case 29179 : return "+proj=utm +zone=19 +south +ellps=GRS67 +units=m"; - case 29180 : return "+proj=utm +zone=20 +south +ellps=GRS67 +units=m"; - case 29181 : return "+proj=utm +zone=21 +south +ellps=GRS67 +units=m"; - case 29182 : return "+proj=utm +zone=22 +south +ellps=GRS67 +units=m"; - case 29183 : return "+proj=utm +zone=23 +south +ellps=GRS67 +units=m"; - case 29184 : return "+proj=utm +zone=24 +south +ellps=GRS67 +units=m"; - case 29185 : return "+proj=utm +zone=25 +south +ellps=GRS67 +units=m"; - case 29187 : return "+proj=utm +zone=17 +south +ellps=aust_SA +units=m"; - case 29188 : return "+proj=utm +zone=18 +south +ellps=aust_SA +units=m"; - case 29189 : return "+proj=utm +zone=19 +south +ellps=aust_SA +units=m"; - case 29190 : return "+proj=utm +zone=20 +south +ellps=aust_SA +units=m"; - case 29191 : return "+proj=utm +zone=21 +south +ellps=aust_SA +units=m"; - case 29192 : return "+proj=utm +zone=22 +south +ellps=aust_SA +units=m"; - case 29193 : return "+proj=utm +zone=23 +south +ellps=aust_SA +units=m"; - case 29194 : return "+proj=utm +zone=24 +south +ellps=aust_SA +units=m"; - case 29195 : return "+proj=utm +zone=25 +south +ellps=aust_SA +units=m"; - case 29220 : return "+proj=utm +zone=20 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m"; - case 29221 : return "+proj=utm +zone=21 +south +ellps=intl +towgs84=-355,21,72,0,0,0,0 +units=m"; - case 29333 : return "+proj=utm +zone=33 +south +ellps=bess_nam +units=m"; - case 29635 : return "+proj=utm +zone=35 +a=6378249.2 +b=6356515 +units=m"; - case 29636 : return "+proj=utm +zone=36 +a=6378249.2 +b=6356515 +units=m"; - case 29700 : return "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +units=m"; - case 29702 : return "+proj=omerc +lat_0=-18.9 +lonc=44.10000000000001 +alpha=18.9 +k=0.9995000000000001 +x_0=400000 +y_0=800000 +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +pm=paris +units=m"; - case 29738 : return "+proj=utm +zone=38 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m"; - case 29739 : return "+proj=utm +zone=39 +south +ellps=intl +towgs84=-189,-242,-91,0,0,0,0 +units=m"; - case 29849 : return "+proj=utm +zone=49 +ellps=evrstSS +units=m"; - case 29850 : return "+proj=utm +zone=50 +ellps=evrstSS +units=m"; - case 29871 : return "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8714630401 +y_0=442857.653094361 +ellps=evrstSS +to_meter=20.11676512155263"; - case 29872 : return "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.8727431979 +y_0=442857.6545573985 +ellps=evrstSS +to_meter=0.3047994715386762"; - case 29873 : return "+proj=omerc +lat_0=4 +lonc=115 +alpha=53.31582047222222 +k=0.99984 +x_0=590476.87 +y_0=442857.65 +ellps=evrstSS +units=m"; - case 29900 : return "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m"; - case 29901 : return "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1 +x_0=200000 +y_0=250000 +ellps=airy +towgs84=482.5,-130.6,564.6,-1.042,-0.214,-0.631,8.15 +units=m"; - case 29902 : return "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m"; - case 29903 : return "+proj=tmerc +lat_0=53.5 +lon_0=-8 +k=1.000035 +x_0=200000 +y_0=250000 +a=6377340.189 +b=6356034.447938534 +units=m"; - case 30161 : return "+proj=tmerc +lat_0=33 +lon_0=129.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30162 : return "+proj=tmerc +lat_0=33 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30163 : return "+proj=tmerc +lat_0=36 +lon_0=132.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30164 : return "+proj=tmerc +lat_0=33 +lon_0=133.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30165 : return "+proj=tmerc +lat_0=36 +lon_0=134.3333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30166 : return "+proj=tmerc +lat_0=36 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30167 : return "+proj=tmerc +lat_0=36 +lon_0=137.1666666666667 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30168 : return "+proj=tmerc +lat_0=36 +lon_0=138.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30169 : return "+proj=tmerc +lat_0=36 +lon_0=139.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30170 : return "+proj=tmerc +lat_0=40 +lon_0=140.8333333333333 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30171 : return "+proj=tmerc +lat_0=44 +lon_0=140.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30172 : return "+proj=tmerc +lat_0=44 +lon_0=142.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30173 : return "+proj=tmerc +lat_0=44 +lon_0=144.25 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30174 : return "+proj=tmerc +lat_0=26 +lon_0=142 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30175 : return "+proj=tmerc +lat_0=26 +lon_0=127.5 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30176 : return "+proj=tmerc +lat_0=26 +lon_0=124 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30177 : return "+proj=tmerc +lat_0=26 +lon_0=131 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30178 : return "+proj=tmerc +lat_0=20 +lon_0=136 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30179 : return "+proj=tmerc +lat_0=26 +lon_0=154 +k=0.9999 +x_0=0 +y_0=0 +ellps=bessel +units=m"; - case 30200 : return "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164"; - case 30339 : return "+proj=utm +zone=39 +ellps=helmert +units=m"; - case 30340 : return "+proj=utm +zone=40 +ellps=helmert +units=m"; - case 30491 : return "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m"; - case 30492 : return "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +towgs84=-73,-247,227,0,0,0,0 +units=m"; - case 30493 : return "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m"; - case 30494 : return "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500000 +y_0=300000 +a=6378249.2 +b=6356515 +units=m"; - case 30729 : return "+proj=utm +zone=29 +ellps=clrk80 +units=m"; - case 30730 : return "+proj=utm +zone=30 +ellps=clrk80 +units=m"; - case 30731 : return "+proj=utm +zone=31 +ellps=clrk80 +units=m"; - case 30732 : return "+proj=utm +zone=32 +ellps=clrk80 +units=m"; - case 30791 : return "+proj=lcc +lat_1=36 +lat_0=36 +lon_0=2.7 +k_0=0.999625544 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m"; - case 30792 : return "+proj=lcc +lat_1=33.3 +lat_0=33.3 +lon_0=2.7 +k_0=0.999625769 +x_0=500135 +y_0=300090 +ellps=clrk80 +units=m"; - case 30800 : return "+proj=tmerc +lat_0=0 +lon_0=15.80827777777778 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +units=m"; - case 31028 : return "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +units=m"; - case 31121 : return "+proj=utm +zone=21 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m"; - case 31154 : return "+proj=tmerc +lat_0=0 +lon_0=-54 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m"; - case 31170 : return "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9996 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m"; - case 31171 : return "+proj=tmerc +lat_0=0 +lon_0=-55.68333333333333 +k=0.9999 +x_0=500000 +y_0=0 +ellps=intl +towgs84=-265,120,-358,0,0,0,0 +units=m"; - case 31251 : return "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m"; - case 31252 : return "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m"; - case 31253 : return "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +pm=ferro +units=m"; - case 31254 : return "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31255 : return "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31256 : return "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=0 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31257 : return "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31258 : return "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31259 : return "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=-5000000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31265 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31266 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=1 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31267 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31268 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=1 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31275 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=0.9999 +x_0=5500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31276 : return "+proj=tmerc +lat_0=0 +lon_0=18 +k=0.9999 +x_0=6500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31277 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31278 : return "+proj=tmerc +lat_0=0 +lon_0=21 +k=0.9999 +x_0=7500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31279 : return "+proj=tmerc +lat_0=0 +lon_0=24 +k=0.9999 +x_0=8500000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31281 : return "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 31282 : return "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 31283 : return "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 31284 : return "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31285 : return "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31286 : return "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31287 : return "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31288 : return "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 31289 : return "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 31290 : return "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 31291 : return "+proj=tmerc +lat_0=0 +lon_0=28 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 31292 : return "+proj=tmerc +lat_0=0 +lon_0=31 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 31293 : return "+proj=tmerc +lat_0=0 +lon_0=34 +k=1 +x_0=0 +y_0=0 +ellps=bessel +pm=ferro +units=m"; - case 31294 : return "+proj=tmerc +lat_0=0 +lon_0=10.33333333333333 +k=1 +x_0=150000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31295 : return "+proj=tmerc +lat_0=0 +lon_0=13.33333333333333 +k=1 +x_0=450000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31296 : return "+proj=tmerc +lat_0=0 +lon_0=16.33333333333333 +k=1 +x_0=750000 +y_0=0 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31297 : return "+proj=lcc +lat_1=49 +lat_2=46 +lat_0=47.5 +lon_0=13.33333333333333 +x_0=400000 +y_0=400000 +ellps=bessel +towgs84=577.326,90.129,463.919,5.137,1.474,5.297,2.4232 +units=m"; - case 31300 : return "+proj=lcc +lat_1=49.83333333333334 +lat_2=51.16666666666666 +lat_0=90 +lon_0=4.356939722222222 +x_0=150000.01256 +y_0=5400088.4378 +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +units=m"; - case 31370 : return "+proj=lcc +lat_1=51.16666723333333 +lat_2=49.8333339 +lat_0=90 +lon_0=4.367486666666666 +x_0=150000.013 +y_0=5400088.438 +ellps=intl +towgs84=106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1 +units=m"; - case 31461 : return "+proj=tmerc +lat_0=0 +lon_0=3 +k=1 +x_0=1500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m"; - case 31462 : return "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m"; - case 31463 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m"; - case 31464 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m"; - case 31465 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m"; - case 31466 : return "+proj=tmerc +lat_0=0 +lon_0=6 +k=1 +x_0=2500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m"; - case 31467 : return "+proj=tmerc +lat_0=0 +lon_0=9 +k=1 +x_0=3500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m"; - case 31468 : return "+proj=tmerc +lat_0=0 +lon_0=12 +k=1 +x_0=4500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m"; - case 31469 : return "+proj=tmerc +lat_0=0 +lon_0=15 +k=1 +x_0=5500000 +y_0=0 +ellps=bessel +datum=potsdam +units=m"; - case 31528 : return "+proj=utm +zone=28 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m"; - case 31529 : return "+proj=utm +zone=29 +a=6378249.2 +b=6356515 +towgs84=-23,259,-9,0,0,0,0 +units=m"; - case 31600 : return "+proj=sterea +lat_0=45.9 +lon_0=25.39246588888889 +k=0.9996667 +x_0=500000 +y_0=500000 +ellps=intl +units=m"; - case 31700 : return "+proj=sterea +lat_0=46 +lon_0=25 +k=0.99975 +x_0=500000 +y_0=500000 +ellps=krass +units=m"; - case 31838 : return "+proj=utm +zone=38 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m"; - case 31839 : return "+proj=utm +zone=39 +ellps=WGS84 +towgs84=-3.2,-5.7,2.8,0,0,0,0 +units=m"; - case 31900 : return "+proj=tmerc +lat_0=0 +lon_0=48 +k=0.9996 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 31901 : return "+proj=tmerc +lat_0=0 +lon_0=48 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m"; - case 31965 : return "+proj=utm +zone=11 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31966 : return "+proj=utm +zone=12 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31967 : return "+proj=utm +zone=13 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31968 : return "+proj=utm +zone=14 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31969 : return "+proj=utm +zone=15 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31970 : return "+proj=utm +zone=16 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31971 : return "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31972 : return "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31973 : return "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31974 : return "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31975 : return "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31976 : return "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31977 : return "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31978 : return "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31979 : return "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31980 : return "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31981 : return "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31982 : return "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31983 : return "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31984 : return "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31985 : return "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31986 : return "+proj=utm +zone=17 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31987 : return "+proj=utm +zone=18 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31988 : return "+proj=utm +zone=19 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31989 : return "+proj=utm +zone=20 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31990 : return "+proj=utm +zone=21 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31991 : return "+proj=utm +zone=22 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31992 : return "+proj=utm +zone=17 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31993 : return "+proj=utm +zone=18 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31994 : return "+proj=utm +zone=19 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31995 : return "+proj=utm +zone=20 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31996 : return "+proj=utm +zone=21 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31997 : return "+proj=utm +zone=22 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31998 : return "+proj=utm +zone=23 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 31999 : return "+proj=utm +zone=24 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 32000 : return "+proj=utm +zone=25 +south +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - case 32001 : return "+proj=lcc +lat_1=48.71666666666667 +lat_2=47.85 +lat_0=47 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32002 : return "+proj=lcc +lat_1=47.88333333333333 +lat_2=46.45 +lat_0=45.83333333333334 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32003 : return "+proj=lcc +lat_1=46.4 +lat_2=44.86666666666667 +lat_0=44 +lon_0=-109.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32005 : return "+proj=lcc +lat_1=41.85 +lat_2=42.81666666666667 +lat_0=41.33333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32006 : return "+proj=lcc +lat_1=40.28333333333333 +lat_2=41.71666666666667 +lat_0=39.66666666666666 +lon_0=-99.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32007 : return "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32008 : return "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32009 : return "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32010 : return "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32011 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.66666666666667 +k=0.9999749999999999 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32012 : return "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32013 : return "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32014 : return "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32015 : return "+proj=tmerc +lat_0=40 +lon_0=-74.33333333333333 +k=0.999966667 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32016 : return "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32017 : return "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32018 : return "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.5 +lon_0=-74 +x_0=304800.6096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32019 : return "+proj=lcc +lat_1=34.33333333333334 +lat_2=36.16666666666666 +lat_0=33.75 +lon_0=-79 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32020 : return "+proj=lcc +lat_1=47.43333333333333 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32021 : return "+proj=lcc +lat_1=46.18333333333333 +lat_2=47.48333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32022 : return "+proj=lcc +lat_1=40.43333333333333 +lat_2=41.7 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32023 : return "+proj=lcc +lat_1=38.73333333333333 +lat_2=40.03333333333333 +lat_0=38 +lon_0=-82.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32024 : return "+proj=lcc +lat_1=35.56666666666667 +lat_2=36.76666666666667 +lat_0=35 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32025 : return "+proj=lcc +lat_1=33.93333333333333 +lat_2=35.23333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32026 : return "+proj=lcc +lat_1=44.33333333333334 +lat_2=46 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32027 : return "+proj=lcc +lat_1=42.33333333333334 +lat_2=44 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32028 : return "+proj=lcc +lat_1=40.88333333333333 +lat_2=41.95 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32029 : return "+proj=lcc +lat_1=39.93333333333333 +lat_2=40.8 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32030 : return "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.9999938 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32031 : return "+proj=lcc +lat_1=33.76666666666667 +lat_2=34.96666666666667 +lat_0=33 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32033 : return "+proj=lcc +lat_1=32.33333333333334 +lat_2=33.66666666666666 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32034 : return "+proj=lcc +lat_1=44.41666666666666 +lat_2=45.68333333333333 +lat_0=43.83333333333334 +lon_0=-100 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32035 : return "+proj=lcc +lat_1=42.83333333333334 +lat_2=44.4 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32036 : return "+proj=lcc +lat_1=35.25 +lat_2=36.41666666666666 +lat_0=34.66666666666666 +lon_0=-86 +x_0=30480.06096012192 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32037 : return "+proj=lcc +lat_1=34.65 +lat_2=36.18333333333333 +lat_0=34 +lon_0=-101.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32038 : return "+proj=lcc +lat_1=32.13333333333333 +lat_2=33.96666666666667 +lat_0=31.66666666666667 +lon_0=-97.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32039 : return "+proj=lcc +lat_1=30.11666666666667 +lat_2=31.88333333333333 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32040 : return "+proj=lcc +lat_1=28.38333333333333 +lat_2=30.28333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32041 : return "+proj=lcc +lat_1=26.16666666666667 +lat_2=27.83333333333333 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32042 : return "+proj=lcc +lat_1=40.71666666666667 +lat_2=41.78333333333333 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32043 : return "+proj=lcc +lat_1=39.01666666666667 +lat_2=40.65 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32044 : return "+proj=lcc +lat_1=37.21666666666667 +lat_2=38.35 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32045 : return "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32046 : return "+proj=lcc +lat_1=38.03333333333333 +lat_2=39.2 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32047 : return "+proj=lcc +lat_1=36.76666666666667 +lat_2=37.96666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32048 : return "+proj=lcc +lat_1=47.5 +lat_2=48.73333333333333 +lat_0=47 +lon_0=-120.8333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32049 : return "+proj=lcc +lat_1=45.83333333333334 +lat_2=47.33333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32050 : return "+proj=lcc +lat_1=39 +lat_2=40.25 +lat_0=38.5 +lon_0=-79.5 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32051 : return "+proj=lcc +lat_1=37.48333333333333 +lat_2=38.88333333333333 +lat_0=37 +lon_0=-81 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32052 : return "+proj=lcc +lat_1=45.56666666666667 +lat_2=46.76666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32053 : return "+proj=lcc +lat_1=44.25 +lat_2=45.5 +lat_0=43.83333333333334 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32054 : return "+proj=lcc +lat_1=42.73333333333333 +lat_2=44.06666666666667 +lat_0=42 +lon_0=-90 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32055 : return "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-105.1666666666667 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32056 : return "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-107.3333333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32057 : return "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-108.75 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32058 : return "+proj=tmerc +lat_0=40.66666666666666 +lon_0=-110.0833333333333 +k=0.999941177 +x_0=152400.3048006096 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32061 : return "+proj=lcc +lat_1=16.81666666666667 +lat_0=16.81666666666667 +lon_0=-90.33333333333333 +k_0=0.99992226 +x_0=500000 +y_0=292209.579 +ellps=clrk66 +datum=NAD27 +units=m"; - case 32062 : return "+proj=lcc +lat_1=14.9 +lat_0=14.9 +lon_0=-90.33333333333333 +k_0=0.99989906 +x_0=500000 +y_0=325992.681 +ellps=clrk66 +datum=NAD27 +units=m"; - case 32064 : return "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32065 : return "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32066 : return "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32067 : return "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32074 : return "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32075 : return "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32076 : return "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32077 : return "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32081 : return "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m"; - case 32082 : return "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m"; - case 32083 : return "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m"; - case 32084 : return "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m"; - case 32085 : return "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m"; - case 32086 : return "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m"; - case 32098 : return "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +units=m"; - case 32099 : return "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-91.33333333333333 +x_0=609601.2192024384 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - case 32100 : return "+proj=lcc +lat_1=49 +lat_2=45 +lat_0=44.25 +lon_0=-109.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32104 : return "+proj=lcc +lat_1=43 +lat_2=40 +lat_0=39.83333333333334 +lon_0=-100 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32107 : return "+proj=tmerc +lat_0=34.75 +lon_0=-115.5833333333333 +k=0.9999 +x_0=200000 +y_0=8000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32108 : return "+proj=tmerc +lat_0=34.75 +lon_0=-116.6666666666667 +k=0.9999 +x_0=500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32109 : return "+proj=tmerc +lat_0=34.75 +lon_0=-118.5833333333333 +k=0.9999 +x_0=800000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32110 : return "+proj=tmerc +lat_0=42.5 +lon_0=-71.66666666666667 +k=0.999966667 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32111 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32112 : return "+proj=tmerc +lat_0=31 +lon_0=-104.3333333333333 +k=0.999909091 +x_0=165000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32113 : return "+proj=tmerc +lat_0=31 +lon_0=-106.25 +k=0.9999 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32114 : return "+proj=tmerc +lat_0=31 +lon_0=-107.8333333333333 +k=0.999916667 +x_0=830000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32115 : return "+proj=tmerc +lat_0=38.83333333333334 +lon_0=-74.5 +k=0.9999 +x_0=150000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32116 : return "+proj=tmerc +lat_0=40 +lon_0=-76.58333333333333 +k=0.9999375 +x_0=250000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32117 : return "+proj=tmerc +lat_0=40 +lon_0=-78.58333333333333 +k=0.9999375 +x_0=350000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32118 : return "+proj=lcc +lat_1=41.03333333333333 +lat_2=40.66666666666666 +lat_0=40.16666666666666 +lon_0=-74 +x_0=300000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32119 : return "+proj=lcc +lat_1=36.16666666666666 +lat_2=34.33333333333334 +lat_0=33.75 +lon_0=-79 +x_0=609601.22 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32120 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.43333333333333 +lat_0=47 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32121 : return "+proj=lcc +lat_1=47.48333333333333 +lat_2=46.18333333333333 +lat_0=45.66666666666666 +lon_0=-100.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32122 : return "+proj=lcc +lat_1=41.7 +lat_2=40.43333333333333 +lat_0=39.66666666666666 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32123 : return "+proj=lcc +lat_1=40.03333333333333 +lat_2=38.73333333333333 +lat_0=38 +lon_0=-82.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32124 : return "+proj=lcc +lat_1=36.76666666666667 +lat_2=35.56666666666667 +lat_0=35 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32125 : return "+proj=lcc +lat_1=35.23333333333333 +lat_2=33.93333333333333 +lat_0=33.33333333333334 +lon_0=-98 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32126 : return "+proj=lcc +lat_1=46 +lat_2=44.33333333333334 +lat_0=43.66666666666666 +lon_0=-120.5 +x_0=2500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32127 : return "+proj=lcc +lat_1=44 +lat_2=42.33333333333334 +lat_0=41.66666666666666 +lon_0=-120.5 +x_0=1500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32128 : return "+proj=lcc +lat_1=41.95 +lat_2=40.88333333333333 +lat_0=40.16666666666666 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32129 : return "+proj=lcc +lat_1=40.96666666666667 +lat_2=39.93333333333333 +lat_0=39.33333333333334 +lon_0=-77.75 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32130 : return "+proj=tmerc +lat_0=41.08333333333334 +lon_0=-71.5 +k=0.99999375 +x_0=100000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32133 : return "+proj=lcc +lat_1=34.83333333333334 +lat_2=32.5 +lat_0=31.83333333333333 +lon_0=-81 +x_0=609600 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32134 : return "+proj=lcc +lat_1=45.68333333333333 +lat_2=44.41666666666666 +lat_0=43.83333333333334 +lon_0=-100 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32135 : return "+proj=lcc +lat_1=44.4 +lat_2=42.83333333333334 +lat_0=42.33333333333334 +lon_0=-100.3333333333333 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32136 : return "+proj=lcc +lat_1=36.41666666666666 +lat_2=35.25 +lat_0=34.33333333333334 +lon_0=-86 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32137 : return "+proj=lcc +lat_1=36.18333333333333 +lat_2=34.65 +lat_0=34 +lon_0=-101.5 +x_0=200000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32138 : return "+proj=lcc +lat_1=33.96666666666667 +lat_2=32.13333333333333 +lat_0=31.66666666666667 +lon_0=-98.5 +x_0=600000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32139 : return "+proj=lcc +lat_1=31.88333333333333 +lat_2=30.11666666666667 +lat_0=29.66666666666667 +lon_0=-100.3333333333333 +x_0=700000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32140 : return "+proj=lcc +lat_1=30.28333333333333 +lat_2=28.38333333333333 +lat_0=27.83333333333333 +lon_0=-99 +x_0=600000 +y_0=4000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32141 : return "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.66666666666667 +lon_0=-98.5 +x_0=300000 +y_0=5000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32142 : return "+proj=lcc +lat_1=41.78333333333333 +lat_2=40.71666666666667 +lat_0=40.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32143 : return "+proj=lcc +lat_1=40.65 +lat_2=39.01666666666667 +lat_0=38.33333333333334 +lon_0=-111.5 +x_0=500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32144 : return "+proj=lcc +lat_1=38.35 +lat_2=37.21666666666667 +lat_0=36.66666666666666 +lon_0=-111.5 +x_0=500000 +y_0=3000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32145 : return "+proj=tmerc +lat_0=42.5 +lon_0=-72.5 +k=0.999964286 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32146 : return "+proj=lcc +lat_1=39.2 +lat_2=38.03333333333333 +lat_0=37.66666666666666 +lon_0=-78.5 +x_0=3500000 +y_0=2000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32147 : return "+proj=lcc +lat_1=37.96666666666667 +lat_2=36.76666666666667 +lat_0=36.33333333333334 +lon_0=-78.5 +x_0=3500000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32148 : return "+proj=lcc +lat_1=48.73333333333333 +lat_2=47.5 +lat_0=47 +lon_0=-120.8333333333333 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32149 : return "+proj=lcc +lat_1=47.33333333333334 +lat_2=45.83333333333334 +lat_0=45.33333333333334 +lon_0=-120.5 +x_0=500000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32150 : return "+proj=lcc +lat_1=40.25 +lat_2=39 +lat_0=38.5 +lon_0=-79.5 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32151 : return "+proj=lcc +lat_1=38.88333333333333 +lat_2=37.48333333333333 +lat_0=37 +lon_0=-81 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32152 : return "+proj=lcc +lat_1=46.76666666666667 +lat_2=45.56666666666667 +lat_0=45.16666666666666 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32153 : return "+proj=lcc +lat_1=45.5 +lat_2=44.25 +lat_0=43.83333333333334 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32154 : return "+proj=lcc +lat_1=44.06666666666667 +lat_2=42.73333333333333 +lat_0=42 +lon_0=-90 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32155 : return "+proj=tmerc +lat_0=40.5 +lon_0=-105.1666666666667 +k=0.9999375 +x_0=200000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32156 : return "+proj=tmerc +lat_0=40.5 +lon_0=-107.3333333333333 +k=0.9999375 +x_0=400000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32157 : return "+proj=tmerc +lat_0=40.5 +lon_0=-108.75 +k=0.9999375 +x_0=600000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32158 : return "+proj=tmerc +lat_0=40.5 +lon_0=-110.0833333333333 +k=0.9999375 +x_0=800000 +y_0=100000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32161 : return "+proj=lcc +lat_1=18.43333333333333 +lat_2=18.03333333333333 +lat_0=17.83333333333333 +lon_0=-66.43333333333334 +x_0=200000 +y_0=200000 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32164 : return "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 32165 : return "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 32166 : return "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 32167 : return "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192"; - case 32180 : return "+proj=tmerc +lat_0=0 +lon_0=-55.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32181 : return "+proj=tmerc +lat_0=0 +lon_0=-53 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32182 : return "+proj=tmerc +lat_0=0 +lon_0=-56 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32183 : return "+proj=tmerc +lat_0=0 +lon_0=-58.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32184 : return "+proj=tmerc +lat_0=0 +lon_0=-61.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32185 : return "+proj=tmerc +lat_0=0 +lon_0=-64.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32186 : return "+proj=tmerc +lat_0=0 +lon_0=-67.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32187 : return "+proj=tmerc +lat_0=0 +lon_0=-70.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32188 : return "+proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32189 : return "+proj=tmerc +lat_0=0 +lon_0=-76.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32190 : return "+proj=tmerc +lat_0=0 +lon_0=-79.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32191 : return "+proj=tmerc +lat_0=0 +lon_0=-82.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32192 : return "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32193 : return "+proj=tmerc +lat_0=0 +lon_0=-84 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32194 : return "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32195 : return "+proj=tmerc +lat_0=0 +lon_0=-90 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32196 : return "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32197 : return "+proj=tmerc +lat_0=0 +lon_0=-96 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32198 : return "+proj=lcc +lat_1=60 +lat_2=46 +lat_0=44 +lon_0=-68.5 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32199 : return "+proj=lcc +lat_1=27.83333333333333 +lat_2=26.16666666666667 +lat_0=25.5 +lon_0=-91.33333333333333 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - case 32201 : return "+proj=utm +zone=1 +ellps=WGS72 +units=m"; - case 32202 : return "+proj=utm +zone=2 +ellps=WGS72 +units=m"; - case 32203 : return "+proj=utm +zone=3 +ellps=WGS72 +units=m"; - case 32204 : return "+proj=utm +zone=4 +ellps=WGS72 +units=m"; - case 32205 : return "+proj=utm +zone=5 +ellps=WGS72 +units=m"; - case 32206 : return "+proj=utm +zone=6 +ellps=WGS72 +units=m"; - case 32207 : return "+proj=utm +zone=7 +ellps=WGS72 +units=m"; - case 32208 : return "+proj=utm +zone=8 +ellps=WGS72 +units=m"; - case 32209 : return "+proj=utm +zone=9 +ellps=WGS72 +units=m"; - case 32210 : return "+proj=utm +zone=10 +ellps=WGS72 +units=m"; - case 32211 : return "+proj=utm +zone=11 +ellps=WGS72 +units=m"; - case 32212 : return "+proj=utm +zone=12 +ellps=WGS72 +units=m"; - case 32213 : return "+proj=utm +zone=13 +ellps=WGS72 +units=m"; - case 32214 : return "+proj=utm +zone=14 +ellps=WGS72 +units=m"; - case 32215 : return "+proj=utm +zone=15 +ellps=WGS72 +units=m"; - case 32216 : return "+proj=utm +zone=16 +ellps=WGS72 +units=m"; - case 32217 : return "+proj=utm +zone=17 +ellps=WGS72 +units=m"; - case 32218 : return "+proj=utm +zone=18 +ellps=WGS72 +units=m"; - case 32219 : return "+proj=utm +zone=19 +ellps=WGS72 +units=m"; - case 32220 : return "+proj=utm +zone=20 +ellps=WGS72 +units=m"; - case 32221 : return "+proj=utm +zone=21 +ellps=WGS72 +units=m"; - case 32222 : return "+proj=utm +zone=22 +ellps=WGS72 +units=m"; - case 32223 : return "+proj=utm +zone=23 +ellps=WGS72 +units=m"; - case 32224 : return "+proj=utm +zone=24 +ellps=WGS72 +units=m"; - case 32225 : return "+proj=utm +zone=25 +ellps=WGS72 +units=m"; - case 32226 : return "+proj=utm +zone=26 +ellps=WGS72 +units=m"; - case 32227 : return "+proj=utm +zone=27 +ellps=WGS72 +units=m"; - case 32228 : return "+proj=utm +zone=28 +ellps=WGS72 +units=m"; - case 32229 : return "+proj=utm +zone=29 +ellps=WGS72 +units=m"; - case 32230 : return "+proj=utm +zone=30 +ellps=WGS72 +units=m"; - case 32231 : return "+proj=utm +zone=31 +ellps=WGS72 +units=m"; - case 32232 : return "+proj=utm +zone=32 +ellps=WGS72 +units=m"; - case 32233 : return "+proj=utm +zone=33 +ellps=WGS72 +units=m"; - case 32234 : return "+proj=utm +zone=34 +ellps=WGS72 +units=m"; - case 32235 : return "+proj=utm +zone=35 +ellps=WGS72 +units=m"; - case 32236 : return "+proj=utm +zone=36 +ellps=WGS72 +units=m"; - case 32237 : return "+proj=utm +zone=37 +ellps=WGS72 +units=m"; - case 32238 : return "+proj=utm +zone=38 +ellps=WGS72 +units=m"; - case 32239 : return "+proj=utm +zone=39 +ellps=WGS72 +units=m"; - case 32240 : return "+proj=utm +zone=40 +ellps=WGS72 +units=m"; - case 32241 : return "+proj=utm +zone=41 +ellps=WGS72 +units=m"; - case 32242 : return "+proj=utm +zone=42 +ellps=WGS72 +units=m"; - case 32243 : return "+proj=utm +zone=43 +ellps=WGS72 +units=m"; - case 32244 : return "+proj=utm +zone=44 +ellps=WGS72 +units=m"; - case 32245 : return "+proj=utm +zone=45 +ellps=WGS72 +units=m"; - case 32246 : return "+proj=utm +zone=46 +ellps=WGS72 +units=m"; - case 32247 : return "+proj=utm +zone=47 +ellps=WGS72 +units=m"; - case 32248 : return "+proj=utm +zone=48 +ellps=WGS72 +units=m"; - case 32249 : return "+proj=utm +zone=49 +ellps=WGS72 +units=m"; - case 32250 : return "+proj=utm +zone=50 +ellps=WGS72 +units=m"; - case 32251 : return "+proj=utm +zone=51 +ellps=WGS72 +units=m"; - case 32252 : return "+proj=utm +zone=52 +ellps=WGS72 +units=m"; - case 32253 : return "+proj=utm +zone=53 +ellps=WGS72 +units=m"; - case 32254 : return "+proj=utm +zone=54 +ellps=WGS72 +units=m"; - case 32255 : return "+proj=utm +zone=55 +ellps=WGS72 +units=m"; - case 32256 : return "+proj=utm +zone=56 +ellps=WGS72 +units=m"; - case 32257 : return "+proj=utm +zone=57 +ellps=WGS72 +units=m"; - case 32258 : return "+proj=utm +zone=58 +ellps=WGS72 +units=m"; - case 32259 : return "+proj=utm +zone=59 +ellps=WGS72 +units=m"; - case 32260 : return "+proj=utm +zone=60 +ellps=WGS72 +units=m"; - case 32301 : return "+proj=utm +zone=1 +south +ellps=WGS72 +units=m"; - case 32302 : return "+proj=utm +zone=2 +south +ellps=WGS72 +units=m"; - case 32303 : return "+proj=utm +zone=3 +south +ellps=WGS72 +units=m"; - case 32304 : return "+proj=utm +zone=4 +south +ellps=WGS72 +units=m"; - case 32305 : return "+proj=utm +zone=5 +south +ellps=WGS72 +units=m"; - case 32306 : return "+proj=utm +zone=6 +south +ellps=WGS72 +units=m"; - case 32307 : return "+proj=utm +zone=7 +south +ellps=WGS72 +units=m"; - case 32308 : return "+proj=utm +zone=8 +south +ellps=WGS72 +units=m"; - case 32309 : return "+proj=utm +zone=9 +south +ellps=WGS72 +units=m"; - case 32310 : return "+proj=utm +zone=10 +south +ellps=WGS72 +units=m"; - case 32311 : return "+proj=utm +zone=11 +south +ellps=WGS72 +units=m"; - case 32312 : return "+proj=utm +zone=12 +south +ellps=WGS72 +units=m"; - case 32313 : return "+proj=utm +zone=13 +south +ellps=WGS72 +units=m"; - case 32314 : return "+proj=utm +zone=14 +south +ellps=WGS72 +units=m"; - case 32315 : return "+proj=utm +zone=15 +south +ellps=WGS72 +units=m"; - case 32316 : return "+proj=utm +zone=16 +south +ellps=WGS72 +units=m"; - case 32317 : return "+proj=utm +zone=17 +south +ellps=WGS72 +units=m"; - case 32318 : return "+proj=utm +zone=18 +south +ellps=WGS72 +units=m"; - case 32319 : return "+proj=utm +zone=19 +south +ellps=WGS72 +units=m"; - case 32320 : return "+proj=utm +zone=20 +south +ellps=WGS72 +units=m"; - case 32321 : return "+proj=utm +zone=21 +south +ellps=WGS72 +units=m"; - case 32322 : return "+proj=utm +zone=22 +south +ellps=WGS72 +units=m"; - case 32323 : return "+proj=utm +zone=23 +south +ellps=WGS72 +units=m"; - case 32324 : return "+proj=utm +zone=24 +south +ellps=WGS72 +units=m"; - case 32325 : return "+proj=utm +zone=25 +south +ellps=WGS72 +units=m"; - case 32326 : return "+proj=utm +zone=26 +south +ellps=WGS72 +units=m"; - case 32327 : return "+proj=utm +zone=27 +south +ellps=WGS72 +units=m"; - case 32328 : return "+proj=utm +zone=28 +south +ellps=WGS72 +units=m"; - case 32329 : return "+proj=utm +zone=29 +south +ellps=WGS72 +units=m"; - case 32330 : return "+proj=utm +zone=30 +south +ellps=WGS72 +units=m"; - case 32331 : return "+proj=utm +zone=31 +south +ellps=WGS72 +units=m"; - case 32332 : return "+proj=utm +zone=32 +south +ellps=WGS72 +units=m"; - case 32333 : return "+proj=utm +zone=33 +south +ellps=WGS72 +units=m"; - case 32334 : return "+proj=utm +zone=34 +south +ellps=WGS72 +units=m"; - case 32335 : return "+proj=utm +zone=35 +south +ellps=WGS72 +units=m"; - case 32336 : return "+proj=utm +zone=36 +south +ellps=WGS72 +units=m"; - case 32337 : return "+proj=utm +zone=37 +south +ellps=WGS72 +units=m"; - case 32338 : return "+proj=utm +zone=38 +south +ellps=WGS72 +units=m"; - case 32339 : return "+proj=utm +zone=39 +south +ellps=WGS72 +units=m"; - case 32340 : return "+proj=utm +zone=40 +south +ellps=WGS72 +units=m"; - case 32341 : return "+proj=utm +zone=41 +south +ellps=WGS72 +units=m"; - case 32342 : return "+proj=utm +zone=42 +south +ellps=WGS72 +units=m"; - case 32343 : return "+proj=utm +zone=43 +south +ellps=WGS72 +units=m"; - case 32344 : return "+proj=utm +zone=44 +south +ellps=WGS72 +units=m"; - case 32345 : return "+proj=utm +zone=45 +south +ellps=WGS72 +units=m"; - case 32346 : return "+proj=utm +zone=46 +south +ellps=WGS72 +units=m"; - case 32347 : return "+proj=utm +zone=47 +south +ellps=WGS72 +units=m"; - case 32348 : return "+proj=utm +zone=48 +south +ellps=WGS72 +units=m"; - case 32349 : return "+proj=utm +zone=49 +south +ellps=WGS72 +units=m"; - case 32350 : return "+proj=utm +zone=50 +south +ellps=WGS72 +units=m"; - case 32351 : return "+proj=utm +zone=51 +south +ellps=WGS72 +units=m"; - case 32352 : return "+proj=utm +zone=52 +south +ellps=WGS72 +units=m"; - case 32353 : return "+proj=utm +zone=53 +south +ellps=WGS72 +units=m"; - case 32354 : return "+proj=utm +zone=54 +south +ellps=WGS72 +units=m"; - case 32355 : return "+proj=utm +zone=55 +south +ellps=WGS72 +units=m"; - case 32356 : return "+proj=utm +zone=56 +south +ellps=WGS72 +units=m"; - case 32357 : return "+proj=utm +zone=57 +south +ellps=WGS72 +units=m"; - case 32358 : return "+proj=utm +zone=58 +south +ellps=WGS72 +units=m"; - case 32359 : return "+proj=utm +zone=59 +south +ellps=WGS72 +units=m"; - case 32360 : return "+proj=utm +zone=60 +south +ellps=WGS72 +units=m"; - case 32401 : return "+proj=utm +zone=1 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32402 : return "+proj=utm +zone=2 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32403 : return "+proj=utm +zone=3 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32404 : return "+proj=utm +zone=4 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32405 : return "+proj=utm +zone=5 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32406 : return "+proj=utm +zone=6 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32407 : return "+proj=utm +zone=7 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32408 : return "+proj=utm +zone=8 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32409 : return "+proj=utm +zone=9 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32410 : return "+proj=utm +zone=10 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32411 : return "+proj=utm +zone=11 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32412 : return "+proj=utm +zone=12 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32413 : return "+proj=utm +zone=13 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32414 : return "+proj=utm +zone=14 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32415 : return "+proj=utm +zone=15 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32416 : return "+proj=utm +zone=16 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32417 : return "+proj=utm +zone=17 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32418 : return "+proj=utm +zone=18 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32419 : return "+proj=utm +zone=19 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32420 : return "+proj=utm +zone=20 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32421 : return "+proj=utm +zone=21 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32422 : return "+proj=utm +zone=22 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32423 : return "+proj=utm +zone=23 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32424 : return "+proj=utm +zone=24 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32425 : return "+proj=utm +zone=25 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32426 : return "+proj=utm +zone=26 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32427 : return "+proj=utm +zone=27 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32428 : return "+proj=utm +zone=28 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32429 : return "+proj=utm +zone=29 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32430 : return "+proj=utm +zone=30 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32431 : return "+proj=utm +zone=31 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32432 : return "+proj=utm +zone=32 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32433 : return "+proj=utm +zone=33 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32434 : return "+proj=utm +zone=34 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32435 : return "+proj=utm +zone=35 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32436 : return "+proj=utm +zone=36 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32437 : return "+proj=utm +zone=37 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32438 : return "+proj=utm +zone=38 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32439 : return "+proj=utm +zone=39 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32440 : return "+proj=utm +zone=40 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32441 : return "+proj=utm +zone=41 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32442 : return "+proj=utm +zone=42 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32443 : return "+proj=utm +zone=43 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32444 : return "+proj=utm +zone=44 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32445 : return "+proj=utm +zone=45 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32446 : return "+proj=utm +zone=46 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32447 : return "+proj=utm +zone=47 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32448 : return "+proj=utm +zone=48 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32449 : return "+proj=utm +zone=49 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32450 : return "+proj=utm +zone=50 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32451 : return "+proj=utm +zone=51 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32452 : return "+proj=utm +zone=52 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32453 : return "+proj=utm +zone=53 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32454 : return "+proj=utm +zone=54 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32455 : return "+proj=utm +zone=55 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32456 : return "+proj=utm +zone=56 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32457 : return "+proj=utm +zone=57 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32458 : return "+proj=utm +zone=58 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32459 : return "+proj=utm +zone=59 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32460 : return "+proj=utm +zone=60 +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32501 : return "+proj=utm +zone=1 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32502 : return "+proj=utm +zone=2 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32503 : return "+proj=utm +zone=3 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32504 : return "+proj=utm +zone=4 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32505 : return "+proj=utm +zone=5 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32506 : return "+proj=utm +zone=6 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32507 : return "+proj=utm +zone=7 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32508 : return "+proj=utm +zone=8 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32509 : return "+proj=utm +zone=9 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32510 : return "+proj=utm +zone=10 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32511 : return "+proj=utm +zone=11 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32512 : return "+proj=utm +zone=12 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32513 : return "+proj=utm +zone=13 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32514 : return "+proj=utm +zone=14 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32515 : return "+proj=utm +zone=15 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32516 : return "+proj=utm +zone=16 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32517 : return "+proj=utm +zone=17 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32518 : return "+proj=utm +zone=18 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32519 : return "+proj=utm +zone=19 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32520 : return "+proj=utm +zone=20 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32521 : return "+proj=utm +zone=21 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32522 : return "+proj=utm +zone=22 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32523 : return "+proj=utm +zone=23 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32524 : return "+proj=utm +zone=24 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32525 : return "+proj=utm +zone=25 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32526 : return "+proj=utm +zone=26 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32527 : return "+proj=utm +zone=27 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32528 : return "+proj=utm +zone=28 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32529 : return "+proj=utm +zone=29 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32530 : return "+proj=utm +zone=30 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32531 : return "+proj=utm +zone=31 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32532 : return "+proj=utm +zone=32 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32533 : return "+proj=utm +zone=33 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32534 : return "+proj=utm +zone=34 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32535 : return "+proj=utm +zone=35 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32536 : return "+proj=utm +zone=36 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32537 : return "+proj=utm +zone=37 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32538 : return "+proj=utm +zone=38 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32539 : return "+proj=utm +zone=39 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32540 : return "+proj=utm +zone=40 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32541 : return "+proj=utm +zone=41 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32542 : return "+proj=utm +zone=42 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32543 : return "+proj=utm +zone=43 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32544 : return "+proj=utm +zone=44 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32545 : return "+proj=utm +zone=45 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32546 : return "+proj=utm +zone=46 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32547 : return "+proj=utm +zone=47 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32548 : return "+proj=utm +zone=48 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32549 : return "+proj=utm +zone=49 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32550 : return "+proj=utm +zone=50 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32551 : return "+proj=utm +zone=51 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32552 : return "+proj=utm +zone=52 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32553 : return "+proj=utm +zone=53 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32554 : return "+proj=utm +zone=54 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32555 : return "+proj=utm +zone=55 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32556 : return "+proj=utm +zone=56 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32557 : return "+proj=utm +zone=57 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32558 : return "+proj=utm +zone=58 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32559 : return "+proj=utm +zone=59 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32560 : return "+proj=utm +zone=60 +south +ellps=WGS72 +towgs84=0,0,1.9,0,0,0.814,-0.38 +units=m"; - case 32601 : return "+proj=utm +zone=1 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32602 : return "+proj=utm +zone=2 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32603 : return "+proj=utm +zone=3 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32604 : return "+proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32605 : return "+proj=utm +zone=5 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32606 : return "+proj=utm +zone=6 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32607 : return "+proj=utm +zone=7 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32608 : return "+proj=utm +zone=8 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32609 : return "+proj=utm +zone=9 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32610 : return "+proj=utm +zone=10 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32611 : return "+proj=utm +zone=11 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32612 : return "+proj=utm +zone=12 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32613 : return "+proj=utm +zone=13 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32614 : return "+proj=utm +zone=14 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32615 : return "+proj=utm +zone=15 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32616 : return "+proj=utm +zone=16 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32617 : return "+proj=utm +zone=17 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32618 : return "+proj=utm +zone=18 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32619 : return "+proj=utm +zone=19 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32620 : return "+proj=utm +zone=20 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32621 : return "+proj=utm +zone=21 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32622 : return "+proj=utm +zone=22 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32623 : return "+proj=utm +zone=23 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32624 : return "+proj=utm +zone=24 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32625 : return "+proj=utm +zone=25 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32626 : return "+proj=utm +zone=26 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32627 : return "+proj=utm +zone=27 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32628 : return "+proj=utm +zone=28 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32629 : return "+proj=utm +zone=29 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32630 : return "+proj=utm +zone=30 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32631 : return "+proj=utm +zone=31 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32632 : return "+proj=utm +zone=32 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32633 : return "+proj=utm +zone=33 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32634 : return "+proj=utm +zone=34 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32635 : return "+proj=utm +zone=35 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32636 : return "+proj=utm +zone=36 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32637 : return "+proj=utm +zone=37 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32638 : return "+proj=utm +zone=38 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32639 : return "+proj=utm +zone=39 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32640 : return "+proj=utm +zone=40 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32641 : return "+proj=utm +zone=41 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32642 : return "+proj=utm +zone=42 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32643 : return "+proj=utm +zone=43 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32644 : return "+proj=utm +zone=44 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32645 : return "+proj=utm +zone=45 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32646 : return "+proj=utm +zone=46 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32647 : return "+proj=utm +zone=47 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32648 : return "+proj=utm +zone=48 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32649 : return "+proj=utm +zone=49 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32650 : return "+proj=utm +zone=50 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32651 : return "+proj=utm +zone=51 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32652 : return "+proj=utm +zone=52 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32653 : return "+proj=utm +zone=53 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32654 : return "+proj=utm +zone=54 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32655 : return "+proj=utm +zone=55 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32656 : return "+proj=utm +zone=56 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32657 : return "+proj=utm +zone=57 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32658 : return "+proj=utm +zone=58 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32659 : return "+proj=utm +zone=59 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32660 : return "+proj=utm +zone=60 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32661 : return "+proj=stere +lat_0=90 +lat_ts=90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32662 : return "+proj=eqc +lat_ts=0 +lat_0=0 +lon_0=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32664 : return "+proj=tmerc +lat_0=0 +lon_0=-99 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192"; - case 32665 : return "+proj=tmerc +lat_0=0 +lon_0=-93 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192"; - case 32666 : return "+proj=tmerc +lat_0=0 +lon_0=-87 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192"; - case 32667 : return "+proj=tmerc +lat_0=0 +lon_0=-81 +k=0.9996 +x_0=500000.001016002 +y_0=0 +ellps=WGS84 +datum=WGS84 +to_meter=0.3048006096012192"; - case 32701 : return "+proj=utm +zone=1 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32702 : return "+proj=utm +zone=2 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32703 : return "+proj=utm +zone=3 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32704 : return "+proj=utm +zone=4 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32705 : return "+proj=utm +zone=5 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32706 : return "+proj=utm +zone=6 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32707 : return "+proj=utm +zone=7 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32708 : return "+proj=utm +zone=8 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32709 : return "+proj=utm +zone=9 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32710 : return "+proj=utm +zone=10 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32711 : return "+proj=utm +zone=11 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32712 : return "+proj=utm +zone=12 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32713 : return "+proj=utm +zone=13 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32714 : return "+proj=utm +zone=14 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32715 : return "+proj=utm +zone=15 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32716 : return "+proj=utm +zone=16 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32717 : return "+proj=utm +zone=17 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32718 : return "+proj=utm +zone=18 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32719 : return "+proj=utm +zone=19 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32720 : return "+proj=utm +zone=20 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32721 : return "+proj=utm +zone=21 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32722 : return "+proj=utm +zone=22 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32723 : return "+proj=utm +zone=23 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32724 : return "+proj=utm +zone=24 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32725 : return "+proj=utm +zone=25 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32726 : return "+proj=utm +zone=26 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32727 : return "+proj=utm +zone=27 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32728 : return "+proj=utm +zone=28 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32729 : return "+proj=utm +zone=29 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32730 : return "+proj=utm +zone=30 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32731 : return "+proj=utm +zone=31 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32732 : return "+proj=utm +zone=32 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32733 : return "+proj=utm +zone=33 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32734 : return "+proj=utm +zone=34 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32735 : return "+proj=utm +zone=35 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32736 : return "+proj=utm +zone=36 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32737 : return "+proj=utm +zone=37 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32738 : return "+proj=utm +zone=38 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32739 : return "+proj=utm +zone=39 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32740 : return "+proj=utm +zone=40 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32741 : return "+proj=utm +zone=41 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32742 : return "+proj=utm +zone=42 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32743 : return "+proj=utm +zone=43 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32744 : return "+proj=utm +zone=44 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32745 : return "+proj=utm +zone=45 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32746 : return "+proj=utm +zone=46 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32747 : return "+proj=utm +zone=47 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32748 : return "+proj=utm +zone=48 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32749 : return "+proj=utm +zone=49 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32750 : return "+proj=utm +zone=50 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32751 : return "+proj=utm +zone=51 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32752 : return "+proj=utm +zone=52 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32753 : return "+proj=utm +zone=53 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32754 : return "+proj=utm +zone=54 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32755 : return "+proj=utm +zone=55 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32756 : return "+proj=utm +zone=56 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32757 : return "+proj=utm +zone=57 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32758 : return "+proj=utm +zone=58 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32759 : return "+proj=utm +zone=59 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32760 : return "+proj=utm +zone=60 +south +ellps=WGS84 +datum=WGS84 +units=m"; - case 32761 : return "+proj=stere +lat_0=-90 +lat_ts=-90 +lon_0=0 +k=0.994 +x_0=2000000 +y_0=2000000 +ellps=WGS84 +datum=WGS84 +units=m"; - case 32766 : return "+proj=tmerc +lat_0=0 +lon_0=36 +k=0.9996 +x_0=500000 +y_0=10000000 +ellps=WGS84 +datum=WGS84 +units=m"; - } - return ""; - } - -} -#endif // DOXYGEN_NO_DETAIL - -// Overloaded function -inline parameters init(int epsg_code) -{ - std::string args = detail::code_to_string(epsg_code); - return detail::pj_init_plus(args, false); -} - -}}} // namespace boost::geometry::projections - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/epsg_traits.hpp b/3party/boost/boost/geometry/extensions/gis/projections/epsg_traits.hpp deleted file mode 100644 index d0140b3094..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/epsg_traits.hpp +++ /dev/null @@ -1,43 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_PROJECTIONS_EPSG_TRAITS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_EPSG_TRAITS_HPP - - -#include - - -namespace boost { namespace geometry { namespace projections -{ - -/*! - \brief EPSG traits - \details With help of the EPSG traits library users can statically use projections - or coordinate systems specifying an EPSG code. The correct projections for transformations - are used automically then, still keeping static polymorphism. - \ingroup projection - \tparam EPSG epsg code - \tparam LL latlong point type - \tparam XY xy point type - \tparam PAR parameter type, normally not specified -*/ -template -struct epsg_traits -{ - // Specializations define: - // - type to get projection type - // - function par to get parameters -}; - - -}}} // namespace boost::geometry::projections - - -#endif - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/factory.hpp b/3party/boost/boost/geometry/extensions/gis/projections/factory.hpp deleted file mode 100644 index 6f5ff26bd0..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/factory.hpp +++ /dev/null @@ -1,267 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_PROJECTIONS_FACTORY_HPP -#define BOOST_GEOMETRY_PROJECTIONS_FACTORY_HPP - -#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 -#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 - -namespace boost { namespace geometry { namespace projections -{ - -template -class factory : public detail::base_factory -{ -private: - - typedef std::map - < - std::string, - boost::shared_ptr - < - detail::factory_entry - < - LatLong, - Cartesian, - Parameters - > - > - > prj_registry; - prj_registry m_registry; - -public: - - factory() - { - detail::aea_init(*this); - detail::aeqd_init(*this); - detail::airy_init(*this); - detail::aitoff_init(*this); - detail::august_init(*this); - detail::bacon_init(*this); - detail::bipc_init(*this); - detail::boggs_init(*this); - detail::bonne_init(*this); - detail::cass_init(*this); - detail::cc_init(*this); - detail::cea_init(*this); - detail::chamb_init(*this); - detail::collg_init(*this); - detail::crast_init(*this); - detail::denoy_init(*this); - detail::eck1_init(*this); - detail::eck2_init(*this); - detail::eck3_init(*this); - detail::eck4_init(*this); - detail::eck5_init(*this); - detail::eqc_init(*this); - detail::eqdc_init(*this); - detail::etmerc_init(*this); - detail::fahey_init(*this); - detail::fouc_s_init(*this); - detail::gall_init(*this); - detail::geocent_init(*this); - detail::geos_init(*this); - detail::gins8_init(*this); - detail::gn_sinu_init(*this); - detail::gnom_init(*this); - detail::goode_init(*this); - detail::gstmerc_init(*this); - detail::hammer_init(*this); - detail::hatano_init(*this); - detail::healpix_init(*this); - detail::krovak_init(*this); - detail::igh_init(*this); - detail::imw_p_init(*this); - detail::isea_init(*this); - detail::labrd_init(*this); - detail::laea_init(*this); - detail::lagrng_init(*this); - detail::larr_init(*this); - detail::lask_init(*this); - detail::latlong_init(*this); - detail::lcc_init(*this); - detail::lcca_init(*this); - detail::loxim_init(*this); - detail::lsat_init(*this); - detail::mbtfpp_init(*this); - detail::mbtfpq_init(*this); - detail::mbt_fps_init(*this); - detail::merc_init(*this); - detail::mill_init(*this); - detail::mod_ster_init(*this); - detail::moll_init(*this); - detail::natearth_init(*this); - detail::nell_init(*this); - detail::nell_h_init(*this); - detail::nocol_init(*this); - detail::nsper_init(*this); - detail::nzmg_init(*this); - detail::ob_tran_init(*this); - detail::ocea_init(*this); - detail::oea_init(*this); - detail::omerc_init(*this); - detail::ortho_init(*this); - detail::qsc_init(*this); - detail::poly_init(*this); - detail::putp2_init(*this); - detail::putp3_init(*this); - detail::putp4p_init(*this); - detail::putp5_init(*this); - detail::putp6_init(*this); - detail::robin_init(*this); - detail::rouss_init(*this); - detail::rpoly_init(*this); - detail::sconics_init(*this); - detail::somerc_init(*this); - detail::stere_init(*this); - detail::sterea_init(*this); - detail::sts_init(*this); - detail::tcc_init(*this); - detail::tcea_init(*this); - detail::tmerc_init(*this); - detail::tpeqd_init(*this); - detail::urm5_init(*this); - detail::urmfps_init(*this); - detail::vandg_init(*this); - detail::vandg2_init(*this); - detail::vandg4_init(*this); - detail::wag2_init(*this); - detail::wag3_init(*this); - detail::wag7_init(*this); - detail::wink1_init(*this); - detail::wink2_init(*this); - } - - virtual ~factory() {} - - virtual void add_to_factory(std::string const& name, - detail::factory_entry* sub) - { - m_registry[name].reset(sub); - } - - inline projection* create_new(Parameters const& parameters) - { - typename prj_registry::iterator it = m_registry.find(parameters.name); - if (it != m_registry.end()) - { - return it->second->create_new(parameters); - } - - return 0; - } -}; - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_FACTORY_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/aasincos.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/aasincos.hpp deleted file mode 100644 index 316de4816a..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/aasincos.hpp +++ /dev/null @@ -1,107 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_AASINCOS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_AASINCOS_HPP - - -#include - -#include - - -namespace boost { namespace geometry { namespace projections -{ - -namespace detail -{ - -namespace aasincos -{ - static const double ONE_TOL= 1.00000000000001; - //static const double TOL = 0.000000001; - static const double ATOL = 1e-50; -} - -inline double aasin(double v) -{ - double av = 0; - - if ((av = geometry::math::abs(v)) >= 1.0) - { - if (av > aasincos::ONE_TOL) - { - throw proj_exception(-19); - } - return (v < 0.0 ? -geometry::math::half_pi() : geometry::math::half_pi()); - } - - return asin(v); -} - -inline double aacos(double v) -{ - double av = 0; - - if ((av = geometry::math::abs(v)) >= 1.0) - { - if (av > aasincos::ONE_TOL) - { - throw proj_exception(-19); - } - return (v < 0.0 ? geometry::math::pi() : 0.0); - } - - return acos(v); -} - -inline double asqrt(double v) -{ - return ((v <= 0) ? 0 : sqrt(v)); -} - -inline double aatan2(double n, double d) -{ - return ((geometry::math::abs(n) < aasincos::ATOL - && geometry::math::abs(d) < aasincos::ATOL) ? 0.0 : atan2(n, d)); -} - - -} // namespace detail - - -}}} // namespace boost::geometry::projections - - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_AASINCOS_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/adjlon.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/adjlon.hpp deleted file mode 100644 index 7f0c9ac4ca..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/adjlon.hpp +++ /dev/null @@ -1,70 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_ADJLON_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_ADJLON_HPP - -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - -namespace detail -{ - -/* reduce argument to range +/- PI */ -template -inline T adjlon (T lon) -{ - if (geometry::math::abs(lon) <= boost::math::constants::pi()) - { - return lon; - } - - /* adjust to 0..2pi rad */ - lon += boost::math::constants::pi(); - /* remove integral # of 'revolutions'*/ - lon -= boost::math::constants::two_pi() * - std::floor(lon / boost::math::constants::two_pi()); - /* adjust back to -pi..pi rad */ - lon -= boost::math::constants::pi(); - - return lon; -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_ADJLON_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/base_dynamic.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/base_dynamic.hpp deleted file mode 100644 index 8ee12119a6..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/base_dynamic.hpp +++ /dev/null @@ -1,100 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_BASE_DYNAMIC_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_BASE_DYNAMIC_HPP - -#include - - -#include - -namespace boost { namespace geometry { namespace projections -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -// Base-virtual-forward -template -class base_v_f : public projection -{ -protected: - - typedef typename projection::LL_T LL_T; - typedef typename projection::XY_T XY_T; - -public: - - base_v_f(P const& params) : m_proj(params) {} - - virtual P const& params() const { return m_proj.params(); } - - virtual P& mutable_params() { return m_proj.mutable_params(); } - - virtual bool forward(LL const& ll, XY& xy) const - { - return m_proj.forward(ll, xy); - } - - virtual void fwd(LL_T& lp_lon, LL_T& lp_lat, XY_T& xy_x, XY_T& xy_y) const - { - m_proj.fwd(lp_lon, lp_lat, xy_x, xy_y); - } - - virtual bool inverse(XY const& , LL& ) const - { - // exception? - return false; - } - virtual void inv(XY_T& , XY_T& , LL_T& , LL_T& ) const - { - // exception? - } - - virtual std::string name() const - { - return m_proj.name(); - } - -protected: - - C m_proj; -}; - -// Base-virtual-forward/inverse -template -class base_v_fi : public base_v_f -{ -private: - - typedef typename base_v_f::LL_T LL_T; - typedef typename base_v_f::XY_T XY_T; - -public : - - base_v_fi(P const& params) : base_v_f(params) {} - - virtual bool inverse(XY const& xy, LL& ll) const - { - return this->m_proj.inverse(xy, ll); - } - - void inv(XY_T& xy_x, XY_T& xy_y, LL_T& lp_lon, LL_T& lp_lat) const - { - this->m_proj.inv(xy_x, xy_y, lp_lon, lp_lat); - } -}; - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_BASE_DYNAMIC_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/base_static.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/base_static.hpp deleted file mode 100644 index 15e86aab3a..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/base_static.hpp +++ /dev/null @@ -1,110 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_BASE_STATIC_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_BASE_STATIC_HPP - -#if defined(_MSC_VER) -// For CRTP, *this is acceptable in constructor -> turn warning off -#pragma warning( disable : 4355 ) -#endif // defined(_MSC_VER) - - -#include - -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -// Base-template-forward -template -struct base_t_f -{ -public: - - typedef LL geographic_point_type; ///< latlong point type - typedef XY cartesian_point_type; ///< xy point type - - inline base_t_f(Prj const& prj, P const& params) - : m_par(params), m_prj(prj) - {} - - inline P const& params() const { return m_par; } - - inline P& mutable_params() { return m_par; } - - inline bool forward(LL const& lp, XY& xy) const - { - try - { - pj_fwd(m_prj, m_par, lp, xy); - return true; - } - catch(...) - { - return false; - } - } - - inline std::string name() const - { - return this->m_par.name; - } - -protected: - - // Some projections do not work with float -> wrong results - // TODO: make traits which select from int/float/double and else selects T - - //typedef typename geometry::coordinate_type::type LL_T; - //typedef typename geometry::coordinate_type::type XY_T; - typedef double LL_T; - typedef double XY_T; - - P m_par; - const Prj& m_prj; -}; - -// Base-template-forward/inverse -template -struct base_t_fi : public base_t_f -{ -public : - inline base_t_fi(Prj const& prj, P const& params) - : base_t_f(prj, params) - {} - - inline bool inverse(XY const& xy, LL& lp) const - { - try - { - pj_inv(this->m_prj, this->m_par, xy, lp); - return true; - } - catch(...) - { - return false; - } - } -}; - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - - -}}} // namespace boost::geometry::projections - - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_BASE_STATIC_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/factory_entry.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/factory_entry.hpp deleted file mode 100644 index 0b8dba67e7..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/factory_entry.hpp +++ /dev/null @@ -1,43 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_FACTORY_ENTRY_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_FACTORY_ENTRY_HPP - -#include - -#include - -namespace boost { namespace geometry { namespace projections -{ - -namespace detail -{ - -template -class factory_entry -{ -public: - - virtual ~factory_entry() {} - virtual projection* create_new(P const& par) const = 0; -}; - -template -class base_factory -{ -public: - - virtual ~base_factory() {} - virtual void add_to_factory(std::string const& name, factory_entry* sub) = 0; -}; - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_FACTORY_ENTRY_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/function_overloads.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/function_overloads.hpp deleted file mode 100644 index 3a853380d7..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/function_overloads.hpp +++ /dev/null @@ -1,35 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2007-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_FUNCTION_OVERLOADS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_FUNCTION_OVERLOADS_HPP - -#include - -namespace boost { namespace geometry { namespace projections -{ - -// Functions to resolve ambiguity when compiling with coordinates of different types -/*inline double atan2(double a, double b) -{ - return std::atan2(a, b); -} -inline double pow(double a, double b) -{ - return std::pow(a, b); -} -*/ - -inline int int_floor(double f) -{ - return int(std::floor(f)); -} - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_FUNCTION_OVERLOADS_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_auth.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_auth.hpp deleted file mode 100644 index 7e8d9244dc..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_auth.hpp +++ /dev/null @@ -1,88 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_AUTH_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_AUTH_HPP - -#include -#include - -#include - -namespace boost { namespace geometry { namespace projections { - -namespace detail { - -static const double P00 = .33333333333333333333; -static const double P01 = .17222222222222222222; -static const double P02 = .10257936507936507936; -static const double P10 = .06388888888888888888; -static const double P11 = .06640211640211640211; -static const double P20 = .01641501294219154443; -static const int APA_SIZE = 3; - -/* determine latitude from authalic latitude */ -inline bool pj_authset(double es, double* APA) -{ - BOOST_GEOMETRY_ASSERT(0 != APA); - - double t = 0; - - // if (APA = (double *)pj_malloc(APA_SIZE * sizeof(double))) - { - APA[0] = es * P00; - t = es * es; - APA[0] += t * P01; - APA[1] = t * P10; - t *= es; - APA[0] += t * P02; - APA[1] += t * P11; - APA[2] = t * P20; - } - return true; -} - -inline double pj_authlat(double beta, const double* APA) -{ - BOOST_GEOMETRY_ASSERT(0 != APA); - - double const t = beta + beta; - - return(beta + APA[0] * sin(t) + APA[1] * sin(t + t) + APA[2] * sin(t + t + t)); -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_AUTH_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_datum_set.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_datum_set.hpp deleted file mode 100644 index 66b56355aa..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_datum_set.hpp +++ /dev/null @@ -1,167 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_DATUM_SET_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_DATUM_SET_HPP - -#include -#include - -#include - -#include -#include -#include - -namespace boost { namespace geometry { namespace projections { - -namespace detail { - - -/* SEC_TO_RAD = Pi/180/3600 */ -const double SEC_TO_RAD = 4.84813681109535993589914102357e-6; - -/************************************************************************/ -/* pj_datum_set() */ -/************************************************************************/ - -inline void pj_datum_set(std::vector& pvalues, parameters& projdef) -{ - std::string name, towgs84, nadgrids; - - projdef.datum_type = PJD_UNKNOWN; - - /* -------------------------------------------------------------------- */ - /* Is there a datum definition in the parameter list? If so, */ - /* add the defining values to the parameter list. Note that */ - /* this will append the ellipse definition as well as the */ - /* towgs84= and related parameters. It should also be pointed */ - /* out that the addition is permanent rather than temporary */ - /* like most other keyword expansion so that the ellipse */ - /* definition will last into the pj_ell_set() function called */ - /* after this one. */ - /* -------------------------------------------------------------------- */ - name = pj_param(pvalues, "sdatum").s; - if(! name.empty()) - { - /* find the datum definition */ - const int n = sizeof(pj_datums) / sizeof(pj_datums[0]); - int index = -1; - for (int i = 0; i < n && index == -1; i++) - { - if(pj_datums[i].id == name) - { - index = i; - } - } - - if (index == -1) - { - throw proj_exception(-9); - } - - if(! pj_datums[index].ellipse_id.empty()) - { - std::string entry("ellps="); - entry +=pj_datums[index].ellipse_id; - pvalues.push_back(pj_mkparam(entry)); - } - - if(! pj_datums[index].defn.empty()) - { - pvalues.push_back(pj_mkparam(pj_datums[index].defn)); - } - } - -/* -------------------------------------------------------------------- */ -/* Check for nadgrids parameter. */ -/* -------------------------------------------------------------------- */ - nadgrids = pj_param(pvalues, "snadgrids").s; - towgs84 = pj_param(pvalues, "stowgs84").s; - if(! nadgrids.empty()) - { - /* We don't actually save the value separately. It will continue - to exist int he param list for use in pj_apply_gridshift.c */ - - projdef.datum_type = PJD_GRIDSHIFT; - } - -/* -------------------------------------------------------------------- */ -/* Check for towgs84 parameter. */ -/* -------------------------------------------------------------------- */ - else if(! towgs84.empty()) - { - int parm_count = 0; - - int n = sizeof(projdef.datum_params) / sizeof(projdef.datum_params[0]); - - /* parse out the pvalues */ - std::vector parm; - boost::split(parm, towgs84, boost::is_any_of(" ,")); - for (std::vector::const_iterator it = parm.begin(); - it != parm.end() && parm_count < n; - ++it) - { - projdef.datum_params[parm_count++] = atof(it->c_str()); - } - - if( projdef.datum_params[3] != 0.0 - || projdef.datum_params[4] != 0.0 - || projdef.datum_params[5] != 0.0 - || projdef.datum_params[6] != 0.0 ) - { - projdef.datum_type = PJD_7PARAM; - - /* transform from arc seconds to radians */ - projdef.datum_params[3] *= SEC_TO_RAD; - projdef.datum_params[4] *= SEC_TO_RAD; - projdef.datum_params[5] *= SEC_TO_RAD; - /* transform from parts per million to scaling factor */ - projdef.datum_params[6] = - (projdef.datum_params[6]/1000000.0) + 1; - } - else - { - projdef.datum_type = PJD_3PARAM; - } - - /* Note that pj_init() will later switch datum_type to - PJD_WGS84 if shifts are all zero, and ellipsoid is WGS84 or GRS80 */ - } -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_DATUM_SET_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_datums.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_datums.hpp deleted file mode 100644 index 539b9d8bfd..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_datums.hpp +++ /dev/null @@ -1,106 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_DATUMS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_DATUMS_HPP - -#include - -namespace boost { namespace geometry { namespace projections { - -namespace detail { - -/* - * The ellipse code must match one from pj_ellps.c. The datum id should - * be kept to 12 characters or less if possible. Use the official OGC - * datum name for the comments if available. - */ - -static const PJ_DATUMS pj_datums[] = -{ - /* id definition ellipse comments */ - /* -- ---------- ------- -------- */ - { "WGS84", "towgs84=0,0,0", "WGS84", "" }, - - { "GGRS87", "towgs84=-199.87,74.79,246.62", - "GRS80", "Greek_Geodetic_Reference_System_1987" }, - - { "NAD83", "towgs84=0,0,0", "GRS80","North_American_Datum_1983" }, - - { "NAD27", "nadgrids=@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat", - "clrk66", "North_American_Datum_1927" }, - - { "potsdam", "towgs84=606.0,23.0,413.0", - "bessel", "Potsdam Rauenberg 1950 DHDN" }, - - { "carthage", "towgs84=-263.0,6.0,431.0", - "clark80", "Carthage 1934 Tunisia" }, - - { "hermannskogel", "towgs84=653.0,-212.0,449.0", - "bessel", "Hermannskogel" }, - - { "ire65", "towgs84=482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15", - "mod_airy", "Ireland 1965" }, - - { "nzgd49", "towgs84=59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993", - "intl", "New Zealand Geodetic Datum 1949" }, - - { "OSGB36", "towgs84=446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894", - "airy", "Airy 1830" } -}; - - -static const PJ_PRIME_MERIDIANS pj_prime_meridians[] = -{ - /* id definition */ - /* -- ---------- */ - { "greenwich", "0dE" }, - { "lisbon", "9d07'54.862\"W" }, - { "paris", "2d20'14.025\"E" }, - { "bogota", "74d04'51.3\"W" }, - { "madrid", "3d41'16.58\"W" }, - { "rome", "12d27'8.4\"E" }, - { "bern", "7d26'22.5\"E" }, - { "jakarta", "106d48'27.79\"E" }, - { "ferro", "17d40'W" }, - { "brussels", "4d22'4.71\"E" }, - { "stockholm", "18d3'29.8\"E" }, - { "athens", "23d42'58.815\"E" }, - { "oslo", "10d43'22.5\"E" } -}; - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_DATUMS_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_ell_set.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_ell_set.hpp deleted file mode 100644 index 98f84917e1..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_ell_set.hpp +++ /dev/null @@ -1,157 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_ELL_SET_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_ELL_SET_HPP - -#include -#include - -#include - -#include -#include - -namespace boost { namespace geometry { namespace projections { - -namespace detail { - -/* set ellipsoid parameters a and es */ -static const double SIXTH = .1666666666666666667; /* 1/6 */ -static const double RA4 = .04722222222222222222; /* 17/360 */ -static const double RA6 = .02215608465608465608; /* 67/3024 */ -static const double RV4 = .06944444444444444444; /* 5/72 */ -static const double RV6 = .04243827160493827160; /* 55/1296 */ - -/* initialize geographic shape parameters */ -inline void pj_ell_set(std::vector& parameters, double &a, double &es) -{ - double b = 0.0; - double e = 0.0; - std::string name; - - /* check for varying forms of ellipsoid input */ - a = es = 0.; - - /* R takes precedence */ - if (pj_param(parameters, "tR").i) - a = pj_param(parameters, "dR").f; - else { /* probable elliptical figure */ - - /* check if ellps present and temporarily append its values to pl */ - name = pj_param(parameters, "sellps").s; - if (! name.empty()) - { - const int n = sizeof(pj_ellps) / sizeof(pj_ellps[0]); - int index = -1; - for (int i = 0; i < n && index == -1; i++) - { - if(pj_ellps[i].id == name) - { - index = i; - } - } - - if (index == -1) { throw proj_exception(-9); } - - parameters.push_back(pj_mkparam(pj_ellps[index].major)); - parameters.push_back(pj_mkparam(pj_ellps[index].ell)); - } - a = pj_param(parameters, "da").f; - if (pj_param(parameters, "tes").i) /* eccentricity squared */ - es = pj_param(parameters, "des").f; - else if (pj_param(parameters, "te").i) { /* eccentricity */ - e = pj_param(parameters, "de").f; - es = e * e; - } else if (pj_param(parameters, "trf").i) { /* recip flattening */ - es = pj_param(parameters, "drf").f; - if (!es) { - throw proj_exception(-10); - } - es = 1./ es; - es = es * (2. - es); - } else if (pj_param(parameters, "tf").i) { /* flattening */ - es = pj_param(parameters, "df").f; - es = es * (2. - es); - } else if (pj_param(parameters, "tb").i) { /* minor axis */ - b = pj_param(parameters, "db").f; - es = 1. - (b * b) / (a * a); - } /* else es == 0. and sphere of radius a */ - if (!b) - b = a * sqrt(1. - es); - /* following options turn ellipsoid into equivalent sphere */ - if (pj_param(parameters, "bR_A").i) { /* sphere--area of ellipsoid */ - a *= 1. - es * (SIXTH + es * (RA4 + es * RA6)); - es = 0.; - } else if (pj_param(parameters, "bR_V").i) { /* sphere--vol. of ellipsoid */ - a *= 1. - es * (SIXTH + es * (RV4 + es * RV6)); - es = 0.; - } else if (pj_param(parameters, "bR_a").i) { /* sphere--arithmetic mean */ - a = .5 * (a + b); - es = 0.; - } else if (pj_param(parameters, "bR_g").i) { /* sphere--geometric mean */ - a = sqrt(a * b); - es = 0.; - } else if (pj_param(parameters, "bR_h").i) { /* sphere--harmonic mean */ - a = 2. * a * b / (a + b); - es = 0.; - } else { - int i = pj_param(parameters, "tR_lat_a").i; - if (i || /* sphere--arith. */ - pj_param(parameters, "tR_lat_g").i) { /* or geom. mean at latitude */ - double tmp; - - tmp = sin(pj_param(parameters, i ? "rR_lat_a" : "rR_lat_g").f); - if (geometry::math::abs(tmp) > geometry::math::half_pi()) { - throw proj_exception(-11); - } - tmp = 1. - es * tmp * tmp; - a *= i ? .5 * (1. - es + tmp) / ( tmp * sqrt(tmp)) : - sqrt(1. - es) / tmp; - es = 0.; - } - } - } - - /* some remaining checks */ - if (es < 0.) - { throw proj_exception(-12); } - if (a <= 0.) - { throw proj_exception(-13); } -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_ELL_SET_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_ellps.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_ellps.hpp deleted file mode 100644 index 780db85a5b..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_ellps.hpp +++ /dev/null @@ -1,93 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_ELLPS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_ELLPS_HPP - -#include - -namespace boost { namespace geometry { namespace projections { - -namespace detail { - -static const PJ_ELLPS pj_ellps[] = -{ - { "MERIT", "a=6378137.0", "rf=298.257", "MERIT 1983" }, - { "SGS85", "a=6378136.0", "rf=298.257", "Soviet Geodetic System 85" }, - { "GRS80", "a=6378137.0", "rf=298.257222101", "GRS 1980(IUGG, 1980)" }, - { "IAU76", "a=6378140.0", "rf=298.257", "IAU 1976" }, - { "airy", "a=6377563.396", "b=6356256.910", "Airy 1830" }, - { "APL4.9", "a=6378137.0.", "rf=298.25", "Appl. Physics. 1965" }, - { "NWL9D", "a=6378145.0.", "rf=298.25", "Naval Weapons Lab., 1965" }, - { "mod_airy", "a=6377340.189", "b=6356034.446", "Modified Airy" }, - { "andrae", "a=6377104.43", "rf=300.0", "Andrae 1876 (Den., Iclnd.)" }, - { "aust_SA", "a=6378160.0", "rf=298.25", "Australian Natl & S. Amer. 1969" }, - { "GRS67", "a=6378160.0", "rf=298.2471674270", "GRS 67(IUGG 1967)" }, - { "bessel", "a=6377397.155", "rf=299.1528128", "Bessel 1841" }, - { "bess_nam", "a=6377483.865", "rf=299.1528128", "Bessel 1841 (Namibia)" }, - { "clrk66", "a=6378206.4", "b=6356583.8", "Clarke 1866" }, - { "clrk80", "a=6378249.145", "rf=293.4663", "Clarke 1880 mod." }, - { "CPM", "a=6375738.7", "rf=334.29", "Comm. des Poids et Mesures 1799" }, - { "delmbr", "a=6376428.", "rf=311.5", "Delambre 1810 (Belgium)" }, - { "engelis", "a=6378136.05", "rf=298.2566", "Engelis 1985" }, - { "evrst30", "a=6377276.345", "rf=300.8017", "Everest 1830" }, - { "evrst48", "a=6377304.063", "rf=300.8017", "Everest 1948" }, - { "evrst56", "a=6377301.243", "rf=300.8017", "Everest 1956" }, - { "evrst69", "a=6377295.664", "rf=300.8017", "Everest 1969" }, - { "evrstSS", "a=6377298.556", "rf=300.8017", "Everest (Sabah & Sarawak)" }, - { "fschr60", "a=6378166.", "rf=298.3", "Fischer (Mercury Datum) 1960" }, - { "fschr60m", "a=6378155.", "rf=298.3", "Modified Fischer 1960" }, - { "fschr68", "a=6378150.", "rf=298.3", "Fischer 1968" }, - { "helmert", "a=6378200.", "rf=298.3", "Helmert 1906" }, - { "hough", "a=6378270.0", "rf=297.", "Hough" }, - { "intl", "a=6378388.0", "rf=297.", "International 1909 (Hayford)" }, - { "krass", "a=6378245.0", "rf=298.3", "Krassovsky, 1942" }, - { "kaula", "a=6378163.", "rf=298.24", "Kaula 1961" }, - { "lerch", "a=6378139.", "rf=298.257", "Lerch 1979" }, - { "mprts", "a=6397300.", "rf=191.", "Maupertius 1738" }, - { "new_intl", "a=6378157.5", "b=6356772.2","New International 1967" }, - { "plessis", "a=6376523.", "b=6355863.", "Plessis 1817 (France)" }, - { "SEasia", "a=6378155.0", "b=6356773.3205", "Southeast Asia" }, - { "walbeck", "a=6376896.0", "b=6355834.8467", "Walbeck" }, - { "WGS60", "a=6378165.0", "rf=298.3", "WGS 60" }, - { "WGS66", "a=6378145.0", "rf=298.25", "WGS 66" }, - { "WGS72", "a=6378135.0", "rf=298.26", "WGS 72" }, - { "WGS84", "a=6378137.0", "rf=298.257223563", "WGS 84" }, - { "sphere", "a=6370997.0", "b=6370997.0", "Normal Sphere (r=6370997)" } -}; - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_ELLPS_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_fwd.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_fwd.hpp deleted file mode 100644 index 06562b5d4d..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_fwd.hpp +++ /dev/null @@ -1,99 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_FWD_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_FWD_HPP - -#include -#include - -#include -#include - -#include - -/* general forward projection */ - -namespace boost { namespace geometry { namespace projections { - -namespace detail { - -namespace forwrd -{ - static const double EPS = 1.0e-12; -} - -/* forward projection entry */ -template -inline void pj_fwd(Prj const& prj, P const& par, LL const& ll, XY& xy) -{ - using namespace detail; - - double lp_lon = geometry::get_as_radian<0>(ll); - double lp_lat = geometry::get_as_radian<1>(ll); - const double t = geometry::math::abs(lp_lat) - geometry::math::half_pi(); - - /* check for forward and latitude or longitude overange */ - if (t > forwrd::EPS || geometry::math::abs(lp_lon) > 10.) - { - throw proj_exception(); - } - - if (geometry::math::abs(t) <= forwrd::EPS) - { - lp_lat = lp_lat < 0. ? -geometry::math::half_pi() : geometry::math::half_pi(); - } - else if (par.geoc) - { - lp_lat = atan(par.rone_es * tan(lp_lat)); - } - - lp_lon -= par.lam0; /* compute del lp.lam */ - if (! par.over) - { - lp_lon = adjlon(lp_lon); /* post_forward del longitude */ - } - - double x = 0; - double y = 0; - - prj.fwd(lp_lon, lp_lat, x, y); - geometry::set<0>(xy, par.fr_meter * (par.a * x + par.x0)); - geometry::set<1>(xy, par.fr_meter * (par.a * y + par.y0)); -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_FWD_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_gauss.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_gauss.hpp deleted file mode 100644 index c8fc8fd4c8..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_gauss.hpp +++ /dev/null @@ -1,130 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_GAUSS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_GAUSS_HPP - - -#include - - -namespace boost { namespace geometry { namespace projections { - -namespace detail { namespace gauss { - - -static const int MAX_ITER = 20; - -struct GAUSS -{ - double C; - double K; - double e; - double ratexp; -}; - -static const double DEL_TOL = 1e-14; - -inline double srat(double esinp, double exp) -{ - return (pow((1.0 - esinp) / (1.0 + esinp), exp)); -} - -inline GAUSS gauss_ini(double e, double phi0, double &chi, double &rc) -{ - using std::asin; - using std::cos; - using std::sin; - using std::sqrt; - using std::tan; - - double sphi = 0; - double cphi = 0; - double es = 0; - - GAUSS en; - es = e * e; - en.e = e; - sphi = sin(phi0); - cphi = cos(phi0); - cphi *= cphi; - - rc = sqrt(1.0 - es) / (1.0 - es * sphi * sphi); - en.C = sqrt(1.0 + es * cphi * cphi / (1.0 - es)); - chi = asin(sphi / en.C); - en.ratexp = 0.5 * en.C * e; - en.K = tan(0.5 * chi + detail::FORTPI) - / (pow(tan(0.5 * phi0 + detail::FORTPI), en.C) * srat(en.e * sphi, en.ratexp)); - - return en; -} - -template -inline void gauss(GAUSS const& en, T& lam, T& phi) -{ - phi = 2.0 * atan(en.K * pow(tan(0.5 * phi + FORTPI), en.C) - * srat(en.e * sin(phi), en.ratexp) ) - geometry::math::half_pi(); - - lam *= en.C; -} - -template -inline void inv_gauss(GAUSS const& en, T& lam, T& phi) -{ - lam /= en.C; - const double num = pow(tan(0.5 * phi + FORTPI) / en.K, 1.0 / en.C); - - int i = 0; - for (i = MAX_ITER; i; --i) - { - const double elp_phi = 2.0 * atan(num * srat(en.e * sin(phi), - 0.5 * en.e)) - geometry::math::half_pi(); - - if (geometry::math::abs(elp_phi - phi) < DEL_TOL) - { - break; - } - phi = elp_phi; - } - - /* convergence failed */ - if (!i) - { - throw proj_exception(-17); - } -} - -}} // namespace detail::gauss -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_GAUSS_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_init.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_init.hpp deleted file mode 100644 index 9234a6efa0..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_init.hpp +++ /dev/null @@ -1,301 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_INIT_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_INIT_HPP - -#include -#include - -#include -#include - -#include - - -#include -#include -#include -#include -#include -#include -#include - -#include - - -namespace boost { namespace geometry { namespace projections -{ - - -namespace detail -{ - -/************************************************************************/ -/* pj_init() */ -/* */ -/* Main entry point for initialing a PJ projections */ -/* definition. Note that the projection specific function is */ -/* called to do the initial allocation so it can be created */ -/* large enough to hold projection specific parameters. */ -/************************************************************************/ -template -inline parameters pj_init(R const& arguments, bool use_defaults = true) -{ - parameters pin; - for (std::vector::const_iterator it = boost::begin(arguments); - it != boost::end(arguments); it++) - { - pin.params.push_back(pj_mkparam(*it)); - } - - /* check if +init present */ - if (pj_param(pin.params, "tinit").i) - { - // maybe TODO: handle "init" parameter - //if (!(curr = get_init(&arguments, curr, pj_param(pin.params, "sinit").s))) - } - - // find projection -> implemented in projection factory - pin.name = pj_param(pin.params, "sproj").s; - //if (pin.name.empty()) - //{ throw proj_exception(-4); } - - - // set defaults, unless inhibited - // GL-Addition, if use_defaults is false then defaults are ignored - if (use_defaults && ! pj_param(pin.params, "bno_defs").i) - { - // proj4 gets defaults from "proj_def.dat", file of 94/02/23 with a few defaults. - // Here manually - if (pin.name == "lcc") - { - pin.params.push_back(pj_mkparam("lat_1=33")); - pin.params.push_back(pj_mkparam("lat_2=45")); - } - else if (pin.name == "aea") - { - pin.params.push_back(pj_mkparam("lat_1=29.5")); - pin.params.push_back(pj_mkparam("lat_2=45.5 ")); - } - else - { - //ellps=WGS84 - } - //curr = get_defaults(&arguments, curr, name); - } - - /* allocate projection structure */ - // done by constructor: - // pin.is_latlong = 0; - // pin.is_geocent = 0; - // pin.long_wrap_center = 0.0; - - /* set datum parameters */ - pj_datum_set(pin.params, pin); - - /* set ellipsoid/sphere parameters */ - pj_ell_set(pin.params, pin.a, pin.es); - - pin.a_orig = pin.a; - pin.es_orig = pin.es; - - pin.e = sqrt(pin.es); - pin.ra = 1. / pin.a; - pin.one_es = 1. - pin.es; - if (pin.one_es == 0.) { throw proj_exception(-6); } - pin.rone_es = 1./pin.one_es; - - /* Now that we have ellipse information check for WGS84 datum */ - if( pin.datum_type == PJD_3PARAM - && pin.datum_params[0] == 0.0 - && pin.datum_params[1] == 0.0 - && pin.datum_params[2] == 0.0 - && pin.a == 6378137.0 - && geometry::math::abs(pin.es - 0.006694379990) < 0.000000000050 )/*WGS84/GRS80*/ - { - pin.datum_type = PJD_WGS84; - } - - /* set pin.geoc coordinate system */ - pin.geoc = (pin.es && pj_param(pin.params, "bgeoc").i); - - /* over-ranging flag */ - pin.over = pj_param(pin.params, "bover").i; - - /* longitude center for wrapping */ - pin.long_wrap_center = pj_param(pin.params, "rlon_wrap").f; - - /* central meridian */ - pin.lam0 = pj_param(pin.params, "rlon_0").f; - - /* central latitude */ - pin.phi0 = pj_param(pin.params, "rlat_0").f; - - /* false easting and northing */ - pin.x0 = pj_param(pin.params, "dx_0").f; - pin.y0 = pj_param(pin.params, "dy_0").f; - - /* general scaling factor */ - if (pj_param(pin.params, "tk_0").i) - pin.k0 = pj_param(pin.params, "dk_0").f; - else if (pj_param(pin.params, "tk").i) - pin.k0 = pj_param(pin.params, "dk").f; - else - pin.k0 = 1.; - if (pin.k0 <= 0.) { - throw proj_exception(-31); - } - - /* set units */ - std::string s; - std::string units = pj_param(pin.params, "sunits").s; - if (! units.empty()) - { - const int n = sizeof(pj_units) / sizeof(pj_units[0]); - int index = -1; - for (int i = 0; i < n && index == -1; i++) - { - if(pj_units[i].id == units) - { - index = i; - } - } - - if (index == -1) { throw proj_exception(-7); } - s = pj_units[index].to_meter; - } - - if (s.empty()) - { - s = pj_param(pin.params, "sto_meter").s; - } - - if (! s.empty()) - { - // TODO: IMPLEMENT SPLIT - pin.to_meter = atof(s.c_str()); - //if (*s == '/') /* ratio number */ - // pin.to_meter /= strtod(++s, 0); - pin.fr_meter = 1. / pin.to_meter; - } - else - { - pin.to_meter = pin.fr_meter = 1.; - } - - /* prime meridian */ - s.clear(); - std::string pm = pj_param(pin.params, "spm").s; - if (! pm.empty()) - { - std::string value; - - int n = sizeof(pj_prime_meridians) / sizeof(pj_prime_meridians[0]); - int index = -1; - for (int i = 0; i < n && index == -1; i++) - { - if(pj_prime_meridians[i].id == pm) - { - value = pj_prime_meridians[i].defn; - index = i; - } - } - - if (index == -1) { throw proj_exception(-7); } - if (value.empty()) { throw proj_exception(-46); } - - geometry::strategy::dms_parser parser; - pin.from_greenwich = parser(value.c_str()); - } - else - { - pin.from_greenwich = 0.0; - } - - return pin; -} - -/************************************************************************/ -/* pj_init_plus() */ -/* */ -/* Same as pj_init() except it takes one argument string with */ -/* individual arguments preceeded by '+', such as "+proj=utm */ -/* +zone=11 +ellps=WGS84". */ -/************************************************************************/ - -inline parameters pj_init_plus(std::string const& definition, bool use_defaults = true) -{ - const char* sep = " +"; - - /* split into arguments based on '+' and trim white space */ - - // boost::split splits on one character, here it should be on " +", so implementation below - // todo: put in different routine or sort out - std::vector arguments; - std::string def = boost::trim_copy(definition); - boost::trim_left_if(def, boost::is_any_of(sep)); - - std::string::size_type loc = def.find(sep); - while (loc != std::string::npos) - { - std::string par = def.substr(0, loc); - boost::trim(par); - if (! par.empty()) - { - arguments.push_back(par); - } - - def.erase(0, loc); - boost::trim_left_if(def, boost::is_any_of(sep)); - loc = def.find(sep); - } - - if (! def.empty()) - { - arguments.push_back(def); - } - - /*boost::split(arguments, definition, boost::is_any_of("+")); - for (std::vector::iterator it = arguments.begin(); it != arguments.end(); it++) - { - boost::trim(*it); - }*/ - return pj_init(arguments, use_defaults); -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_INIT_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_inv.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_inv.hpp deleted file mode 100644 index dceabdf2be..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_inv.hpp +++ /dev/null @@ -1,80 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_PJ_INV_HPP -#define BOOST_GEOMETRY_PROJECTIONS_PJ_INV_HPP - - - -#include -#include -#include - -/* general inverse projection */ - -namespace boost { namespace geometry { namespace projections -{ - -namespace detail -{ - -namespace inv -{ - static const double EPS = 1.0e-12; -} - - /* inverse projection entry */ -template -inline void pj_inv(PRJ const& prj, PAR const& par, XY const& xy, LL& ll) -{ - /* can't do as much preliminary checking as with forward */ - /* descale and de-offset */ - double xy_x = (geometry::get<0>(xy) * par.to_meter - par.x0) * par.ra; - double xy_y = (geometry::get<1>(xy) * par.to_meter - par.y0) * par.ra; - double lon = 0, lat = 0; - prj.inv(xy_x, xy_y, lon, lat); /* inverse project */ - lon += par.lam0; /* reduce from del lp.lam */ - if (!par.over) - lon = adjlon(lon); /* adjust longitude to CM */ - if (par.geoc && geometry::math::abs(fabs(lat)-geometry::math::half_pi()) > inv::EPS) - lat = atan(par.one_es * tan(lat)); - - geometry::set_from_radian<0>(ll, lon); - geometry::set_from_radian<1>(ll, lat); -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_mlfn.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_mlfn.hpp deleted file mode 100644 index c4bbf266ef..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_mlfn.hpp +++ /dev/null @@ -1,112 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_PJ_MLFN_HPP -#define BOOST_GEOMETRY_PROJECTIONS_PJ_MLFN_HPP - - - -#include - - -namespace boost { namespace geometry { namespace projections { - -namespace detail { - -/* meridinal distance for ellipsoid and inverse -** 8th degree - accurate to < 1e-5 meters when used in conjuction -** with typical major axis values. -** Inverse determines phi to EPS (1e-11) radians, about 1e-6 seconds. -*/ -static const double C00 = 1.; -static const double C02 = .25; -static const double C04 = .046875; -static const double C06 = .01953125; -static const double C08 = .01068115234375; -static const double C22 = .75; -static const double C44 = .46875; -static const double C46 = .01302083333333333333; -static const double C48 = .00712076822916666666; -static const double C66 = .36458333333333333333; -static const double C68 = .00569661458333333333; -static const double C88 = .3076171875; -static const double EPS = 1e-11; -static const int MAX_ITER = 10; -static const int EN_SIZE = 5; - -inline bool pj_enfn(double es, double* en) -{ - double t; //, *en; - - //if (en = (double *)pj_malloc(EN_SIZE * sizeof(double))) - { - en[0] = C00 - es * (C02 + es * (C04 + es * (C06 + es * C08))); - en[1] = es * (C22 - es * (C04 + es * (C06 + es * C08))); - en[2] = (t = es * es) * (C44 - es * (C46 + es * C48)); - en[3] = (t *= es) * (C66 - es * C68); - en[4] = t * es * C88; - } - // return en; - return true; -} - -inline double pj_mlfn(double phi, double sphi, double cphi, const double *en) -{ - cphi *= sphi; - sphi *= sphi; - return(en[0] * phi - cphi * (en[1] + sphi*(en[2] - + sphi*(en[3] + sphi*en[4])))); -} - -inline double pj_inv_mlfn(double arg, double es, const double *en) -{ - double s, t, phi, k = 1./(1.-es); - int i; - - phi = arg; - for (i = MAX_ITER; i ; --i) { /* rarely goes over 2 iterations */ - s = sin(phi); - t = 1. - es * s * s; - phi -= t = (pj_mlfn(phi, s, cos(phi), en) - arg) * (t * sqrt(t)) * k; - if (geometry::math::abs(t) < EPS) - return phi; - } - throw proj_exception(-17); - return phi; -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_msfn.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_msfn.hpp deleted file mode 100644 index 80c86ef471..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_msfn.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_PJ_MSFN_HPP -#define BOOST_GEOMETRY_PROJECTIONS_PJ_MSFN_HPP - - -namespace boost { namespace geometry { namespace projections { - -namespace detail { - - -/* determine constant small m */ -inline double pj_msfn(double sinphi, double cosphi, double es) -{ - return (cosphi / sqrt (1. - es * sinphi * sinphi)); -} - - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_param.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_param.hpp deleted file mode 100644 index 8e49ba46a6..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_param.hpp +++ /dev/null @@ -1,155 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_PJ_PARAM_HPP -#define BOOST_GEOMETRY_PROJECTIONS_PJ_PARAM_HPP - - -#include -#include - -#include - -#include - - -namespace boost { namespace geometry { namespace projections { - -namespace detail { - - - -/* create pvalue list entry */ -inline pvalue pj_mkparam(std::string const& str) -{ - std::string name = str; - std::string value; - boost::trim_left_if(name, boost::is_any_of("+")); - std::string::size_type loc = name.find("="); - if (loc != std::string::npos) - { - value = name.substr(loc + 1); - name.erase(loc); - } - - - pvalue newitem; - newitem.param = name; - newitem.s = value; - newitem.used = 0; - newitem.i = atoi(value.c_str()); - newitem.f = atof(value.c_str()); - return newitem; -} - -/************************************************************************/ -/* pj_param() */ -/* */ -/* Test for presence or get pvalue value. The first */ -/* character in `opt' is a pvalue type which can take the */ -/* values: */ -/* */ -/* `t' - test for presence, return TRUE/FALSE in pvalue.i */ -/* `i' - integer value returned in pvalue.i */ -/* `d' - simple valued real input returned in pvalue.f */ -/* `r' - degrees (DMS translation applied), returned as */ -/* radians in pvalue.f */ -/* `s' - string returned in pvalue.s */ -/* `b' - test for t/T/f/F, return in pvalue.i */ -/* */ -/************************************************************************/ - -inline pvalue pj_param(std::vector const& pl, std::string opt) -{ - char type = opt[0]; - opt.erase(opt.begin()); - - pvalue value; - - /* simple linear lookup */ - for (std::vector::const_iterator it = pl.begin(); it != pl.end(); it++) - { - if (it->param == opt) - { - //it->used = 1; - switch (type) - { - case 't': - value.i = 1; - break; - case 'i': /* integer input */ - value.i = atoi(it->s.c_str()); - break; - case 'd': /* simple real input */ - value.f = atof(it->s.c_str()); - break; - case 'r': /* degrees input */ - { - geometry::strategy::dms_parser parser; - value.f = parser(it->s.c_str()); - } - break; - case 's': /* char string */ - value.s = it->s; - break; - case 'b': /* boolean */ - switch (it->s[0]) - { - case 'F': case 'f': - value.i = 0; - break; - case '\0': case 'T': case 't': - value.i = 1; - break; - default: - value.i = 0; - break; - } - break; - } - return value; - } - - } - - value.i = 0; - value.f = 0.0; - value.s = ""; - return value; -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_phi2.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_phi2.hpp deleted file mode 100644 index fec02240d5..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_phi2.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_PHI2_HPP -#define BOOST_GEOMETRY_PROJECTIONS_PHI2_HPP - -#include - -namespace boost { namespace geometry { namespace projections { -namespace detail { - -namespace phi2 -{ - static const double TOL = 1.0e-10; - static const int N_ITER = 15; -} - -inline double pj_phi2(double ts, double e) -{ - double eccnth, Phi, con, dphi; - int i; - - eccnth = .5 * e; - Phi = geometry::math::half_pi() - 2. * atan (ts); - i = phi2::N_ITER; - do { - con = e * sin (Phi); - dphi = geometry::math::half_pi() - 2. * atan (ts * pow((1. - con) / - (1. + con), eccnth)) - Phi; - Phi += dphi; - } while ( geometry::math::abs(dphi) > phi2::TOL && --i); - if (i <= 0) - throw proj_exception(-18); - return Phi; -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_qsfn.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_qsfn.hpp deleted file mode 100644 index 713802420f..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_qsfn.hpp +++ /dev/null @@ -1,84 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_PJ_QSFN_HPP -#define BOOST_GEOMETRY_PROJECTIONS_PJ_QSFN_HPP - - -namespace boost { namespace geometry { namespace projections -{ namespace detail { - -/* determine small q */ -inline double pj_qsfn(double sinphi, double e, double one_es) -{ - static const double EPSILON = 1.0e-7; - - if (e >= EPSILON) - { - double con = e * sinphi; - return (one_es * (sinphi / (1. - con * con) - - (.5 / e) * log ((1. - con) / (1. + con)))); - } else - return (sinphi + sinphi); -} - - -#define MAX_C 9 -struct AUTHALIC -{ - double C[MAX_C], CP[MAX_C], CQ[MAX_C]; -}; - -/** - * @brief determine authalic latitude - * @param[in] phi geographic latitude - * @param[in] a initialized structure pointer - * @return authalic latitude - */ -inline double proj_qsfn(double phi, const AUTHALIC& a) -{ - double s, s2, sum; - int i = MAX_C; - - s = sin(phi); - s2 = s * s; - sum = a.CQ[MAX_C - 1]; - while (--i) sum = a.CQ[i] + s2 * sum; - return(s * sum); -} - -} // namespace detail -}}} // namespace boost::geometry::projections - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_tsfn.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_tsfn.hpp deleted file mode 100644 index 2e74e99aa1..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_tsfn.hpp +++ /dev/null @@ -1,53 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_PJ_TSFN_HPP -#define BOOST_GEOMETRY_PROJECTIONS_PJ_TSFN_HPP - -#include - -namespace boost { namespace geometry { namespace projections { -namespace detail { - - /* determine small t */ - inline double pj_tsfn(double phi, double sinphi, double e) - { - sinphi *= e; - return (tan (.5 * (geometry::math::half_pi() - phi)) / - pow((1. - sinphi) / (1. + sinphi), .5 * e)); - } - -} // namespace detail -}}} // namespace boost::geometry::projections -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_units.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_units.hpp deleted file mode 100644 index 55f0252e74..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_units.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_UNITS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_UNITS_HPP - -#include - -namespace boost { namespace geometry { namespace projections { -namespace detail { - -/* Field 2 that contains the multiplier to convert named units to meters -** may be expressed by either a simple floating point constant or a -** numerator/denomenator values (e.g. 1/1000) */ - -static const PJ_UNITS pj_units[] = -{ - { "km", "1000.", "Kilometer" }, - { "m", "1.", "Meter" }, - { "dm", "1/10", "Decimeter" }, - { "cm", "1/100", "Centimeter" }, - { "mm", "1/1000", "Millimeter" }, - { "kmi", "1852.0", "International Nautical Mile" }, - { "in", "0.0254", "International Inch" }, - { "ft", "0.3048", "International Foot" }, - { "yd", "0.9144", "International Yard" }, - { "mi", "1609.344", "International Statute Mile" }, - { "fath", "1.8288", "International Fathom" }, - { "ch", "20.1168", "International Chain" }, - { "link", "0.201168", "International Link" }, - { "us-in", "1./39.37", "U.S. Surveyor's Inch" }, - { "us-ft", "0.304800609601219", "U.S. Surveyor's Foot" }, - { "us-yd", "0.914401828803658", "U.S. Surveyor's Yard" }, - { "us-ch", "20.11684023368047", "U.S. Surveyor's Chain" }, - { "us-mi", "1609.347218694437", "U.S. Surveyor's Statute Mile" }, - { "ind-yd", "0.91439523", "Indian Yard" }, - { "ind-ft", "0.30479841", "Indian Foot" }, - { "ind-ch", "20.11669506", "Indian Chain" } -}; - -} // detail -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PJ_UNITS_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_zpoly1.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_zpoly1.hpp deleted file mode 100644 index af5708fd9b..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/pj_zpoly1.hpp +++ /dev/null @@ -1,100 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_ZPOLY1_HPP -#define BOOST_GEOMETRY_PROJECTIONS_ZPOLY1_HPP - - -#include - - -namespace boost { namespace geometry { namespace projections { namespace detail { - - /* evaluate complex polynomial */ - - /* note: coefficients are always from C_1 to C_n - ** i.e. C_0 == (0., 0) - ** n should always be >= 1 though no checks are made - */ - inline COMPLEX - pj_zpoly1(COMPLEX z, COMPLEX *C, int n) - { - COMPLEX a; - double t; - - a = *(C += n); - while (n-- > 0) - { - a.r = (--C)->r + z.r * (t = a.r) - z.i * a.i; - a.i = C->i + z.r * a.i + z.i * t; - } - a.r = z.r * (t = a.r) - z.i * a.i; - a.i = z.r * a.i + z.i * t; - return a; - } - - /* evaluate complex polynomial and derivative */ - inline COMPLEX - pj_zpolyd1(COMPLEX z, COMPLEX *C, int n, COMPLEX *der) - { - double t; - bool first = true; - - COMPLEX a = *(C += n); - COMPLEX b = a; - while (n-- > 0) - { - if (first) - { - first = false; - } - else - { - b.r = a.r + z.r * (t = b.r) - z.i * b.i; - b.i = a.i + z.r * b.i + z.i * t; - } - a.r = (--C)->r + z.r * (t = a.r) - z.i * a.i; - a.i = C->i + z.r * a.i + z.i * t; - } - b.r = a.r + z.r * (t = b.r) - z.i * b.i; - b.i = a.i + z.r * b.i + z.i * t; - a.r = z.r * (t = a.r) - z.i * a.i; - a.i = z.r * a.i + z.i * t; - *der = b; - return a; - } - -}}}} // namespace boost::geometry::projections::detail - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/proj_mdist.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/proj_mdist.hpp deleted file mode 100644 index 9069b47b45..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/proj_mdist.hpp +++ /dev/null @@ -1,138 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_PROJ_MDIST_HPP -#define BOOST_GEOMETRY_PROJECTIONS_PROJ_MDIST_HPP - - -#include - - -namespace boost { namespace geometry { namespace projections -{ -namespace detail -{ - static const int MDIST_MAX_ITER = 20; - - struct MDIST - { - int nb; - double es; - double E; - double b[MDIST_MAX_ITER]; - }; - - inline bool proj_mdist_ini(double es, MDIST& b) - { - double numf, numfi, twon1, denf, denfi, ens, T, twon; - double den, El, Es; - double E[MDIST_MAX_ITER]; - int i, j; - - /* generate E(e^2) and its terms E[] */ - ens = es; - numf = twon1 = denfi = 1.; - denf = 1.; - twon = 4.; - Es = El = E[0] = 1.; - for (i = 1; i < MDIST_MAX_ITER ; ++i) - { - numf *= (twon1 * twon1); - den = twon * denf * denf * twon1; - T = numf/den; - Es -= (E[i] = T * ens); - ens *= es; - twon *= 4.; - denf *= ++denfi; - twon1 += 2.; - if (Es == El) /* jump out if no change */ - break; - El = Es; - } - b.nb = i - 1; - b.es = es; - b.E = Es; - /* generate b_n coefficients--note: collapse with prefix ratios */ - b.b[0] = Es = 1. - Es; - numf = denf = 1.; - numfi = 2.; - denfi = 3.; - for (j = 1; j < i; ++j) - { - Es -= E[j]; - numf *= numfi; - denf *= denfi; - b.b[j] = Es * numf / denf; - numfi += 2.; - denfi += 2.; - } - return true; - } - inline double proj_mdist(double phi, double sphi, double cphi, const MDIST& b) - { - double sc, sum, sphi2, D; - int i; - - sc = sphi * cphi; - sphi2 = sphi * sphi; - D = phi * b.E - b.es * sc / sqrt(1. - b.es * sphi2); - sum = b.b[i = b.nb]; - while (i) sum = b.b[--i] + sphi2 * sum; - return(D + sc * sum); - } - inline double proj_inv_mdist(double dist, const MDIST& b) - { - static const double TOL = 1e-14; - double s, t, phi, k; - int i; - - k = 1./(1.- b.es); - i = MDIST_MAX_ITER; - phi = dist; - while ( i-- ) { - s = sin(phi); - t = 1. - b.es * s * s; - phi -= t = (proj_mdist(phi, s, cos(phi), b) - dist) * - (t * sqrt(t)) * k; - if (geometry::math::abs(t) < TOL) /* that is no change */ - return phi; - } - /* convergence failed */ - throw proj_exception(-17); - } -} // namespace detail - -}}} // namespace boost::geometry::projections - -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/impl/projects.hpp b/3party/boost/boost/geometry/extensions/gis/projections/impl/projects.hpp deleted file mode 100644 index 7fbd5d8761..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/impl/projects.hpp +++ /dev/null @@ -1,181 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) -// This file is manually converted from PROJ4 (projects.h) - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Geometry Library by Barend Gehrels (Geodan, Amsterdam) - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#ifndef BOOST_GEOMETRY_PROJECTIONS_IMPL_PROJECTS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IMPL_PROJECTS_HPP - -#include -#include -#include - -#include - -namespace boost { namespace geometry { namespace projections -{ - -#ifndef DOXYGEN_NO_DETAIL -namespace detail -{ - -/* some useful constants */ -static const double FORTPI = boost::math::constants::pi() / 4.0; - -static const int PJD_UNKNOWN =0; -static const int PJD_3PARAM = 1; -static const int PJD_7PARAM = 2; -static const int PJD_GRIDSHIFT = 3; -static const int PJD_WGS84 = 4; /* WGS84 (or anything considered equivelent) */ - - -struct pvalue -{ - std::string param; - int used; - - int i; - double f; - std::string s; -}; - -struct pj_const_pod -{ - int over; /* over-range flag */ - int geoc; /* geocentric latitude flag */ - int is_latlong; /* proj=latlong ... not really a projection at all */ - int is_geocent; /* proj=geocent ... not really a projection at all */ - double - a, /* major axis or radius if es==0 */ - a_orig, /* major axis before any +proj related adjustment */ - es, /* e ^ 2 */ - es_orig, /* es before any +proj related adjustment */ - e, /* eccentricity */ - ra, /* 1/A */ - one_es, /* 1 - e^2 */ - rone_es, /* 1/one_es */ - lam0, phi0, /* central longitude, latitude */ - x0, y0, /* easting and northing */ - k0, /* general scaling factor */ - to_meter, fr_meter; /* cartesian scaling */ - - int datum_type; /* PJD_UNKNOWN/3PARAM/7PARAM/GRIDSHIFT/WGS84 */ - double datum_params[7]; - double from_greenwich; /* prime meridian offset (in radians) */ - double long_wrap_center; /* 0.0 for -180 to 180, actually in radians*/ - - // Initialize all variables to zero - pj_const_pod() - { - std::memset(this, 0, sizeof(pj_const_pod)); - } -}; - -// PROJ4 complex. Might be replaced with std::complex -struct COMPLEX { double r, i; }; - -struct PJ_ELLPS -{ - std::string id; /* ellipse keyword name */ - std::string major; /* a= value */ - std::string ell; /* elliptical parameter */ - std::string name; /* comments */ -}; - -struct PJ_DATUMS -{ - std::string id; /* datum keyword */ - std::string defn; /* ie. "to_wgs84=..." */ - std::string ellipse_id; /* ie from ellipse table */ - std::string comments; /* EPSG code, etc */ -}; - -struct PJ_PRIME_MERIDIANS -{ - std::string id; /* prime meridian keyword */ - std::string defn; /* offset from greenwich in DMS format. */ -}; - -struct PJ_UNITS -{ - std::string id; /* units keyword */ - std::string to_meter; /* multiply by value to get meters */ - std::string name; /* comments */ -}; - -struct DERIVS -{ - double x_l, x_p; /* derivatives of x for lambda-phi */ - double y_l, y_p; /* derivatives of y for lambda-phi */ -}; - -struct FACTORS -{ - struct DERIVS der; - double h, k; /* meridinal, parallel scales */ - double omega, thetap; /* angular distortion, theta prime */ - double conv; /* convergence */ - double s; /* areal scale factor */ - double a, b; /* max-min scale error */ - int code; /* info as to analytics, see following */ -}; - -} // namespace detail -#endif // DOXYGEN_NO_DETAIL - -/*! - \brief parameters, projection parameters - \details This structure initializes all projections - \ingroup projection -*/ -struct parameters : public detail::pj_const_pod -{ - std::string name; - std::vector params; -}; - -// TODO: derived from boost::exception / make more for forward/inverse/init/setup -class proj_exception -{ -public: - - proj_exception(int code = 0) - : m_code(code) - { - } - int code() const { return m_code; } -private : - int m_code; -}; - -}}} // namespace boost::geometry::projections -#endif // BOOST_GEOMETRY_PROJECTIONS_IMPL_PROJECTS_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/new_projection.hpp b/3party/boost/boost/geometry/extensions/gis/projections/new_projection.hpp deleted file mode 100644 index f065297103..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/new_projection.hpp +++ /dev/null @@ -1,54 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2012 Krzysztof Czainski -// Copyright (c) 2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) -// 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_GEOMETRY_PROJECTIONS_NEW_PROJECTION_HPP -#define BOOST_GEOMETRY_PROJECTIONS_NEW_PROJECTION_HPP - -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - -/*! -\brief Creates a type-erased projection -\details Creates using operator new a class derived from projection, that forwards method - calls to @p Proj. -\ingroup projection -\tparam Projection Type of the concrete projection to be created. -\tparam Parameters projection parameters type -\see projection -\see factory -*/ - -//@{ -template -inline projection - < - typename detail::projection_point_type::type - , typename detail::projection_point_type::type - >* new_projection(Parameters const& par) -{ - return new detail::base_v_fi - < - Projection - , typename detail::projection_point_type::type - , typename detail::projection_point_type::type - , Parameters - >(par); -} -//@} - -}}} // boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_NEW_PROJECTION_HPP diff --git a/3party/boost/boost/geometry/extensions/gis/projections/parameters.hpp b/3party/boost/boost/geometry/extensions/gis/projections/parameters.hpp deleted file mode 100644 index b41c0f5c63..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/parameters.hpp +++ /dev/null @@ -1,65 +0,0 @@ -// Boost.Geometry (aka GGL, Generic Geometry Library) - -// Copyright (c) 2008-2012 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -#ifndef BOOST_GEOMETRY_PROJECTIONS_PARAMETERS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_PARAMETERS_HPP - - -#include -#include - - -#include -#include - - -namespace boost { namespace geometry { namespace projections { - -template -inline parameters init(const R& arguments) -{ - return detail::pj_init(arguments); -} - -/*! -\ingroup projection -\brief Initializes a projection as a string, using the format with + and = -\details The projection can be initialized with a string (with the same format as the PROJ4 package) for - convenient initialization from, for example, the command line -\par Example - +proj=labrd +ellps=intl +lon_0=46d26'13.95E +lat_0=18d54S +azi=18d54 +k_0=.9995 +x_0=400000 +y_0=800000 - for the Madagascar projection. -\note Parameters are described in the group -*/ -inline parameters init(const std::string& arguments) -{ - return detail::pj_init_plus(arguments); -} - -/*! -\ingroup projection -\brief Overload using a const char* -*/ -inline parameters init(const char* arguments) -{ - return detail::pj_init_plus(arguments); -} - - -// todo: -/* -parameters init(const std::map& arguments) -{ - return detail::pj_init_plus(arguments); -} -*/ - - - -}}} // namespace boost::geometry::projections -#endif diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/aea.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/aea.hpp deleted file mode 100644 index 309dc66969..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/aea.hpp +++ /dev/null @@ -1,545 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_AEA_HPP -#define BOOST_GEOMETRY_PROJECTIONS_AEA_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Purpose: Implementation of the aea (Albers Equal Area) projection. -// Author: Gerald Evenden -// Copyright (c) 1995, Gerald Evenden - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace aea - { - - static const double EPS10 = 1.e-10; - static const double TOL7 = 1.e-7; - static const int N_ITER = 15; - static const double EPSILON = 1.0e-7; - static const double TOL = 1.0e-10; - - struct par_aea - { - double ec; - double n; - double c; - double dd; - double n2; - double rho0; - double phi1; - double phi2; - double en[EN_SIZE]; - int ellips; - }; - - /* determine latitude angle phi-1 */ - static double - phi1_(double qs, double Te, double Tone_es) { - int i; - double Phi, sinpi, cospi, con, com, dphi; - - Phi = asin (.5 * qs); - if (Te < EPSILON) - return( Phi ); - i = N_ITER; - do { - sinpi = sin (Phi); - cospi = cos (Phi); - con = Te * sinpi; - com = 1. - con * con; - dphi = .5 * com * com / cospi * (qs / Tone_es - - sinpi / com + .5 / Te * log ((1. - con) / - (1. + con))); - Phi += dphi; - } while (fabs(dphi) > TOL && --i); - return( i ? Phi : HUGE_VAL ); - } - - // template class, using CRTP to implement forward/inverse - template - struct base_aea_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_aea m_proj_parm; - - inline base_aea_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_forward) ellipsoid & spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double rho = 0.0; - if ((rho = this->m_proj_parm.c - (this->m_proj_parm.ellips ? this->m_proj_parm.n * pj_qsfn(sin(lp_lat), - this->m_par.e, this->m_par.one_es) : this->m_proj_parm.n2 * sin(lp_lat))) < 0.) throw proj_exception(); - rho = this->m_proj_parm.dd * sqrt(rho); - xy_x = rho * sin( lp_lon *= this->m_proj_parm.n ); - xy_y = this->m_proj_parm.rho0 - rho * cos(lp_lon); - } - - // INVERSE(e_inverse) ellipsoid & spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double rho = 0.0; - if( (rho = boost::math::hypot(xy_x, xy_y = this->m_proj_parm.rho0 - xy_y)) != 0.0 ) { - if (this->m_proj_parm.n < 0.) { - rho = -rho; - xy_x = -xy_x; - xy_y = -xy_y; - } - lp_lat = rho / this->m_proj_parm.dd; - if (this->m_proj_parm.ellips) { - lp_lat = (this->m_proj_parm.c - lp_lat * lp_lat) / this->m_proj_parm.n; - if (fabs(this->m_proj_parm.ec - fabs(lp_lat)) > TOL7) { - if ((lp_lat = phi1_(lp_lat, this->m_par.e, this->m_par.one_es)) == HUGE_VAL) - throw proj_exception(); - } else - lp_lat = lp_lat < 0. ? -geometry::math::half_pi() : geometry::math::half_pi(); - } else if (fabs(lp_lat = (this->m_proj_parm.c - lp_lat * lp_lat) / this->m_proj_parm.n2) <= 1.) - lp_lat = asin(lp_lat); - else - lp_lat = lp_lat < 0. ? -geometry::math::half_pi() : geometry::math::half_pi(); - lp_lon = atan2(xy_x, xy_y) / this->m_proj_parm.n; - } else { - lp_lon = 0.; - lp_lat = this->m_proj_parm.n > 0. ? geometry::math::half_pi() : - geometry::math::half_pi(); - } - } - - static inline std::string get_name() - { - return "aea_ellipsoid"; - } - - }; - - template - void setup(Parameters& par, par_aea& proj_parm) - { - double cosphi, sinphi; - int secant; - - if (fabs(proj_parm.phi1 + proj_parm.phi2) < EPS10) throw proj_exception(-21); - proj_parm.n = sinphi = sin(proj_parm.phi1); - cosphi = cos(proj_parm.phi1); - secant = fabs(proj_parm.phi1 - proj_parm.phi2) >= EPS10; - if( (proj_parm.ellips = (par.es > 0.))) { - double ml1, m1; - - if (!pj_enfn(par.es, proj_parm.en)) throw proj_exception(0); - m1 = pj_msfn(sinphi, cosphi, par.es); - ml1 = pj_qsfn(sinphi, par.e, par.one_es); - if (secant) { /* secant cone */ - double ml2, m2; - - sinphi = sin(proj_parm.phi2); - cosphi = cos(proj_parm.phi2); - m2 = pj_msfn(sinphi, cosphi, par.es); - ml2 = pj_qsfn(sinphi, par.e, par.one_es); - proj_parm.n = (m1 * m1 - m2 * m2) / (ml2 - ml1); - } - proj_parm.ec = 1. - .5 * par.one_es * log((1. - par.e) / - (1. + par.e)) / par.e; - proj_parm.c = m1 * m1 + proj_parm.n * ml1; - proj_parm.dd = 1. / proj_parm.n; - proj_parm.rho0 = proj_parm.dd * sqrt(proj_parm.c - proj_parm.n * pj_qsfn(sin(par.phi0), - par.e, par.one_es)); - } else { - if (secant) proj_parm.n = .5 * (proj_parm.n + sin(proj_parm.phi2)); - proj_parm.n2 = proj_parm.n + proj_parm.n; - proj_parm.c = cosphi * cosphi + proj_parm.n2 * sinphi; - proj_parm.dd = 1. / proj_parm.n; - proj_parm.rho0 = proj_parm.dd * sqrt(proj_parm.c - proj_parm.n2 * sin(par.phi0)); - } - } - - - // Albers Equal Area - template - void setup_aea(Parameters& par, par_aea& proj_parm) - { - boost::ignore_unused(phi1_); - proj_parm.phi1 = pj_param(par.params, "rlat_1").f; - proj_parm.phi2 = pj_param(par.params, "rlat_2").f; - setup(par, proj_parm); - } - - // Lambert Equal Area Conic - template - void setup_leac(Parameters& par, par_aea& proj_parm) - { - proj_parm.phi2 = pj_param(par.params, "rlat_1").f; - proj_parm.phi1 = pj_param(par.params, "bsouth").i ? - geometry::math::half_pi(): geometry::math::half_pi(); - setup(par, proj_parm); - } - - }} // namespace detail::aea - #endif // doxygen - - /*! - \brief Albers Equal Area projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Conic - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_1: Latitude of first standard parallel (degrees) - - lat_2: Latitude of second standard parallel (degrees) - \par Example - \image html ex_aea.gif - */ - template - struct aea_ellipsoid : public detail::aea::base_aea_ellipsoid - { - inline aea_ellipsoid(const Parameters& par) : detail::aea::base_aea_ellipsoid(par) - { - detail::aea::setup_aea(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Lambert Equal Area Conic projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Conic - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_1: Latitude of first standard parallel (degrees) - - south: Denotes southern hemisphere UTM zone (boolean) - \par Example - \image html ex_leac.gif - */ - template - struct leac_ellipsoid : public detail::aea::base_aea_ellipsoid - { - inline leac_ellipsoid(const Parameters& par) : detail::aea::base_aea_ellipsoid(par) - { - detail::aea::setup_leac(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class aea_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class leac_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void aea_init(detail::base_factory& factory) - { - factory.add_to_factory("aea", new aea_entry); - factory.add_to_factory("leac", new leac_entry); - } - - } // namespace detail - // Create EPSG specializations - // (Proof of Concept, only for some) - - template - struct epsg_traits<2964, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=clrk66 +datum=NAD27 +to_meter=0.3048006096012192"; - } - }; - - - template - struct epsg_traits<3005, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - } - }; - - - template - struct epsg_traits<3083, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +datum=NAD83 +units=m"; - } - }; - - - template - struct epsg_traits<3085, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3086, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - } - }; - - - template - struct epsg_traits<3087, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3153, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=50 +lat_2=58.5 +lat_0=45 +lon_0=-126 +x_0=1000000 +y_0=0 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3174, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-84.455955 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - } - }; - - - template - struct epsg_traits<3175, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=42.122774 +lat_2=49.01518 +lat_0=45.568977 +lon_0=-83.248627 +x_0=1000000 +y_0=1000000 +ellps=GRS80 +datum=NAD83 +units=m"; - } - }; - - - template - struct epsg_traits<3309, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=clrk66 +datum=NAD27 +units=m"; - } - }; - - - template - struct epsg_traits<3310, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +datum=NAD83 +units=m"; - } - }; - - - template - struct epsg_traits<3311, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3338, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m"; - } - }; - - - template - struct epsg_traits<3467, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=55 +lat_2=65 +lat_0=50 +lon_0=-154 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - } - }; - - - template - struct epsg_traits<3488, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=34 +lat_2=40.5 +lat_0=0 +lon_0=-120 +x_0=0 +y_0=-4000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - } - }; - - - template - struct epsg_traits<3513, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=24 +lat_2=31.5 +lat_0=24 +lon_0=-84 +x_0=400000 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - } - }; - - - template - struct epsg_traits<3577, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=-18 +lat_2=-36 +lat_0=0 +lon_0=132 +x_0=0 +y_0=0 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - } - }; - - - template - struct epsg_traits<3578, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +datum=NAD83 +units=m"; - } - }; - - - template - struct epsg_traits<3579, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=61.66666666666666 +lat_2=68 +lat_0=59 +lon_0=-132.5 +x_0=500000 +y_0=500000 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3665, LatLongRadian, Cartesian, Parameters> - { - typedef aea_ellipsoid type; - static inline std::string par() - { - return "+proj=aea +lat_1=27.5 +lat_2=35 +lat_0=18 +lon_0=-100 +x_0=1500000 +y_0=6000000 +ellps=GRS80 +towgs84=0,0,0,0,0,0,0 +units=m"; - } - }; - - - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_AEA_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/aeqd.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/aeqd.hpp deleted file mode 100644 index 55bcae3aa4..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/aeqd.hpp +++ /dev/null @@ -1,487 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_AEQD_HPP -#define BOOST_GEOMETRY_PROJECTIONS_AEQD_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Purpose: Implementation of the aeqd (Azimuthal Equidistant) projection. -// Author: Gerald Evenden -// Copyright (c) 1995, Gerald Evenden - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace aeqd - { - - static const double EPS10 = 1.e-10; - static const double TOL = 1.e-14; - static const int N_POLE = 0; - static const int S_POLE = 1; - static const int EQUIT = 2; - static const int OBLIQ = 3; - - struct par_aeqd - { - double sinph0; - double cosph0; - double en[EN_SIZE]; - double M1; - double N1; - double Mp; - double He; - double G; - int mode; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_aeqd_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_aeqd m_proj_parm; - - inline base_aeqd_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_forward) elliptical - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double coslam, cosphi, sinphi, rho, s, H, H2, c, Az, t, ct, st, cA, sA; - - coslam = cos(lp_lon); - cosphi = cos(lp_lat); - sinphi = sin(lp_lat); - switch (this->m_proj_parm.mode) { - case N_POLE: - coslam = - coslam; - case S_POLE: - xy_x = (rho = fabs(this->m_proj_parm.Mp - pj_mlfn(lp_lat, sinphi, cosphi, this->m_proj_parm.en))) * - sin(lp_lon); - xy_y = rho * coslam; - break; - case EQUIT: - case OBLIQ: - if (fabs(lp_lon) < EPS10 && fabs(lp_lat - this->m_par.phi0) < EPS10) { - xy_x = xy_y = 0.; - break; - } - t = atan2(this->m_par.one_es * sinphi + this->m_par.es * this->m_proj_parm.N1 * this->m_proj_parm.sinph0 * - sqrt(1. - this->m_par.es * sinphi * sinphi), cosphi); - ct = cos(t); st = sin(t); - Az = atan2(sin(lp_lon) * ct, this->m_proj_parm.cosph0 * st - this->m_proj_parm.sinph0 * coslam * ct); - cA = cos(Az); sA = sin(Az); - s = aasin(fabs(sA) < TOL ? - (this->m_proj_parm.cosph0 * st - this->m_proj_parm.sinph0 * coslam * ct) / cA : - sin(lp_lon) * ct / sA ); - H = this->m_proj_parm.He * cA; - H2 = H * H; - c = this->m_proj_parm.N1 * s * (1. + s * s * (- H2 * (1. - H2)/6. + - s * ( this->m_proj_parm.G * H * (1. - 2. * H2 * H2) / 8. + - s * ((H2 * (4. - 7. * H2) - 3. * this->m_proj_parm.G * this->m_proj_parm.G * (1. - 7. * H2)) / - 120. - s * this->m_proj_parm.G * H / 48.)))); - xy_x = c * sA; - xy_y = c * cA; - break; - } - } - - // INVERSE(e_inverse) elliptical - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double c, Az, cosAz, A, B, D, E, F, psi, t; - - if ((c = boost::math::hypot(xy_x, xy_y)) < EPS10) { - lp_lat = this->m_par.phi0; - lp_lon = 0.; - return; - } - if (this->m_proj_parm.mode == OBLIQ || this->m_proj_parm.mode == EQUIT) { - cosAz = cos(Az = atan2(xy_x, xy_y)); - t = this->m_proj_parm.cosph0 * cosAz; - B = this->m_par.es * t / this->m_par.one_es; - A = - B * t; - B *= 3. * (1. - A) * this->m_proj_parm.sinph0; - D = c / this->m_proj_parm.N1; - E = D * (1. - D * D * (A * (1. + A) / 6. + B * (1. + 3.*A) * D / 24.)); - F = 1. - E * E * (A / 2. + B * E / 6.); - psi = aasin(this->m_proj_parm.sinph0 * cos(E) + t * sin(E)); - lp_lon = aasin(sin(Az) * sin(E) / cos(psi)); - if ((t = fabs(psi)) < EPS10) - lp_lat = 0.; - else if (fabs(t - geometry::math::half_pi()) < 0.) - lp_lat = geometry::math::half_pi(); - else - lp_lat = atan((1. - this->m_par.es * F * this->m_proj_parm.sinph0 / sin(psi)) * tan(psi) / - this->m_par.one_es); - } else { /* Polar */ - lp_lat = pj_inv_mlfn(this->m_proj_parm.mode == N_POLE ? this->m_proj_parm.Mp - c : this->m_proj_parm.Mp + c, - this->m_par.es, this->m_proj_parm.en); - lp_lon = atan2(xy_x, this->m_proj_parm.mode == N_POLE ? -xy_y : xy_y); - } - } - - static inline std::string get_name() - { - return "aeqd_ellipsoid"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_aeqd_guam : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_aeqd m_proj_parm; - - inline base_aeqd_guam(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_guam_fwd) Guam elliptical - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double cosphi, sinphi, t; - - cosphi = cos(lp_lat); - sinphi = sin(lp_lat); - t = 1. / sqrt(1. - this->m_par.es * sinphi * sinphi); - xy_x = lp_lon * cosphi * t; - xy_y = pj_mlfn(lp_lat, sinphi, cosphi, this->m_proj_parm.en) - this->m_proj_parm.M1 + - .5 * lp_lon * lp_lon * cosphi * sinphi * t; - } - - // INVERSE(e_guam_inv) Guam elliptical - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double x2, t; - int i; - - x2 = 0.5 * xy_x * xy_x; - lp_lat = this->m_par.phi0; - for (i = 0; i < 3; ++i) { - t = this->m_par.e * sin(lp_lat); - lp_lat = pj_inv_mlfn(this->m_proj_parm.M1 + xy_y - - x2 * tan(lp_lat) * (t = sqrt(1. - t * t)), this->m_par.es, this->m_proj_parm.en); - } - lp_lon = xy_x * t / cos(lp_lat); - } - - static inline std::string get_name() - { - return "aeqd_guam"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_aeqd_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_aeqd m_proj_parm; - - inline base_aeqd_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spherical - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double coslam, cosphi, sinphi; - - sinphi = sin(lp_lat); - cosphi = cos(lp_lat); - coslam = cos(lp_lon); - switch (this->m_proj_parm.mode) { - case EQUIT: - xy_y = cosphi * coslam; - goto oblcon; - case OBLIQ: - xy_y = this->m_proj_parm.sinph0 * sinphi + this->m_proj_parm.cosph0 * cosphi * coslam; - oblcon: - if (fabs(fabs(xy_y) - 1.) < TOL) - if (xy_y < 0.) - throw proj_exception(); - else - xy_x = xy_y = 0.; - else { - xy_y = acos(xy_y); - xy_y /= sin(xy_y); - xy_x = xy_y * cosphi * sin(lp_lon); - xy_y *= (this->m_proj_parm.mode == EQUIT) ? sinphi : - this->m_proj_parm.cosph0 * sinphi - this->m_proj_parm.sinph0 * cosphi * coslam; - } - break; - case N_POLE: - lp_lat = -lp_lat; - coslam = -coslam; - case S_POLE: - if (fabs(lp_lat - geometry::math::half_pi()) < EPS10) throw proj_exception();; - xy_x = (xy_y = (geometry::math::half_pi() + lp_lat)) * sin(lp_lon); - xy_y *= coslam; - break; - } - } - - // INVERSE(s_inverse) spherical - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double cosc, c_rh, sinc; - - if ((c_rh = boost::math::hypot(xy_x, xy_y)) > geometry::math::pi()) { - if (c_rh - EPS10 > geometry::math::pi()) throw proj_exception();; - c_rh = geometry::math::pi(); - } else if (c_rh < EPS10) { - lp_lat = this->m_par.phi0; - lp_lon = 0.; - return; - } - if (this->m_proj_parm.mode == OBLIQ || this->m_proj_parm.mode == EQUIT) { - sinc = sin(c_rh); - cosc = cos(c_rh); - if (this->m_proj_parm.mode == EQUIT) { - lp_lat = aasin(xy_y * sinc / c_rh); - xy_x *= sinc; - xy_y = cosc * c_rh; - } else { - lp_lat = aasin(cosc * this->m_proj_parm.sinph0 + xy_y * sinc * this->m_proj_parm.cosph0 / - c_rh); - xy_y = (cosc - this->m_proj_parm.sinph0 * sin(lp_lat)) * c_rh; - xy_x *= sinc * this->m_proj_parm.cosph0; - } - lp_lon = atan2(xy_x, xy_y); - } else if (this->m_proj_parm.mode == N_POLE) { - lp_lat = geometry::math::half_pi() - c_rh; - lp_lon = atan2(xy_x, -xy_y); - } else { - lp_lat = c_rh - geometry::math::half_pi(); - lp_lon = atan2(xy_x, xy_y); - } - } - - static inline std::string get_name() - { - return "aeqd_spheroid"; - } - - }; - - // Azimuthal Equidistant - template - void setup_aeqd(Parameters& par, par_aeqd& proj_parm) - { - par.phi0 = pj_param(par.params, "rlat_0").f; - if (fabs(fabs(par.phi0) - geometry::math::half_pi()) < EPS10) { - proj_parm.mode = par.phi0 < 0. ? S_POLE : N_POLE; - proj_parm.sinph0 = par.phi0 < 0. ? -1. : 1.; - proj_parm.cosph0 = 0.; - } else if (fabs(par.phi0) < EPS10) { - proj_parm.mode = EQUIT; - proj_parm.sinph0 = 0.; - proj_parm.cosph0 = 1.; - } else { - proj_parm.mode = OBLIQ; - proj_parm.sinph0 = sin(par.phi0); - proj_parm.cosph0 = cos(par.phi0); - } - if (! par.es) { - } else { - if (!pj_enfn(par.es, proj_parm.en)) throw proj_exception(0); - if (pj_param(par.params, "bguam").i) { - proj_parm.M1 = pj_mlfn(par.phi0, proj_parm.sinph0, proj_parm.cosph0, proj_parm.en); - } else { - switch (proj_parm.mode) { - case N_POLE: - proj_parm.Mp = pj_mlfn(geometry::math::half_pi(), 1., 0., proj_parm.en); - break; - case S_POLE: - proj_parm.Mp = pj_mlfn(-geometry::math::half_pi(), -1., 0., proj_parm.en); - break; - case EQUIT: - case OBLIQ: - proj_parm.N1 = 1. / sqrt(1. - par.es * proj_parm.sinph0 * proj_parm.sinph0); - proj_parm.G = proj_parm.sinph0 * (proj_parm.He = par.e / sqrt(par.one_es)); - proj_parm.He *= proj_parm.cosph0; - break; - } - } - } - } - - }} // namespace detail::aeqd - #endif // doxygen - - /*! - \brief Azimuthal Equidistant projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Azimuthal - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_0: Latitude of origin (degrees) - - guam (boolean) - \par Example - \image html ex_aeqd.gif - */ - template - struct aeqd_ellipsoid : public detail::aeqd::base_aeqd_ellipsoid - { - inline aeqd_ellipsoid(const Parameters& par) : detail::aeqd::base_aeqd_ellipsoid(par) - { - detail::aeqd::setup_aeqd(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Azimuthal Equidistant projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Azimuthal - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_0: Latitude of origin (degrees) - - guam (boolean) - \par Example - \image html ex_aeqd.gif - */ - template - struct aeqd_guam : public detail::aeqd::base_aeqd_guam - { - inline aeqd_guam(const Parameters& par) : detail::aeqd::base_aeqd_guam(par) - { - detail::aeqd::setup_aeqd(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Azimuthal Equidistant projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Azimuthal - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_0: Latitude of origin (degrees) - - guam (boolean) - \par Example - \image html ex_aeqd.gif - */ - template - struct aeqd_spheroid : public detail::aeqd::base_aeqd_spheroid - { - inline aeqd_spheroid(const Parameters& par) : detail::aeqd::base_aeqd_spheroid(par) - { - detail::aeqd::setup_aeqd(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class aeqd_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - bool const guam = pj_param(par.params, "bguam").i; - - if (par.es && ! guam) - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - else if (par.es && guam) - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - else - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void aeqd_init(detail::base_factory& factory) - { - factory.add_to_factory("aeqd", new aeqd_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_AEQD_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/airy.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/airy.hpp deleted file mode 100644 index d7396cab4e..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/airy.hpp +++ /dev/null @@ -1,231 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_AIRY_HPP -#define BOOST_GEOMETRY_PROJECTIONS_AIRY_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Purpose: Implementation of the airy (Airy) projection. -// Author: Gerald Evenden -// Copyright (c) 1995, Gerald Evenden - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace airy - { - - static const double EPS = 1.e-10; - static const int N_POLE = 0; - static const int S_POLE = 1; - static const int EQUIT = 2; - static const int OBLIQ = 3; - - struct par_airy - { - double p_halfpi; - double sinph0; - double cosph0; - double Cb; - int mode; - int no_cut; /* do not cut at hemisphere limit */ - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_airy_spheroid : public base_t_f, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_airy m_proj_parm; - - inline base_airy_spheroid(const Parameters& par) - : base_t_f, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double sinlam, coslam, cosphi, sinphi, t, s, Krho, cosz; - - sinlam = sin(lp_lon); - coslam = cos(lp_lon); - switch (this->m_proj_parm.mode) { - case EQUIT: - case OBLIQ: - sinphi = sin(lp_lat); - cosphi = cos(lp_lat); - cosz = cosphi * coslam; - if (this->m_proj_parm.mode == OBLIQ) - cosz = this->m_proj_parm.sinph0 * sinphi + this->m_proj_parm.cosph0 * cosz; - if (!this->m_proj_parm.no_cut && cosz < -EPS) - throw proj_exception();; - if (fabs(s = 1. - cosz) > EPS) { - t = 0.5 * (1. + cosz); - Krho = -log(t)/s - this->m_proj_parm.Cb / t; - } else - Krho = 0.5 - this->m_proj_parm.Cb; - xy_x = Krho * cosphi * sinlam; - if (this->m_proj_parm.mode == OBLIQ) - xy_y = Krho * (this->m_proj_parm.cosph0 * sinphi - - this->m_proj_parm.sinph0 * cosphi * coslam); - else - xy_y = Krho * sinphi; - break; - case S_POLE: - case N_POLE: - lp_lat = fabs(this->m_proj_parm.p_halfpi - lp_lat); - if (!this->m_proj_parm.no_cut && (lp_lat - EPS) > geometry::math::half_pi()) - throw proj_exception();; - if ((lp_lat *= 0.5) > EPS) { - t = tan(lp_lat); - Krho = -2.*(log(cos(lp_lat)) / t + t * this->m_proj_parm.Cb); - xy_x = Krho * sinlam; - xy_y = Krho * coslam; - if (this->m_proj_parm.mode == N_POLE) - xy_y = -xy_y; - } else - xy_x = xy_y = 0.; - } - } - - static inline std::string get_name() - { - return "airy_spheroid"; - } - - }; - - // Airy - template - void setup_airy(Parameters& par, par_airy& proj_parm) - { - double beta; - - proj_parm.no_cut = pj_param(par.params, "bno_cut").i; - beta = 0.5 * (geometry::math::half_pi() - pj_param(par.params, "rlat_b").f); - if (fabs(beta) < EPS) - proj_parm.Cb = -0.5; - else { - proj_parm.Cb = 1./tan(beta); - proj_parm.Cb *= proj_parm.Cb * log(cos(beta)); - } - if (fabs(fabs(par.phi0) - geometry::math::half_pi()) < EPS) - if (par.phi0 < 0.) { - proj_parm.p_halfpi = -geometry::math::half_pi(); - proj_parm.mode = S_POLE; - } else { - proj_parm.p_halfpi = geometry::math::half_pi(); - proj_parm.mode = N_POLE; - } - else { - if (fabs(par.phi0) < EPS) - proj_parm.mode = EQUIT; - else { - proj_parm.mode = OBLIQ; - proj_parm.sinph0 = sin(par.phi0); - proj_parm.cosph0 = cos(par.phi0); - } - } - par.es = 0.; - } - - }} // namespace detail::airy - #endif // doxygen - - /*! - \brief Airy projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Miscellaneous - - Spheroid - - no inverse - \par Projection parameters - - no_cut: Do not cut at hemisphere limit (boolean) - - lat_b (degrees) - \par Example - \image html ex_airy.gif - */ - template - struct airy_spheroid : public detail::airy::base_airy_spheroid - { - inline airy_spheroid(const Parameters& par) : detail::airy::base_airy_spheroid(par) - { - detail::airy::setup_airy(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class airy_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void airy_init(detail::base_factory& factory) - { - factory.add_to_factory("airy", new airy_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_AIRY_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/aitoff.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/aitoff.hpp deleted file mode 100644 index f784f49db7..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/aitoff.hpp +++ /dev/null @@ -1,300 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_AITOFF_HPP -#define BOOST_GEOMETRY_PROJECTIONS_AITOFF_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Purpose: Implementation of the aitoff (Aitoff) and wintri (Winkel Tripel) -// projections. -// Author: Gerald Evenden -// Copyright (c) 1995, Gerald Evenden - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace aitoff - { - - struct par_aitoff - { - double cosphi1; - int mode; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_aitoff_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_aitoff m_proj_parm; - - inline base_aitoff_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double c, d; - - if((d = acos(cos(lp_lat) * cos(c = 0.5 * lp_lon)))) {/* basic Aitoff */ - xy_x = 2. * d * cos(lp_lat) * sin(c) * (xy_y = 1. / sin(d)); - xy_y *= d * sin(lp_lat); - } else - xy_x = xy_y = 0.; - if (this->m_proj_parm.mode) { /* Winkel Tripel */ - xy_x = (xy_x + lp_lon * this->m_proj_parm.cosphi1) * 0.5; - xy_y = (xy_y + lp_lat) * 0.5; - } - } - /*********************************************************************************** - * - * Inverse functions added by Drazen Tutic and Lovro Gradiser based on paper: - * - * I.Özbug Biklirici and Cengizhan Ipbüker. A General Algorithm for the Inverse - * Transformation of Map Projections Using Jacobian Matrices. In Proceedings of the - * Third International Symposium Mathematical & Computational Applications, - * pages 175{182, Turkey, September 2002. - * - * Expected accuracy is defined by EPSILON = 1e-12. Should be appropriate for - * most applications of Aitoff and Winkel Tripel projections. - * - * Longitudes of 180W and 180E can be mixed in solution obtained. - * - * Inverse for Aitoff projection in poles is undefined, longitude value of 0 is assumed. - * - * Contact : dtutic@geof.hr - * Date: 2015-02-16 - * - ************************************************************************************/ - - // INVERSE(s_inverse) sphere - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - int iter, MAXITER = 10, round = 0, MAXROUND = 20; - double EPSILON = 1e-12, D, C, f1, f2, f1p, f1l, f2p, f2l, dp, dl, sl, sp, cp, cl, x, y; - - if ((fabs(xy_x) < EPSILON) && (fabs(xy_y) < EPSILON )) { lp_lat = 0.; lp_lon = 0.; return; } - - /* intial values for Newton-Raphson method */ - lp_lat = xy_y; lp_lon = xy_x; - do { - iter = 0; - do { - sl = sin(lp_lon * 0.5); cl = cos(lp_lon * 0.5); - sp = sin(lp_lat); cp = cos(lp_lat); - D = cp * cl; - C = 1. - D * D; - D = acos(D) / pow(C, 1.5); - f1 = 2. * D * C * cp * sl; - f2 = D * C * sp; - f1p = 2.* (sl * cl * sp * cp / C - D * sp * sl); - f1l = cp * cp * sl * sl / C + D * cp * cl * sp * sp; - f2p = sp * sp * cl / C + D * sl * sl * cp; - f2l = 0.5 * (sp * cp * sl / C - D * sp * cp * cp * sl * cl); - if (this->m_proj_parm.mode) { /* Winkel Tripel */ - f1 = 0.5 * (f1 + lp_lon * this->m_proj_parm.cosphi1); - f2 = 0.5 * (f2 + lp_lat); - f1p *= 0.5; - f1l = 0.5 * (f1l + this->m_proj_parm.cosphi1); - f2p = 0.5 * (f2p + 1.); - f2l *= 0.5; - } - f1 -= xy_x; f2 -= xy_y; - dl = (f2 * f1p - f1 * f2p) / (dp = f1p * f2l - f2p * f1l); - dp = (f1 * f2l - f2 * f1l) / dp; - while (dl > geometry::math::pi()) dl -= geometry::math::pi(); /* set to interval [-geometry::math::pi(), geometry::math::pi()] */ - while (dl < -geometry::math::pi()) dl += geometry::math::pi(); /* set to interval [-geometry::math::pi(), geometry::math::pi()] */ - lp_lat -= dp; lp_lon -= dl; - } while ((fabs(dp) > EPSILON || fabs(dl) > EPSILON) && (iter++ < MAXITER)); - if (lp_lat > geometry::math::two_pi()) lp_lat -= 2.*(lp_lat-geometry::math::two_pi()); /* correct if symmetrical solution for Aitoff */ - if (lp_lat < -geometry::math::two_pi()) lp_lat -= 2.*(lp_lat+geometry::math::two_pi()); /* correct if symmetrical solution for Aitoff */ - if ((fabs(fabs(lp_lat) - geometry::math::two_pi()) < EPSILON) && (!this->m_proj_parm.mode)) lp_lon = 0.; /* if pole in Aitoff, return longitude of 0 */ - - /* calculate x,y coordinates with solution obtained */ - if((D = acos(cos(lp_lat) * cos(C = 0.5 * lp_lon)))) {/* Aitoff */ - x = 2. * D * cos(lp_lat) * sin(C) * (y = 1. / sin(D)); - y *= D * sin(lp_lat); - } else - x = y = 0.; - if (this->m_proj_parm.mode) { /* Winkel Tripel */ - x = (x + lp_lon * this->m_proj_parm.cosphi1) * 0.5; - y = (y + lp_lat) * 0.5; - } - /* if too far from given values of x,y, repeat with better approximation of phi,lam */ - } while (((fabs(xy_x-x) > EPSILON) || (fabs(xy_y-y) > EPSILON)) && (round++ < MAXROUND)); - - if (iter == MAXITER && round == MAXROUND) fprintf(stderr, "Warning: Accuracy of 1e-12 not reached. Last increments: dlat=%e and dlon=%e\n", dp, dl); - } - - static inline std::string get_name() - { - return "aitoff_spheroid"; - } - - }; - - template - void setup(Parameters& par, par_aitoff& proj_parm) - { - boost::ignore_unused(proj_parm); - par.es = 0.; - } - - - // Aitoff - template - void setup_aitoff(Parameters& par, par_aitoff& proj_parm) - { - proj_parm.mode = 0; - setup(par, proj_parm); - } - - // Winkel Tripel - template - void setup_wintri(Parameters& par, par_aitoff& proj_parm) - { - proj_parm.mode = 1; - if (pj_param(par.params, "tlat_1").i) - { - if ((proj_parm.cosphi1 = cos(pj_param(par.params, "rlat_1").f)) == 0.) - throw proj_exception(-22); - } - else /* 50d28' or acos(2/pi) */ - proj_parm.cosphi1 = 0.636619772367581343; - setup(par, proj_parm); - } - - }} // namespace detail::aitoff - #endif // doxygen - - /*! - \brief Aitoff projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Miscellaneous - - Spheroid - \par Example - \image html ex_aitoff.gif - */ - template - struct aitoff_spheroid : public detail::aitoff::base_aitoff_spheroid - { - inline aitoff_spheroid(const Parameters& par) : detail::aitoff::base_aitoff_spheroid(par) - { - detail::aitoff::setup_aitoff(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Winkel Tripel projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Miscellaneous - - Spheroid - \par Projection parameters - - lat_1: Latitude of first standard parallel (degrees) - \par Example - \image html ex_wintri.gif - */ - template - struct wintri_spheroid : public detail::aitoff::base_aitoff_spheroid - { - inline wintri_spheroid(const Parameters& par) : detail::aitoff::base_aitoff_spheroid(par) - { - detail::aitoff::setup_wintri(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class aitoff_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class wintri_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void aitoff_init(detail::base_factory& factory) - { - factory.add_to_factory("aitoff", new aitoff_entry); - factory.add_to_factory("wintri", new wintri_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_AITOFF_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/august.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/august.hpp deleted file mode 100644 index 081729675d..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/august.hpp +++ /dev/null @@ -1,148 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_AUGUST_HPP -#define BOOST_GEOMETRY_PROJECTIONS_AUGUST_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace august - { - - static const double M = 1.333333333333333; - - // template class, using CRTP to implement forward/inverse - template - struct base_august_spheroid : public base_t_f, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_august_spheroid(const Parameters& par) - : base_t_f, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double t, c1, c, x1, x12, y1, y12; - - t = tan(.5 * lp_lat); - c1 = sqrt(1. - t * t); - c = 1. + c1 * cos(lp_lon *= .5); - x1 = sin(lp_lon) * c1 / c; - y1 = t / c; - xy_x = M * x1 * (3. + (x12 = x1 * x1) - 3. * (y12 = y1 * y1)); - xy_y = M * y1 * (3. + 3. * x12 - y12); - } - - static inline std::string get_name() - { - return "august_spheroid"; - } - - }; - - // August Epicycloidal - template - void setup_august(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::august - #endif // doxygen - - /*! - \brief August Epicycloidal projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Miscellaneous - - Spheroid - - no inverse - \par Example - \image html ex_august.gif - */ - template - struct august_spheroid : public detail::august::base_august_spheroid - { - inline august_spheroid(const Parameters& par) : detail::august::base_august_spheroid(par) - { - detail::august::setup_august(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class august_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void august_init(detail::base_factory& factory) - { - factory.add_to_factory("august", new august_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_AUGUST_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/bacon.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/bacon.hpp deleted file mode 100644 index b0d75dcab7..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/bacon.hpp +++ /dev/null @@ -1,247 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_BACON_HPP -#define BOOST_GEOMETRY_PROJECTIONS_BACON_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace bacon - { - - static const double HLFPI2 = 2.46740110027233965467; - static const double EPS = 1e-10; - - struct par_bacon - { - int bacn; - int ortl; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_bacon_spheroid : public base_t_f, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_bacon m_proj_parm; - - inline base_bacon_spheroid(const Parameters& par) - : base_t_f, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double ax, f; - - xy_y = this->m_proj_parm.bacn ? geometry::math::half_pi() * sin(lp_lat) : lp_lat; - if ((ax = fabs(lp_lon)) >= EPS) { - if (this->m_proj_parm.ortl && ax >= geometry::math::half_pi()) - xy_x = sqrt(HLFPI2 - lp_lat * lp_lat + EPS) + ax - geometry::math::half_pi(); - else { - f = 0.5 * (HLFPI2 / ax + ax); - xy_x = ax - f + sqrt(f * f - xy_y * xy_y); - } - if (lp_lon < 0.) xy_x = - xy_x; - } else - xy_x = 0.; - } - - static inline std::string get_name() - { - return "bacon_spheroid"; - } - - }; - - // Apian Globular I - template - void setup_apian(Parameters& par, par_bacon& proj_parm) - { - proj_parm.bacn = proj_parm.ortl = 0; - par.es = 0.; - } - - // Ortelius Oval - template - void setup_ortel(Parameters& par, par_bacon& proj_parm) - { - proj_parm.bacn = 0; - proj_parm.ortl = 1; - par.es = 0.; - } - - // Bacon Globular - template - void setup_bacon(Parameters& par, par_bacon& proj_parm) - { - proj_parm.bacn = 1; - proj_parm.ortl = 0; - par.es = 0.; - } - - }} // namespace detail::bacon - #endif // doxygen - - /*! - \brief Apian Globular I projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Miscellaneous - - Spheroid - - no inverse - \par Example - \image html ex_apian.gif - */ - template - struct apian_spheroid : public detail::bacon::base_bacon_spheroid - { - inline apian_spheroid(const Parameters& par) : detail::bacon::base_bacon_spheroid(par) - { - detail::bacon::setup_apian(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Ortelius Oval projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Miscellaneous - - Spheroid - - no inverse - \par Example - \image html ex_ortel.gif - */ - template - struct ortel_spheroid : public detail::bacon::base_bacon_spheroid - { - inline ortel_spheroid(const Parameters& par) : detail::bacon::base_bacon_spheroid(par) - { - detail::bacon::setup_ortel(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Bacon Globular projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Miscellaneous - - Spheroid - - no inverse - \par Example - \image html ex_bacon.gif - */ - template - struct bacon_spheroid : public detail::bacon::base_bacon_spheroid - { - inline bacon_spheroid(const Parameters& par) : detail::bacon::base_bacon_spheroid(par) - { - detail::bacon::setup_bacon(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class apian_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class ortel_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class bacon_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void bacon_init(detail::base_factory& factory) - { - factory.add_to_factory("apian", new apian_entry); - factory.add_to_factory("ortel", new ortel_entry); - factory.add_to_factory("bacon", new bacon_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_BACON_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/bipc.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/bipc.hpp deleted file mode 100644 index 97920f1a86..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/bipc.hpp +++ /dev/null @@ -1,268 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_BIPC_HPP -#define BOOST_GEOMETRY_PROJECTIONS_BIPC_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace bipc - { - - static const double EPS = 1e-10; - static const double EPS10 = 1e-10; - static const double ONEEPS = 1.000000001; - static const int NITER = 10; - static const double lamB = -.34894976726250681539; - static const double n = .63055844881274687180; - static const double F = 1.89724742567461030582; - static const double Azab = .81650043674686363166; - static const double Azba = 1.82261843856185925133; - static const double T = 1.27246578267089012270; - static const double rhoc = 1.20709121521568721927; - static const double cAzc = .69691523038678375519; - static const double sAzc = .71715351331143607555; - static const double C45 = .70710678118654752469; - static const double S45 = .70710678118654752410; - static const double C20 = .93969262078590838411; - static const double S20 = -.34202014332566873287; - static const double R110 = 1.91986217719376253360; - static const double R104 = 1.81514242207410275904; - - struct par_bipc - { - int noskew; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_bipc_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_bipc m_proj_parm; - - inline base_bipc_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double cphi, sphi, tphi, t, al, Az, z, Av, cdlam, sdlam, r; - int tag; - - cphi = cos(lp_lat); - sphi = sin(lp_lat); - cdlam = cos(sdlam = lamB - lp_lon); - sdlam = sin(sdlam); - if (fabs(fabs(lp_lat) - geometry::math::half_pi()) < EPS10) { - Az = lp_lat < 0. ? geometry::math::pi() : 0.; - tphi = HUGE_VAL; - } else { - tphi = sphi / cphi; - Az = atan2(sdlam , C45 * (tphi - cdlam)); - } - if( (tag = (Az > Azba)) ) { - cdlam = cos(sdlam = lp_lon + R110); - sdlam = sin(sdlam); - z = S20 * sphi + C20 * cphi * cdlam; - if (fabs(z) > 1.) { - if (fabs(z) > ONEEPS) throw proj_exception(); - else z = z < 0. ? -1. : 1.; - } else - z = acos(z); - if (tphi != HUGE_VAL) - Az = atan2(sdlam, (C20 * tphi - S20 * cdlam)); - Av = Azab; - xy_y = rhoc; - } else { - z = S45 * (sphi + cphi * cdlam); - if (fabs(z) > 1.) { - if (fabs(z) > ONEEPS) throw proj_exception(); - else z = z < 0. ? -1. : 1.; - } else - z = acos(z); - Av = Azba; - xy_y = -rhoc; - } - if (z < 0.) throw proj_exception();; - r = F * (t = pow(tan(.5 * z), n)); - if ((al = .5 * (R104 - z)) < 0.) throw proj_exception();; - al = (t + pow(al, n)) / T; - if (fabs(al) > 1.) { - if (fabs(al) > ONEEPS) throw proj_exception(); - else al = al < 0. ? -1. : 1.; - } else - al = acos(al); - if (fabs(t = n * (Av - Az)) < al) - r /= cos(al + (tag ? t : -t)); - xy_x = r * sin(t); - xy_y += (tag ? -r : r) * cos(t); - if (this->m_proj_parm.noskew) { - t = xy_x; - xy_x = -xy_x * cAzc - xy_y * sAzc; - xy_y = -xy_y * cAzc + t * sAzc; - } - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double t, r, rp, rl, al, z, fAz, Az, s, c, Av; - int neg, i; - - if (this->m_proj_parm.noskew) { - t = xy_x; - xy_x = -xy_x * cAzc + xy_y * sAzc; - xy_y = -xy_y * cAzc - t * sAzc; - } - if( (neg = (xy_x < 0.)) ) { - xy_y = rhoc - xy_y; - s = S20; - c = C20; - Av = Azab; - } else { - xy_y += rhoc; - s = S45; - c = C45; - Av = Azba; - } - rl = rp = r = boost::math::hypot(xy_x, xy_y); - fAz = fabs(Az = atan2(xy_x, xy_y)); - for (i = NITER; i ; --i) { - z = 2. * atan(pow(r / F,1 / n)); - al = acos((pow(tan(.5 * z), n) + - pow(tan(.5 * (R104 - z)), n)) / T); - if (fAz < al) - r = rp * cos(al + (neg ? Az : -Az)); - if (fabs(rl - r) < EPS) - break; - rl = r; - } - if (! i) throw proj_exception();; - Az = Av - Az / n; - lp_lat = asin(s * cos(z) + c * sin(z) * cos(Az)); - lp_lon = atan2(sin(Az), c / tan(z) - s * cos(Az)); - if (neg) - lp_lon -= R110; - else - lp_lon = lamB - lp_lon; - } - - static inline std::string get_name() - { - return "bipc_spheroid"; - } - - }; - - // Bipolar conic of western hemisphere - template - void setup_bipc(Parameters& par, par_bipc& proj_parm) - { - proj_parm.noskew = pj_param(par.params, "bns").i; - par.es = 0.; - } - - }} // namespace detail::bipc - #endif // doxygen - - /*! - \brief Bipolar conic of western hemisphere projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Conic - - Spheroid - \par Projection parameters - - ns (boolean) - \par Example - \image html ex_bipc.gif - */ - template - struct bipc_spheroid : public detail::bipc::base_bipc_spheroid - { - inline bipc_spheroid(const Parameters& par) : detail::bipc::base_bipc_spheroid(par) - { - detail::bipc::setup_bipc(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class bipc_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void bipc_init(detail::base_factory& factory) - { - factory.add_to_factory("bipc", new bipc_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_BIPC_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/boggs.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/boggs.hpp deleted file mode 100644 index 2c0593afca..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/boggs.hpp +++ /dev/null @@ -1,164 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_BOGGS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_BOGGS_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace boggs - { - - static const int NITER = 20; - static const double EPS = 1e-7; - static const double ONETOL = 1.000001; - static const double FXC = 2.00276; - static const double FXC2 = 1.11072; - static const double FYC = 0.49931; - static const double FYC2 = 1.41421356237309504880; - - // template class, using CRTP to implement forward/inverse - template - struct base_boggs_spheroid : public base_t_f, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_boggs_spheroid(const Parameters& par) - : base_t_f, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double theta, th1, c; - int i; - - theta = lp_lat; - if (fabs(fabs(lp_lat) - geometry::math::half_pi()) < EPS) - xy_x = 0.; - else { - c = sin(theta) * geometry::math::pi(); - for (i = NITER; i; --i) { - theta -= th1 = (theta + sin(theta) - c) / - (1. + cos(theta)); - if (fabs(th1) < EPS) break; - } - theta *= 0.5; - xy_x = FXC * lp_lon / (1. / cos(lp_lat) + FXC2 / cos(theta)); - } - xy_y = FYC * (lp_lat + FYC2 * sin(theta)); - } - - static inline std::string get_name() - { - return "boggs_spheroid"; - } - - }; - - // Boggs Eumorphic - template - void setup_boggs(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::boggs - #endif // doxygen - - /*! - \brief Boggs Eumorphic projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - no inverse - - Spheroid - \par Example - \image html ex_boggs.gif - */ - template - struct boggs_spheroid : public detail::boggs::base_boggs_spheroid - { - inline boggs_spheroid(const Parameters& par) : detail::boggs::base_boggs_spheroid(par) - { - detail::boggs::setup_boggs(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class boggs_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void boggs_init(detail::base_factory& factory) - { - factory.add_to_factory("boggs", new boggs_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_BOGGS_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/bonne.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/bonne.hpp deleted file mode 100644 index 387ee73f9c..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/bonne.hpp +++ /dev/null @@ -1,270 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_BONNE_HPP -#define BOOST_GEOMETRY_PROJECTIONS_BONNE_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include - -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace bonne - { - - static const double EPS10 = 1e-10; - - struct par_bonne - { - double phi1; - double cphi1; - double am1; - double m1; - double en[EN_SIZE]; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_bonne_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_bonne m_proj_parm; - - inline base_bonne_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_forward) ellipsoid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double rh, E, c; - - rh = this->m_proj_parm.am1 + this->m_proj_parm.m1 - pj_mlfn(lp_lat, E = sin(lp_lat), c = cos(lp_lat), this->m_proj_parm.en); - E = c * lp_lon / (rh * sqrt(1. - this->m_par.es * E * E)); - xy_x = rh * sin(E); - xy_y = this->m_proj_parm.am1 - rh * cos(E); - } - - // INVERSE(e_inverse) ellipsoid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double s, rh; - - rh = boost::math::hypot(xy_x, xy_y = this->m_proj_parm.am1 - xy_y); - lp_lat = pj_inv_mlfn(this->m_proj_parm.am1 + this->m_proj_parm.m1 - rh, this->m_par.es, this->m_proj_parm.en); - if ((s = fabs(lp_lat)) < geometry::math::half_pi()) { - s = sin(lp_lat); - lp_lon = rh * atan2(xy_x, xy_y) * - sqrt(1. - this->m_par.es * s * s) / cos(lp_lat); - } else if (fabs(s - geometry::math::half_pi()) <= EPS10) - lp_lon = 0.; - else throw proj_exception();; - } - - static inline std::string get_name() - { - return "bonne_ellipsoid"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_bonne_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_bonne m_proj_parm; - - inline base_bonne_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double E, rh; - - rh = this->m_proj_parm.cphi1 + this->m_proj_parm.phi1 - lp_lat; - if (fabs(rh) > EPS10) { - xy_x = rh * sin(E = lp_lon * cos(lp_lat) / rh); - xy_y = this->m_proj_parm.cphi1 - rh * cos(E); - } else - xy_x = xy_y = 0.; - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double rh; - - rh = boost::math::hypot(xy_x, xy_y = this->m_proj_parm.cphi1 - xy_y); - lp_lat = this->m_proj_parm.cphi1 + this->m_proj_parm.phi1 - rh; - if (fabs(lp_lat) > geometry::math::half_pi()) throw proj_exception();; - if (fabs(fabs(lp_lat) - geometry::math::half_pi()) <= EPS10) - lp_lon = 0.; - else - lp_lon = rh * atan2(xy_x, xy_y) / cos(lp_lat); - } - - static inline std::string get_name() - { - return "bonne_spheroid"; - } - - }; - - // Bonne (Werner lat_1=90) - template - void setup_bonne(Parameters& par, par_bonne& proj_parm) - { - double c; - - proj_parm.phi1 = pj_param(par.params, "rlat_1").f; - if (fabs(proj_parm.phi1) < EPS10) throw proj_exception(-23); - if (par.es) { - pj_enfn(par.es, proj_parm.en); - proj_parm.m1 = pj_mlfn(proj_parm.phi1, proj_parm.am1 = sin(proj_parm.phi1), - c = cos(proj_parm.phi1), proj_parm.en); - proj_parm.am1 = c / (sqrt(1. - par.es * proj_parm.am1 * proj_parm.am1) * proj_parm.am1); - } else { - if (fabs(proj_parm.phi1) + EPS10 >= geometry::math::half_pi()) - proj_parm.cphi1 = 0.; - else - proj_parm.cphi1 = 1. / tan(proj_parm.phi1); - } - } - - }} // namespace detail::bonne - #endif // doxygen - - /*! - \brief Bonne (Werner lat_1=90) projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Conic - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_1: Latitude of first standard parallel (degrees) - \par Example - \image html ex_bonne.gif - */ - template - struct bonne_ellipsoid : public detail::bonne::base_bonne_ellipsoid - { - inline bonne_ellipsoid(const Parameters& par) : detail::bonne::base_bonne_ellipsoid(par) - { - detail::bonne::setup_bonne(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Bonne (Werner lat_1=90) projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Conic - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_1: Latitude of first standard parallel (degrees) - \par Example - \image html ex_bonne.gif - */ - template - struct bonne_spheroid : public detail::bonne::base_bonne_spheroid - { - inline bonne_spheroid(const Parameters& par) : detail::bonne::base_bonne_spheroid(par) - { - detail::bonne::setup_bonne(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class bonne_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - if (par.es) - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - else - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void bonne_init(detail::base_factory& factory) - { - factory.add_to_factory("bonne", new bonne_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_BONNE_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/cass.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/cass.hpp deleted file mode 100644 index f0a1c5a35e..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/cass.hpp +++ /dev/null @@ -1,477 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_CASS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_CASS_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include -#include - -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace cass - { - - static const double EPS10 = 1e-10; - static const double C1 = .16666666666666666666; - static const double C2 = .00833333333333333333; - static const double C3 = .04166666666666666666; - static const double C4 = .33333333333333333333; - static const double C5 = .06666666666666666666; - - struct par_cass - { - double m0; - double en[EN_SIZE]; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_cass_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_cass m_proj_parm; - - inline base_cass_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_forward) ellipsoid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double n = sin(lp_lat); - double c = cos(lp_lat); - xy_y = pj_mlfn(lp_lat, n, c, this->m_proj_parm.en); - n = 1./sqrt(1. - this->m_par.es * n * n); - double tn = tan(lp_lat); double t = tn * tn; - double a1 = lp_lon * c; - c *= this->m_par.es * c / (1 - this->m_par.es); - double a2 = a1 * a1; - xy_x = n * a1 * (1. - a2 * t * - (C1 - (8. - t + 8. * c) * a2 * C2)); - xy_y -= this->m_proj_parm.m0 - n * tn * a2 * - (.5 + (5. - t + 6. * c) * a2 * C3); - } - - // INVERSE(e_inverse) ellipsoid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double ph1; - - ph1 = pj_inv_mlfn(this->m_proj_parm.m0 + xy_y, this->m_par.es, this->m_proj_parm.en); - double tn = tan(ph1); double t = tn * tn; - double n = sin(ph1); - double r = 1. / (1. - this->m_par.es * n * n); - n = sqrt(r); - r *= (1. - this->m_par.es) * n; - double dd = xy_x / n; - double d2 = dd * dd; - lp_lat = ph1 - (n * tn / r) * d2 * - (.5 - (1. + 3. * t) * d2 * C3); - lp_lon = dd * (1. + t * d2 * - (-C4 + (1. + 3. * t) * d2 * C5)) / cos(ph1); - } - - static inline std::string get_name() - { - return "cass_ellipsoid"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_cass_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_cass m_proj_parm; - - inline base_cass_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_x = asin(cos(lp_lat) * sin(lp_lon)); - xy_y = atan2(tan(lp_lat) , cos(lp_lon)) - this->m_par.phi0; - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double dd = xy_y + this->m_par.phi0; - lp_lat = asin(sin(dd) * cos(xy_x)); - lp_lon = atan2(tan(xy_x), cos(dd)); - } - - static inline std::string get_name() - { - return "cass_spheroid"; - } - - }; - - // Cassini - template - void setup_cass(Parameters& par, par_cass& proj_parm) - { - if (par.es) { - if (!pj_enfn(par.es, proj_parm.en)) throw proj_exception(0); - proj_parm.m0 = pj_mlfn(par.phi0, sin(par.phi0), cos(par.phi0), proj_parm.en); - } else { - } - } - - }} // namespace detail::cass - #endif // doxygen - - /*! - \brief Cassini projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Cylindrical - - Spheroid - - Ellipsoid - \par Example - \image html ex_cass.gif - */ - template - struct cass_ellipsoid : public detail::cass::base_cass_ellipsoid - { - inline cass_ellipsoid(const Parameters& par) : detail::cass::base_cass_ellipsoid(par) - { - detail::cass::setup_cass(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Cassini projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Cylindrical - - Spheroid - - Ellipsoid - \par Example - \image html ex_cass.gif - */ - template - struct cass_spheroid : public detail::cass::base_cass_spheroid - { - inline cass_spheroid(const Parameters& par) : detail::cass::base_cass_spheroid(par) - { - detail::cass::setup_cass(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class cass_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - if (par.es) - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - else - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void cass_init(detail::base_factory& factory) - { - factory.add_to_factory("cass", new cass_entry); - } - - } // namespace detail - // Create EPSG specializations - // (Proof of Concept, only for some) - - template - struct epsg_traits<2066, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=11.25217861111111 +lon_0=-60.68600888888889 +x_0=37718.66159325 +y_0=36209.91512952 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164"; - } - }; - - - template - struct epsg_traits<2099, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=25.38236111111111 +lon_0=50.76138888888889 +x_0=100000 +y_0=100000 +ellps=helmert +units=m"; - } - }; - - - template - struct epsg_traits<2314, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392052001 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654"; - } - }; - - - template - struct epsg_traits<3068, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=52.41864827777778 +lon_0=13.62720366666667 +x_0=40000 +y_0=10000 +ellps=bessel +datum=potsdam +units=m"; - } - }; - - - template - struct epsg_traits<3140, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=-18 +lon_0=178 +x_0=109435.392 +y_0=141622.272 +a=6378306.3696 +b=6356571.996 +towgs84=51,391,-36,0,0,0,0 +to_meter=0.201168"; - } - }; - - - template - struct epsg_traits<3366, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +units=m"; - } - }; - - - template - struct epsg_traits<3377, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=2.121679744444445 +lon_0=103.4279362361111 +x_0=-14810.562 +y_0=8758.32 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3378, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=2.682347636111111 +lon_0=101.9749050416667 +x_0=3673.785 +y_0=-4240.573 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3379, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=3.769388088888889 +lon_0=102.3682989833333 +x_0=-7368.228 +y_0=6485.858 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3380, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=3.68464905 +lon_0=101.3891079138889 +x_0=-34836.161 +y_0=56464.049 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3381, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=4.9762852 +lon_0=103.070275625 +x_0=19594.245 +y_0=3371.895 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3382, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=5.421517541666667 +lon_0=100.3443769638889 +x_0=-23.414 +y_0=62.283 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3383, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=5.964672713888889 +lon_0=100.6363711111111 +x_0=0 +y_0=0 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3384, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=4.859063022222222 +lon_0=100.8154105861111 +x_0=-1.769 +y_0=133454.779 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3385, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=5.972543658333334 +lon_0=102.2952416694444 +x_0=13227.851 +y_0=8739.894 +ellps=GRS80 +units=m"; - } - }; - - - template - struct epsg_traits<3407, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=22.31213333333334 +lon_0=114.1785555555556 +x_0=40243.57775604237 +y_0=19069.93351512578 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.3047972654"; - } - }; - - - template - struct epsg_traits<24500, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=1.287646666666667 +lon_0=103.8530022222222 +x_0=30000 +y_0=30000 +a=6377304.063 +b=6356103.038993155 +towgs84=-11,851,5,0,0,0,0 +units=m"; - } - }; - - - template - struct epsg_traits<28191, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m"; - } - }; - - - template - struct epsg_traits<28193, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=31.73409694444445 +lon_0=35.21208055555556 +x_0=170251.555 +y_0=1126867.909 +a=6378300.789 +b=6356566.435 +towgs84=-275.722,94.7824,340.894,-8.001,-4.42,-11.821,1 +units=m"; - } - }; - - - template - struct epsg_traits<30200, LatLongRadian, Cartesian, Parameters> - { - typedef cass_ellipsoid type; - static inline std::string par() - { - return "+proj=cass +lat_0=10.44166666666667 +lon_0=-61.33333333333334 +x_0=86501.46392051999 +y_0=65379.0134283 +a=6378293.645208759 +b=6356617.987679838 +to_meter=0.201166195164"; - } - }; - - - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_CASS_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/cc.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/cc.hpp deleted file mode 100644 index f17c1b644c..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/cc.hpp +++ /dev/null @@ -1,157 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_CC_HPP -#define BOOST_GEOMETRY_PROJECTIONS_CC_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace cc - { - - static const double EPS10 = 1.e-10; - - struct par_cc - { - double ap; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_cc_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_cc m_proj_parm; - - inline base_cc_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - if (fabs(fabs(lp_lat) - geometry::math::half_pi()) <= EPS10) throw proj_exception();; - xy_x = lp_lon; - xy_y = tan(lp_lat); - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lat = atan(xy_y); - lp_lon = xy_x; - } - - static inline std::string get_name() - { - return "cc_spheroid"; - } - - }; - - // Central Cylindrical - template - void setup_cc(Parameters& par, par_cc& proj_parm) - { - par.es = 0.; - } - - }} // namespace detail::cc - #endif // doxygen - - /*! - \brief Central Cylindrical projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Cylindrical - - Spheroid - \par Example - \image html ex_cc.gif - */ - template - struct cc_spheroid : public detail::cc::base_cc_spheroid - { - inline cc_spheroid(const Parameters& par) : detail::cc::base_cc_spheroid(par) - { - detail::cc::setup_cc(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class cc_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void cc_init(detail::base_factory& factory) - { - factory.add_to_factory("cc", new cc_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_CC_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/cea.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/cea.hpp deleted file mode 100644 index 02037ba5d9..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/cea.hpp +++ /dev/null @@ -1,246 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_CEA_HPP -#define BOOST_GEOMETRY_PROJECTIONS_CEA_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace cea - { - - static const double EPS = 1e-10; - - struct par_cea - { - double qp; - double apa[APA_SIZE]; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_cea_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_cea m_proj_parm; - - inline base_cea_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_x = this->m_par.k0 * lp_lon; - xy_y = .5 * pj_qsfn(sin(lp_lat), this->m_par.e, this->m_par.one_es) / this->m_par.k0; - } - - // INVERSE(e_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lat = pj_authlat(asin( 2. * xy_y * this->m_par.k0 / this->m_proj_parm.qp), this->m_proj_parm.apa); - lp_lon = xy_x / this->m_par.k0; - } - - static inline std::string get_name() - { - return "cea_ellipsoid"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_cea_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_cea m_proj_parm; - - inline base_cea_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_x = this->m_par.k0 * lp_lon; - xy_y = sin(lp_lat) / this->m_par.k0; - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double t; - - if ((t = fabs(xy_y *= this->m_par.k0)) - EPS <= 1.) { - if (t >= 1.) - lp_lat = xy_y < 0. ? -geometry::math::half_pi() : geometry::math::half_pi(); - else - lp_lat = asin(xy_y); - lp_lon = xy_x / this->m_par.k0; - } else throw proj_exception();; - } - - static inline std::string get_name() - { - return "cea_spheroid"; - } - - }; - - // Equal Area Cylindrical - template - void setup_cea(Parameters& par, par_cea& proj_parm) - { - double t = 0; - - if (pj_param(par.params, "tlat_ts").i && - (par.k0 = cos(t = pj_param(par.params, "rlat_ts").f)) < 0.) - throw proj_exception(-24); - if (par.es) { - t = sin(t); - par.k0 /= sqrt(1. - par.es * t * t); - par.e = sqrt(par.es); - if (!pj_authset(par.es, proj_parm.apa)) throw proj_exception(0); - proj_parm.qp = pj_qsfn(1., par.e, par.one_es); - } else { - } - } - - }} // namespace detail::cea - #endif // doxygen - - /*! - \brief Equal Area Cylindrical projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Cylindrical - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_ts: Latitude of true scale (degrees) - \par Example - \image html ex_cea.gif - */ - template - struct cea_ellipsoid : public detail::cea::base_cea_ellipsoid - { - inline cea_ellipsoid(const Parameters& par) : detail::cea::base_cea_ellipsoid(par) - { - detail::cea::setup_cea(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Equal Area Cylindrical projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Cylindrical - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_ts: Latitude of true scale (degrees) - \par Example - \image html ex_cea.gif - */ - template - struct cea_spheroid : public detail::cea::base_cea_spheroid - { - inline cea_spheroid(const Parameters& par) : detail::cea::base_cea_spheroid(par) - { - detail::cea::setup_cea(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class cea_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - if (par.es) - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - else - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void cea_init(detail::base_factory& factory) - { - factory.add_to_factory("cea", new cea_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_CEA_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/chamb.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/chamb.hpp deleted file mode 100644 index 8b11fde28c..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/chamb.hpp +++ /dev/null @@ -1,257 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_CHAMB_HPP -#define BOOST_GEOMETRY_PROJECTIONS_CHAMB_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include - -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace chamb - { - - static const double THIRD = 0.333333333333333333; - static const double TOL = 1e-9; - - // specific for 'chamb' - struct VECT { double r, Az; }; - struct XY { double x, y; }; - - struct par_chamb - { - struct { /* control point data */ - double phi, lam; - double cosphi, sinphi; - VECT v; - XY p; - double Az; - } c[3]; - XY p; - double beta_0, beta_1, beta_2; - }; - - static VECT /* distance and azimuth from point 1 to point 2 */ - vect(double dphi, double c1, double s1, double c2, double s2, double dlam) { - VECT v; - double cdl, dp, dl; - - cdl = cos(dlam); - if (fabs(dphi) > 1. || fabs(dlam) > 1.) - v.r = aacos(s1 * s2 + c1 * c2 * cdl); - else { /* more accurate for smaller distances */ - dp = sin(.5 * dphi); - dl = sin(.5 * dlam); - v.r = 2. * aasin(sqrt(dp * dp + c1 * c2 * dl * dl)); - } - if (fabs(v.r) > TOL) - v.Az = atan2(c2 * sin(dlam), c1 * s2 - s1 * c2 * cdl); - else - v.r = v.Az = 0.; - return v; - } - static double /* law of cosines */ - lc(double b,double c,double a) { - return aacos(.5 * (b * b + c * c - a * a) / (b * c)); - } - - // template class, using CRTP to implement forward/inverse - template - struct base_chamb_spheroid : public base_t_f, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_chamb m_proj_parm; - - inline base_chamb_spheroid(const Parameters& par) - : base_t_f, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double sinphi, cosphi, a; - VECT v[3]; - int i, j; - - sinphi = sin(lp_lat); - cosphi = cos(lp_lat); - for (i = 0; i < 3; ++i) { /* dist/azimiths from control */ - v[i] = vect(lp_lat - this->m_proj_parm.c[i].phi, this->m_proj_parm.c[i].cosphi, this->m_proj_parm.c[i].sinphi, - cosphi, sinphi, lp_lon - this->m_proj_parm.c[i].lam); - if ( ! v[i].r) - break; - v[i].Az = adjlon(v[i].Az - this->m_proj_parm.c[i].v.Az); - } - if (i < 3) /* current point at control point */ - { xy_x = this->m_proj_parm.c[i].p.x; xy_y = this->m_proj_parm.c[i].p.y; } - else { /* point mean of intersepts */ - { xy_x = this->m_proj_parm.p.x; xy_y = this->m_proj_parm.p.y; } - for (i = 0; i < 3; ++i) { - j = i == 2 ? 0 : i + 1; - a = lc(this->m_proj_parm.c[i].v.r, v[i].r, v[j].r); - if (v[i].Az < 0.) - a = -a; - if (! i) { /* coord comp unique to each arc */ - xy_x += v[i].r * cos(a); - xy_y -= v[i].r * sin(a); - } else if (i == 1) { - a = this->m_proj_parm.beta_1 - a; - xy_x -= v[i].r * cos(a); - xy_y -= v[i].r * sin(a); - } else { - a = this->m_proj_parm.beta_2 - a; - xy_x += v[i].r * cos(a); - xy_y += v[i].r * sin(a); - } - } - xy_x *= THIRD; /* mean of arc intercepts */ - xy_y *= THIRD; - } - } - - static inline std::string get_name() - { - return "chamb_spheroid"; - } - - }; - - // Chamberlin Trimetric - template - void setup_chamb(Parameters& par, par_chamb& proj_parm) - { - int i, j; - char line[10]; - - for (i = 0; i < 3; ++i) { /* get control point locations */ - (void)sprintf(line, "rlat_%d", i+1); - proj_parm.c[i].phi = pj_param(par.params, line).f; - (void)sprintf(line, "rlon_%d", i+1); - proj_parm.c[i].lam = pj_param(par.params, line).f; - proj_parm.c[i].lam = adjlon(proj_parm.c[i].lam - par.lam0); - proj_parm.c[i].cosphi = cos(proj_parm.c[i].phi); - proj_parm.c[i].sinphi = sin(proj_parm.c[i].phi); - } - for (i = 0; i < 3; ++i) { /* inter ctl pt. distances and azimuths */ - j = i == 2 ? 0 : i + 1; - proj_parm.c[i].v = vect(proj_parm.c[j].phi - proj_parm.c[i].phi, proj_parm.c[i].cosphi, proj_parm.c[i].sinphi, - proj_parm.c[j].cosphi, proj_parm.c[j].sinphi, proj_parm.c[j].lam - proj_parm.c[i].lam); - if (! proj_parm.c[i].v.r) throw proj_exception(-25); - /* co-linearity problem ignored for now */ - } - proj_parm.beta_0 = lc(proj_parm.c[0].v.r, proj_parm.c[2].v.r, proj_parm.c[1].v.r); - proj_parm.beta_1 = lc(proj_parm.c[0].v.r, proj_parm.c[1].v.r, proj_parm.c[2].v.r); - proj_parm.beta_2 = geometry::math::pi() - proj_parm.beta_0; - proj_parm.p.y = 2. * (proj_parm.c[0].p.y = proj_parm.c[1].p.y = proj_parm.c[2].v.r * sin(proj_parm.beta_0)); - proj_parm.c[2].p.y = 0.; - proj_parm.c[0].p.x = - (proj_parm.c[1].p.x = 0.5 * proj_parm.c[0].v.r); - proj_parm.p.x = proj_parm.c[2].p.x = proj_parm.c[0].p.x + proj_parm.c[2].v.r * cos(proj_parm.beta_0); - par.es = 0.; - } - - }} // namespace detail::chamb - #endif // doxygen - - /*! - \brief Chamberlin Trimetric projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Miscellaneous - - Spheroid - - no inverse - \par Projection parameters - - lat_1: Latitude of control point 1 (degrees) - - lon_1: Longitude of control point 1 (degrees) - - lat_2: Latitude of control point 2 (degrees) - - lon_2: Longitude of control point 2 (degrees) - - lat_3: Latitude of control point 3 (degrees) - - lon_3: Longitude of control point 3 (degrees) - \par Example - \image html ex_chamb.gif - */ - template - struct chamb_spheroid : public detail::chamb::base_chamb_spheroid - { - inline chamb_spheroid(const Parameters& par) : detail::chamb::base_chamb_spheroid(par) - { - detail::chamb::setup_chamb(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class chamb_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void chamb_init(detail::base_factory& factory) - { - factory.add_to_factory("chamb", new chamb_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_CHAMB_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/collg.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/collg.hpp deleted file mode 100644 index 0fabaa05b2..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/collg.hpp +++ /dev/null @@ -1,163 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_COLLG_HPP -#define BOOST_GEOMETRY_PROJECTIONS_COLLG_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace collg - { - - static const double FXC = 1.12837916709551257390; - static const double FYC = 1.77245385090551602729; - static const double ONEEPS = 1.0000001; - - // template class, using CRTP to implement forward/inverse - template - struct base_collg_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_collg_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - if ((xy_y = 1. - sin(lp_lat)) <= 0.) - xy_y = 0.; - else - xy_y = sqrt(xy_y); - xy_x = FXC * lp_lon * xy_y; - xy_y = FYC * (1. - xy_y); - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lat = xy_y / FYC - 1.; - if (fabs(lp_lat = 1. - lp_lat * lp_lat) < 1.) - lp_lat = asin(lp_lat); - else if (fabs(lp_lat) > ONEEPS) throw proj_exception(); - else lp_lat = lp_lat < 0. ? -geometry::math::half_pi() : geometry::math::half_pi(); - if ((lp_lon = 1. - sin(lp_lat)) <= 0.) - lp_lon = 0.; - else - lp_lon = xy_x / (FXC * sqrt(lp_lon)); - } - - static inline std::string get_name() - { - return "collg_spheroid"; - } - - }; - - // Collignon - template - void setup_collg(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::collg - #endif // doxygen - - /*! - \brief Collignon projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_collg.gif - */ - template - struct collg_spheroid : public detail::collg::base_collg_spheroid - { - inline collg_spheroid(const Parameters& par) : detail::collg::base_collg_spheroid(par) - { - detail::collg::setup_collg(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class collg_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void collg_init(detail::base_factory& factory) - { - factory.add_to_factory("collg", new collg_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_COLLG_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/crast.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/crast.hpp deleted file mode 100644 index 6298e8d87c..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/crast.hpp +++ /dev/null @@ -1,153 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_CRAST_HPP -#define BOOST_GEOMETRY_PROJECTIONS_CRAST_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace crast - { - - static const double XM = 0.97720502380583984317; - static const double RXM = 1.02332670794648848847; - static const double YM = 3.06998012383946546542; - static const double RYM = 0.32573500793527994772; - static const double THIRD = 0.333333333333333333; - - // template class, using CRTP to implement forward/inverse - template - struct base_crast_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_crast_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - lp_lat *= THIRD; - xy_x = XM * lp_lon * (2. * cos(lp_lat + lp_lat) - 1.); - xy_y = YM * sin(lp_lat); - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lat = 3. * asin(xy_y * RYM); - lp_lon = xy_x * RXM / (2. * cos((lp_lat + lp_lat) * THIRD) - 1); - } - - static inline std::string get_name() - { - return "crast_spheroid"; - } - - }; - - // Craster Parabolic (Putnins P4) - template - void setup_crast(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::crast - #endif // doxygen - - /*! - \brief Craster Parabolic (Putnins P4) projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_crast.gif - */ - template - struct crast_spheroid : public detail::crast::base_crast_spheroid - { - inline crast_spheroid(const Parameters& par) : detail::crast::base_crast_spheroid(par) - { - detail::crast::setup_crast(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class crast_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void crast_init(detail::base_factory& factory) - { - factory.add_to_factory("crast", new crast_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_CRAST_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/denoy.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/denoy.hpp deleted file mode 100644 index e50195151b..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/denoy.hpp +++ /dev/null @@ -1,148 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_DENOY_HPP -#define BOOST_GEOMETRY_PROJECTIONS_DENOY_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace denoy - { - - static const double C0 = 0.95; - static const double C1 = -.08333333333333333333; - static const double C3 = .00166666666666666666; - static const double D1 = 0.9; - static const double D5 = 0.03; - - // template class, using CRTP to implement forward/inverse - template - struct base_denoy_spheroid : public base_t_f, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_denoy_spheroid(const Parameters& par) - : base_t_f, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_y = lp_lat; - xy_x = lp_lon; - lp_lon = fabs(lp_lon); - xy_x *= cos((C0 + lp_lon * (C1 + lp_lon * lp_lon * C3)) * - (lp_lat * (D1 + D5 * lp_lat * lp_lat * lp_lat * lp_lat))); - } - - static inline std::string get_name() - { - return "denoy_spheroid"; - } - - }; - - // Denoyer Semi-Elliptical - template - void setup_denoy(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::denoy - #endif // doxygen - - /*! - \brief Denoyer Semi-Elliptical projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - no inverse - - Spheroid - \par Example - \image html ex_denoy.gif - */ - template - struct denoy_spheroid : public detail::denoy::base_denoy_spheroid - { - inline denoy_spheroid(const Parameters& par) : detail::denoy::base_denoy_spheroid(par) - { - detail::denoy::setup_denoy(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class denoy_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void denoy_init(detail::base_factory& factory) - { - factory.add_to_factory("denoy", new denoy_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_DENOY_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck1.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/eck1.hpp deleted file mode 100644 index 8ab1ee891d..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck1.hpp +++ /dev/null @@ -1,149 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_ECK1_HPP -#define BOOST_GEOMETRY_PROJECTIONS_ECK1_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace eck1 - { - - static const double FC = .92131773192356127802; - static const double RP = .31830988618379067154; - - // template class, using CRTP to implement forward/inverse - template - struct base_eck1_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_eck1_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_x = FC * lp_lon * (1. - RP * fabs(lp_lat)); - xy_y = FC * lp_lat; - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lat = xy_y / FC; - lp_lon = xy_x / (FC * (1. - RP * fabs(lp_lat))); - } - - static inline std::string get_name() - { - return "eck1_spheroid"; - } - - }; - - // Eckert I - template - void setup_eck1(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::eck1 - #endif // doxygen - - /*! - \brief Eckert I projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_eck1.gif - */ - template - struct eck1_spheroid : public detail::eck1::base_eck1_spheroid - { - inline eck1_spheroid(const Parameters& par) : detail::eck1::base_eck1_spheroid(par) - { - detail::eck1::setup_eck1(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class eck1_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void eck1_init(detail::base_factory& factory) - { - factory.add_to_factory("eck1", new eck1_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_ECK1_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck2.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/eck2.hpp deleted file mode 100644 index 12146f741b..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck2.hpp +++ /dev/null @@ -1,162 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_ECK2_HPP -#define BOOST_GEOMETRY_PROJECTIONS_ECK2_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace eck2 - { - - static const double FXC = 0.46065886596178063902; - static const double FYC = 1.44720250911653531871; - static const double C13 = 0.33333333333333333333; - static const double ONEEPS = 1.0000001; - - // template class, using CRTP to implement forward/inverse - template - struct base_eck2_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_eck2_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_x = FXC * lp_lon * (xy_y = sqrt(4. - 3. * sin(fabs(lp_lat)))); - xy_y = FYC * (2. - xy_y); - if ( lp_lat < 0.) xy_y = -xy_y; - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lon = xy_x / (FXC * ( lp_lat = 2. - fabs(xy_y) / FYC) ); - lp_lat = (4. - lp_lat * lp_lat) * C13; - if (fabs(lp_lat) >= 1.) { - if (fabs(lp_lat) > ONEEPS) throw proj_exception(); - else - lp_lat = lp_lat < 0. ? -geometry::math::half_pi() : geometry::math::half_pi(); - } else - lp_lat = asin(lp_lat); - if (xy_y < 0) - lp_lat = -lp_lat; - } - - static inline std::string get_name() - { - return "eck2_spheroid"; - } - - }; - - // Eckert II - template - void setup_eck2(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::eck2 - #endif // doxygen - - /*! - \brief Eckert II projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_eck2.gif - */ - template - struct eck2_spheroid : public detail::eck2::base_eck2_spheroid - { - inline eck2_spheroid(const Parameters& par) : detail::eck2::base_eck2_spheroid(par) - { - detail::eck2::setup_eck2(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class eck2_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void eck2_init(detail::base_factory& factory) - { - factory.add_to_factory("eck2", new eck2_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_ECK2_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck3.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/eck3.hpp deleted file mode 100644 index c336d713bc..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck3.hpp +++ /dev/null @@ -1,296 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_ECK3_HPP -#define BOOST_GEOMETRY_PROJECTIONS_ECK3_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace eck3 - { - - struct par_eck3 - { - double C_x, C_y, A, B; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_eck3_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_eck3 m_proj_parm; - - inline base_eck3_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_y = this->m_proj_parm.C_y * lp_lat; - xy_x = this->m_proj_parm.C_x * lp_lon * (this->m_proj_parm.A + asqrt(1. - this->m_proj_parm.B * lp_lat * lp_lat)); - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lat = xy_y / this->m_proj_parm.C_y; - lp_lon = xy_x / (this->m_proj_parm.C_x * (this->m_proj_parm.A + asqrt(1. - this->m_proj_parm.B * lp_lat * lp_lat))); - } - - static inline std::string get_name() - { - return "eck3_spheroid"; - } - - }; - - template - void setup(Parameters& par, par_eck3& proj_parm) - { - boost::ignore_unused(proj_parm); - par.es = 0.; - } - - - // Eckert III - template - void setup_eck3(Parameters& par, par_eck3& proj_parm) - { - proj_parm.C_x = .42223820031577120149; - proj_parm.C_y = .84447640063154240298; - proj_parm.A = 1.; - proj_parm.B = 0.4052847345693510857755; - setup(par, proj_parm); - } - - // Putnins P1 - template - void setup_putp1(Parameters& par, par_eck3& proj_parm) - { - proj_parm.C_x = 1.89490; - proj_parm.C_y = 0.94745; - proj_parm.A = -0.5; - proj_parm.B = 0.30396355092701331433; - setup(par, proj_parm); - } - - // Wagner VI - template - void setup_wag6(Parameters& par, par_eck3& proj_parm) - { - proj_parm.C_x = proj_parm.C_y = 0.94745; - proj_parm.A = 0.; - proj_parm.B = 0.30396355092701331433; - setup(par, proj_parm); - } - - // Kavraisky VII - template - void setup_kav7(Parameters& par, par_eck3& proj_parm) - { - proj_parm.C_x = 0.2632401569273184856851; - proj_parm.C_x = 0.8660254037844; - proj_parm.C_y = 1.; - proj_parm.A = 0.; - proj_parm.B = 0.30396355092701331433; - setup(par, proj_parm); - } - - }} // namespace detail::eck3 - #endif // doxygen - - /*! - \brief Eckert III projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_eck3.gif - */ - template - struct eck3_spheroid : public detail::eck3::base_eck3_spheroid - { - inline eck3_spheroid(const Parameters& par) : detail::eck3::base_eck3_spheroid(par) - { - detail::eck3::setup_eck3(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Putnins P1 projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_putp1.gif - */ - template - struct putp1_spheroid : public detail::eck3::base_eck3_spheroid - { - inline putp1_spheroid(const Parameters& par) : detail::eck3::base_eck3_spheroid(par) - { - detail::eck3::setup_putp1(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Wagner VI projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_wag6.gif - */ - template - struct wag6_spheroid : public detail::eck3::base_eck3_spheroid - { - inline wag6_spheroid(const Parameters& par) : detail::eck3::base_eck3_spheroid(par) - { - detail::eck3::setup_wag6(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Kavraisky VII projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_kav7.gif - */ - template - struct kav7_spheroid : public detail::eck3::base_eck3_spheroid - { - inline kav7_spheroid(const Parameters& par) : detail::eck3::base_eck3_spheroid(par) - { - detail::eck3::setup_kav7(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class eck3_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class putp1_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class wag6_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class kav7_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void eck3_init(detail::base_factory& factory) - { - factory.add_to_factory("eck3", new eck3_entry); - factory.add_to_factory("putp1", new putp1_entry); - factory.add_to_factory("wag6", new wag6_entry); - factory.add_to_factory("kav7", new kav7_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_ECK3_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck4.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/eck4.hpp deleted file mode 100644 index b3cd36b0b5..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck4.hpp +++ /dev/null @@ -1,177 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_ECK4_HPP -#define BOOST_GEOMETRY_PROJECTIONS_ECK4_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace eck4 - { - - static const double C_x = .42223820031577120149; - static const double C_y = 1.32650042817700232218; - static const double RC_y = .75386330736002178205; - static const double C_p = 3.57079632679489661922; - static const double RC_p = .28004957675577868795; - static const double EPS = 1e-7; - static const int NITER = 6; - - // template class, using CRTP to implement forward/inverse - template - struct base_eck4_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_eck4_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double p, V, s, c; - int i; - - p = C_p * sin(lp_lat); - V = lp_lat * lp_lat; - lp_lat *= 0.895168 + V * ( 0.0218849 + V * 0.00826809 ); - for (i = NITER; i ; --i) { - c = cos(lp_lat); - s = sin(lp_lat); - lp_lat -= V = (lp_lat + s * (c + 2.) - p) / - (1. + c * (c + 2.) - s * s); - if (fabs(V) < EPS) - break; - } - if (!i) { - xy_x = C_x * lp_lon; - xy_y = lp_lat < 0. ? -C_y : C_y; - } else { - xy_x = C_x * lp_lon * (1. + cos(lp_lat)); - xy_y = C_y * sin(lp_lat); - } - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double c; - - lp_lat = aasin(xy_y / C_y); - lp_lon = xy_x / (C_x * (1. + (c = cos(lp_lat)))); - lp_lat = aasin((lp_lat + sin(lp_lat) * (c + 2.)) / C_p); - } - - static inline std::string get_name() - { - return "eck4_spheroid"; - } - - }; - - // Eckert IV - template - void setup_eck4(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::eck4 - #endif // doxygen - - /*! - \brief Eckert IV projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_eck4.gif - */ - template - struct eck4_spheroid : public detail::eck4::base_eck4_spheroid - { - inline eck4_spheroid(const Parameters& par) : detail::eck4::base_eck4_spheroid(par) - { - detail::eck4::setup_eck4(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class eck4_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void eck4_init(detail::base_factory& factory) - { - factory.add_to_factory("eck4", new eck4_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_ECK4_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck5.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/eck5.hpp deleted file mode 100644 index c52d98cbce..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/eck5.hpp +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_ECK5_HPP -#define BOOST_GEOMETRY_PROJECTIONS_ECK5_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace eck5 - { - - static const double XF = 0.44101277172455148219; - static const double RXF = 2.26750802723822639137; - static const double YF = 0.88202554344910296438; - static const double RYF = 1.13375401361911319568; - - // template class, using CRTP to implement forward/inverse - template - struct base_eck5_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_eck5_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_x = XF * (1. + cos(lp_lat)) * lp_lon; - xy_y = YF * lp_lat; - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lon = RXF * xy_x / (1. + cos( lp_lat = RYF * xy_y)); - } - - static inline std::string get_name() - { - return "eck5_spheroid"; - } - - }; - - // Eckert V - template - void setup_eck5(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::eck5 - #endif // doxygen - - /*! - \brief Eckert V projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_eck5.gif - */ - template - struct eck5_spheroid : public detail::eck5::base_eck5_spheroid - { - inline eck5_spheroid(const Parameters& par) : detail::eck5::base_eck5_spheroid(par) - { - detail::eck5::setup_eck5(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class eck5_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void eck5_init(detail::base_factory& factory) - { - factory.add_to_factory("eck5", new eck5_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_ECK5_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/eqc.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/eqc.hpp deleted file mode 100644 index f758b7f037..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/eqc.hpp +++ /dev/null @@ -1,156 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_EQC_HPP -#define BOOST_GEOMETRY_PROJECTIONS_EQC_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace eqc - { - - struct par_eqc - { - double rc; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_eqc_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_eqc m_proj_parm; - - inline base_eqc_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_x = this->m_proj_parm.rc * lp_lon; - xy_y = lp_lat - this->m_par.phi0; - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lon = xy_x / this->m_proj_parm.rc; - lp_lat = xy_y + this->m_par.phi0; - } - - static inline std::string get_name() - { - return "eqc_spheroid"; - } - - }; - - // Equidistant Cylindrical (Plate Caree) - template - void setup_eqc(Parameters& par, par_eqc& proj_parm) - { - if ((proj_parm.rc = cos(pj_param(par.params, "rlat_ts").f)) <= 0.) throw proj_exception(-24); - par.es = 0.; - } - - }} // namespace detail::eqc - #endif // doxygen - - /*! - \brief Equidistant Cylindrical (Plate Caree) projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Cylindrical - - Spheroid - \par Projection parameters - - lat_ts: Latitude of true scale (degrees) - - lat_0: Latitude of origin - \par Example - \image html ex_eqc.gif - */ - template - struct eqc_spheroid : public detail::eqc::base_eqc_spheroid - { - inline eqc_spheroid(const Parameters& par) : detail::eqc::base_eqc_spheroid(par) - { - detail::eqc::setup_eqc(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class eqc_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void eqc_init(detail::base_factory& factory) - { - factory.add_to_factory("eqc", new eqc_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_EQC_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/eqdc.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/eqdc.hpp deleted file mode 100644 index 8da653a676..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/eqdc.hpp +++ /dev/null @@ -1,230 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_EQDC_HPP -#define BOOST_GEOMETRY_PROJECTIONS_EQDC_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace eqdc - { - - static const double EPS10 = 1.e-10; - - struct par_eqdc - { - double phi1; - double phi2; - double n; - double rho0; - double c; - double en[EN_SIZE]; - int ellips; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_eqdc_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_eqdc m_proj_parm; - - inline base_eqdc_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_forward) sphere & ellipsoid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double rho = 0.0; - rho = this->m_proj_parm.c - (this->m_proj_parm.ellips ? pj_mlfn(lp_lat, sin(lp_lat), - cos(lp_lat), this->m_proj_parm.en) : lp_lat); - xy_x = rho * sin( lp_lon *= this->m_proj_parm.n ); - xy_y = this->m_proj_parm.rho0 - rho * cos(lp_lon); - } - - // INVERSE(e_inverse) sphere & ellipsoid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double rho = 0.0; - if ((rho = boost::math::hypot(xy_x, xy_y = this->m_proj_parm.rho0 - xy_y)) != 0.0 ) { - if (this->m_proj_parm.n < 0.) { - rho = -rho; - xy_x = -xy_x; - xy_y = -xy_y; - } - lp_lat = this->m_proj_parm.c - rho; - if (this->m_proj_parm.ellips) - lp_lat = pj_inv_mlfn(lp_lat, this->m_par.es, this->m_proj_parm.en); - lp_lon = atan2(xy_x, xy_y) / this->m_proj_parm.n; - } else { - lp_lon = 0.; - lp_lat = this->m_proj_parm.n > 0. ? geometry::math::half_pi() : - geometry::math::half_pi(); - } - } - - // SPECIAL(fac) - #ifdef SPECIAL_FACTORS_NOT_CONVERTED - inline void fac(Geographic lp, Factors &fac) const - { - double sinphi, cosphi; - - sinphi = sin(lp_lat); - cosphi = cos(lp_lat); - this->m_fac.code |= IS_ANAL_HK; - this->m_fac.h = 1.; - this->m_fac.k = this->m_proj_parm.n * (this->m_proj_parm.c - (this->m_proj_parm.ellips ? pj_mlfn(lp_lat, sinphi, - cosphi, this->m_proj_parm.en) : lp_lat)) / pj_msfn(sinphi, cosphi, this->m_par.es); - } - #endif - - static inline std::string get_name() - { - return "eqdc_ellipsoid"; - } - - }; - - // Equidistant Conic - template - void setup_eqdc(Parameters& par, par_eqdc& proj_parm) - { - double cosphi, sinphi; - int secant; - - proj_parm.phi1 = pj_param(par.params, "rlat_1").f; - proj_parm.phi2 = pj_param(par.params, "rlat_2").f; - if (fabs(proj_parm.phi1 + proj_parm.phi2) < EPS10) throw proj_exception(-21); - if (!pj_enfn(par.es, proj_parm.en)) - throw proj_exception(0); - proj_parm.n = sinphi = sin(proj_parm.phi1); - cosphi = cos(proj_parm.phi1); - secant = fabs(proj_parm.phi1 - proj_parm.phi2) >= EPS10; - if( (proj_parm.ellips = (par.es > 0.)) ) { - double ml1, m1; - - m1 = pj_msfn(sinphi, cosphi, par.es); - ml1 = pj_mlfn(proj_parm.phi1, sinphi, cosphi, proj_parm.en); - if (secant) { /* secant cone */ - sinphi = sin(proj_parm.phi2); - cosphi = cos(proj_parm.phi2); - proj_parm.n = (m1 - pj_msfn(sinphi, cosphi, par.es)) / - (pj_mlfn(proj_parm.phi2, sinphi, cosphi, proj_parm.en) - ml1); - } - proj_parm.c = ml1 + m1 / proj_parm.n; - proj_parm.rho0 = proj_parm.c - pj_mlfn(par.phi0, sin(par.phi0), - cos(par.phi0), proj_parm.en); - } else { - if (secant) - proj_parm.n = (cosphi - cos(proj_parm.phi2)) / (proj_parm.phi2 - proj_parm.phi1); - proj_parm.c = proj_parm.phi1 + cos(proj_parm.phi1) / proj_parm.n; - proj_parm.rho0 = proj_parm.c - par.phi0; - } - } - - }} // namespace detail::eqdc - #endif // doxygen - - /*! - \brief Equidistant Conic projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Conic - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_1: Latitude of first standard parallel (degrees) - - lat_2: Latitude of second standard parallel (degrees) - \par Example - \image html ex_eqdc.gif - */ - template - struct eqdc_ellipsoid : public detail::eqdc::base_eqdc_ellipsoid - { - inline eqdc_ellipsoid(const Parameters& par) : detail::eqdc::base_eqdc_ellipsoid(par) - { - detail::eqdc::setup_eqdc(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class eqdc_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void eqdc_init(detail::base_factory& factory) - { - factory.add_to_factory("eqdc", new eqdc_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_EQDC_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/etmerc.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/etmerc.hpp deleted file mode 100644 index 16fbcc854c..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/etmerc.hpp +++ /dev/null @@ -1,370 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_ETMERC_HPP -#define BOOST_GEOMETRY_PROJECTIONS_ETMERC_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Copyright (c) 2008 Gerald I. Evenden - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace etmerc - { - - static const int PROJ_ETMERC_ORDER = 6; - - struct par_etmerc - { - double Qn; /* Merid. quad., scaled to the projection */ - double Zb; /* Radius vector in polar coord. systems */ - double cgb[6]; /* Constants for Gauss -> Geo lat */ - double cbg[6]; /* Constants for Geo lat -> Gauss */ - double utg[6]; /* Constants for transv. merc. -> geo */ - double gtu[6]; /* Constants for geo -> transv. merc. */ - }; - - /* The code in this file is largly based upon procedures: - * - * Written by: Knud Poder and Karsten Engsager - * - * Based on math from: R.Koenig and K.H. Weise, "Mathematische - * Grundlagen der hoeheren Geodaesie und Kartographie, - * Springer-Verlag, Berlin/Goettingen" Heidelberg, 1951. - * - * Modified and used here by permission of Reference Networks - * Division, Kort og Matrikelstyrelsen (KMS), Copenhagen, Denmark - */ - - - - - - - static double - log1py(double x) { /* Compute log(1+x) accurately */ - volatile double - y = 1 + x, - z = y - 1; - /* Here's the explanation for this magic: y = 1 + z, exactly, and z - * approx x, thus log(y)/z (which is nearly constant near z = 0) returns - * a good approximation to the true log(1 + x)/x. The multiplication x * - * (log(y)/z) introduces little additional error. */ - return z == 0 ? x : x * log(y) / z; - } - - static double - asinhy(double x) { /* Compute asinh(x) accurately */ - double y = fabs(x); /* Enforce odd parity */ - y = log1py(y * (1 + y/(boost::math::hypot(1.0, y) + 1))); - return x < 0 ? -y : y; - } - - static double - gatg(const double *p1, int len_p1, double B) { - const double *p; - double h = 0, h1, h2 = 0, cos_2B; - - cos_2B = 2*cos(2*B); - for (p = p1 + len_p1, h1 = *--p; p - p1; h2 = h1, h1 = h) - h = -h2 + cos_2B*h1 + *--p; - return (B + h*sin(2*B)); - } - - static double - clenS(const double *a, int size, double arg_r, double arg_i, double *R, double *I) { - double r, i, hr, hr1, hr2, hi, hi1, hi2; - double sin_arg_r, cos_arg_r, sinh_arg_i, cosh_arg_i; - - /* arguments */ - const double* p = a + size; - sin_arg_r = sin(arg_r); - cos_arg_r = cos(arg_r); - sinh_arg_i = sinh(arg_i); - cosh_arg_i = cosh(arg_i); - r = 2*cos_arg_r*cosh_arg_i; - i = -2*sin_arg_r*sinh_arg_i; - /* summation loop */ - for (hi1 = hr1 = hi = 0, hr = *--p; a - p;) { - hr2 = hr1; - hi2 = hi1; - hr1 = hr; - hi1 = hi; - hr = -hr2 + r*hr1 - i*hi1 + *--p; - hi = -hi2 + i*hr1 + r*hi1; - } - r = sin_arg_r*cosh_arg_i; - i = cos_arg_r*sinh_arg_i; - *R = r*hr - i*hi; - *I = r*hi + i*hr; - return(*R); - } - static double - clens(const double *a, int size, double arg_r) { - double r, hr, hr1, hr2, cos_arg_r; - - const double* p = a + size; - cos_arg_r = cos(arg_r); - r = 2*cos_arg_r; - /* summation loop */ - for (hr1 = 0, hr = *--p; a - p;) { - hr2 = hr1; - hr1 = hr; - hr = -hr2 + r*hr1 + *--p; - } - return(sin(arg_r)*hr); - } - - // template class, using CRTP to implement forward/inverse - template - struct base_etmerc_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_etmerc m_proj_parm; - - inline base_etmerc_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_forward) ellipsoid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double sin_Cn, cos_Cn, cos_Ce, sin_Ce, dCn, dCe; - double Cn = lp_lat, Ce = lp_lon; - - /* ell. LAT, LNG -> Gaussian LAT, LNG */ - Cn = gatg(this->m_proj_parm.cbg, PROJ_ETMERC_ORDER, Cn); - /* Gaussian LAT, LNG -> compl. sph. LAT */ - sin_Cn = sin(Cn); - cos_Cn = cos(Cn); - sin_Ce = sin(Ce); - cos_Ce = cos(Ce); - - Cn = atan2(sin_Cn, cos_Ce*cos_Cn); - Ce = atan2(sin_Ce*cos_Cn, boost::math::hypot(sin_Cn, cos_Cn*cos_Ce)); - /* compl. sph. N, E -> ell. norm. N, E */ - Ce = asinhy(tan(Ce)); /* Replaces: Ce = log(tan(FORTPI + Ce*0.5)); */ - Cn += clenS(this->m_proj_parm.gtu, PROJ_ETMERC_ORDER, 2*Cn, 2*Ce, &dCn, &dCe); - Ce += dCe; - if (fabs(Ce) <= 2.623395162778) { - xy_y = this->m_proj_parm.Qn * Cn + this->m_proj_parm.Zb; /* Northing */ - xy_x = this->m_proj_parm.Qn * Ce; /* Easting */ - } else - xy_x = xy_y = HUGE_VAL; - } - - // INVERSE(e_inverse) ellipsoid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double sin_Cn, cos_Cn, cos_Ce, sin_Ce, dCn, dCe; - double Cn = xy_y, Ce = xy_x; - - /* normalize N, E */ - Cn = (Cn - this->m_proj_parm.Zb)/this->m_proj_parm.Qn; - Ce = Ce/this->m_proj_parm.Qn; - if (fabs(Ce) <= 2.623395162778) { /* 150 degrees */ - /* norm. N, E -> compl. sph. LAT, LNG */ - Cn += clenS(this->m_proj_parm.utg, PROJ_ETMERC_ORDER, 2*Cn, 2*Ce, &dCn, &dCe); - Ce += dCe; - Ce = atan(sinh(Ce)); /* Replaces: Ce = 2*(atan(exp(Ce)) - FORTPI); */ - /* compl. sph. LAT -> Gaussian LAT, LNG */ - sin_Cn = sin(Cn); - cos_Cn = cos(Cn); - sin_Ce = sin(Ce); - cos_Ce = cos(Ce); - Ce = atan2(sin_Ce, cos_Ce*cos_Cn); - Cn = atan2(sin_Cn*cos_Ce, boost::math::hypot(sin_Ce, cos_Ce*cos_Cn)); - /* Gaussian LAT, LNG -> ell. LAT, LNG */ - lp_lat = gatg(this->m_proj_parm.cgb, PROJ_ETMERC_ORDER, Cn); - lp_lon = Ce; - } - else - lp_lat = lp_lon = HUGE_VAL; - } - - static inline std::string get_name() - { - return "etmerc_ellipsoid"; - } - - }; - - // Extended Transverse Mercator - template - void setup_etmerc(Parameters& par, par_etmerc& proj_parm) - { - double f, n, np, Z; - - if (par.es <= 0) throw proj_exception(-34); - f = par.es / (1 + sqrt(1 - par.es)); /* Replaces: f = 1 - sqrt(1-par.es); */ - /* third flattening */ - np = n = f/(2 - f); - - /* COEF. OF TRIG SERIES GEO <-> GAUSS */ - /* cgb := Gaussian -> Geodetic, KW p190 - 191 (61) - (62) */ - /* cbg := Geodetic -> Gaussian, KW p186 - 187 (51) - (52) */ - /* PROJ_ETMERC_ORDER = 6th degree : Engsager and Poder: ICC2007 */ - proj_parm.cgb[0] = n*( 2 + n*(-2/3.0 + n*(-2 + n*(116/45.0 + n*(26/45.0 + - n*(-2854/675.0 )))))); - proj_parm.cbg[0] = n*(-2 + n*( 2/3.0 + n*( 4/3.0 + n*(-82/45.0 + n*(32/45.0 + - n*( 4642/4725.0)))))); - np *= n; - proj_parm.cgb[1] = np*(7/3.0 + n*( -8/5.0 + n*(-227/45.0 + n*(2704/315.0 + - n*( 2323/945.0))))); - proj_parm.cbg[1] = np*(5/3.0 + n*(-16/15.0 + n*( -13/9.0 + n*( 904/315.0 + - n*(-1522/945.0))))); - np *= n; - /* n^5 coeff corrected from 1262/105 -> -1262/105 */ - proj_parm.cgb[2] = np*( 56/15.0 + n*(-136/35.0 + n*(-1262/105.0 + - n*( 73814/2835.0)))); - proj_parm.cbg[2] = np*(-26/15.0 + n*( 34/21.0 + n*( 8/5.0 + - n*(-12686/2835.0)))); - np *= n; - /* n^5 coeff corrected from 322/35 -> 332/35 */ - proj_parm.cgb[3] = np*(4279/630.0 + n*(-332/35.0 + n*(-399572/14175.0))); - proj_parm.cbg[3] = np*(1237/630.0 + n*( -12/5.0 + n*( -24832/14175.0))); - np *= n; - proj_parm.cgb[4] = np*(4174/315.0 + n*(-144838/6237.0 )); - proj_parm.cbg[4] = np*(-734/315.0 + n*( 109598/31185.0)); - np *= n; - proj_parm.cgb[5] = np*(601676/22275.0 ); - proj_parm.cbg[5] = np*(444337/155925.0); - - /* Constants of the projections */ - /* Transverse Mercator (UTM, ITM, etc) */ - np = n*n; - /* Norm. mer. quad, K&W p.50 (96), p.19 (38b), p.5 (2) */ - proj_parm.Qn = par.k0/(1 + n) * (1 + np*(1/4.0 + np*(1/64.0 + np/256.0))); - /* coef of trig series */ - /* utg := ell. N, E -> sph. N, E, KW p194 (65) */ - /* gtu := sph. N, E -> ell. N, E, KW p196 (69) */ - proj_parm.utg[0] = n*(-0.5 + n*( 2/3.0 + n*(-37/96.0 + n*( 1/360.0 + - n*( 81/512.0 + n*(-96199/604800.0)))))); - proj_parm.gtu[0] = n*( 0.5 + n*(-2/3.0 + n*( 5/16.0 + n*(41/180.0 + - n*(-127/288.0 + n*( 7891/37800.0 )))))); - proj_parm.utg[1] = np*(-1/48.0 + n*(-1/15.0 + n*(437/1440.0 + n*(-46/105.0 + - n*( 1118711/3870720.0))))); - proj_parm.gtu[1] = np*(13/48.0 + n*(-3/5.0 + n*(557/1440.0 + n*(281/630.0 + - n*(-1983433/1935360.0))))); - np *= n; - proj_parm.utg[2] = np*(-17/480.0 + n*( 37/840.0 + n*( 209/4480.0 + - n*( -5569/90720.0 )))); - proj_parm.gtu[2] = np*( 61/240.0 + n*(-103/140.0 + n*(15061/26880.0 + - n*(167603/181440.0)))); - np *= n; - proj_parm.utg[3] = np*(-4397/161280.0 + n*( 11/504.0 + n*( 830251/7257600.0))); - proj_parm.gtu[3] = np*(49561/161280.0 + n*(-179/168.0 + n*(6601661/7257600.0))); - np *= n; - proj_parm.utg[4] = np*(-4583/161280.0 + n*( 108847/3991680.0)); - proj_parm.gtu[4] = np*(34729/80640.0 + n*(-3418889/1995840.0)); - np *= n; - proj_parm.utg[5] = np*(-20648693/638668800.0); - proj_parm.gtu[5] = np*(212378941/319334400.0); - /* Gaussian latitude value of the origin latitude */ - Z = gatg(proj_parm.cbg, PROJ_ETMERC_ORDER, par.phi0); - /* Origin northing minus true northing at the origin latitude */ - /* i.e. true northing = N - proj_parm.Zb */ - proj_parm.Zb = - proj_parm.Qn*(Z + clens(proj_parm.gtu, PROJ_ETMERC_ORDER, 2*Z)); - } - - }} // namespace detail::etmerc - #endif // doxygen - - /*! - \brief Extended Transverse Mercator projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Cylindrical - - Spheroid - \par Projection parameters - - lat_ts: Latitude of true scale - - lat_0: Latitude of origin - \par Example - \image html ex_etmerc.gif - */ - template - struct etmerc_ellipsoid : public detail::etmerc::base_etmerc_ellipsoid - { - inline etmerc_ellipsoid(const Parameters& par) : detail::etmerc::base_etmerc_ellipsoid(par) - { - detail::etmerc::setup_etmerc(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class etmerc_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void etmerc_init(detail::base_factory& factory) - { - factory.add_to_factory("etmerc", new etmerc_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_ETMERC_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/fahey.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/fahey.hpp deleted file mode 100644 index fb1c86a3c1..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/fahey.hpp +++ /dev/null @@ -1,150 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_FAHEY_HPP -#define BOOST_GEOMETRY_PROJECTIONS_FAHEY_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace fahey - { - - static const double TOL = 1e-6; - - // template class, using CRTP to implement forward/inverse - template - struct base_fahey_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_fahey_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_y = 1.819152 * ( xy_x = tan(0.5 * lp_lat) ); - xy_x = 0.819152 * lp_lon * asqrt(1 - xy_x * xy_x); - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lat = 2. * atan(xy_y /= 1.819152); - lp_lon = fabs(xy_y = 1. - xy_y * xy_y) < TOL ? 0. : - xy_x / (0.819152 * sqrt(xy_y)); - } - - static inline std::string get_name() - { - return "fahey_spheroid"; - } - - }; - - // Fahey - template - void setup_fahey(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::fahey - #endif // doxygen - - /*! - \brief Fahey projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_fahey.gif - */ - template - struct fahey_spheroid : public detail::fahey::base_fahey_spheroid - { - inline fahey_spheroid(const Parameters& par) : detail::fahey::base_fahey_spheroid(par) - { - detail::fahey::setup_fahey(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class fahey_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void fahey_init(detail::base_factory& factory) - { - factory.add_to_factory("fahey", new fahey_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_FAHEY_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/fouc_s.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/fouc_s.hpp deleted file mode 100644 index e2452b58e7..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/fouc_s.hpp +++ /dev/null @@ -1,182 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_FOUC_S_HPP -#define BOOST_GEOMETRY_PROJECTIONS_FOUC_S_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace fouc_s - { - - static const int MAX_ITER = 10; - static const double LOOP_TOL = 1e-7; - - struct par_fouc_s - { - double n, n1; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_fouc_s_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_fouc_s m_proj_parm; - - inline base_fouc_s_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double t; - - t = cos(lp_lat); - xy_x = lp_lon * t / (this->m_proj_parm.n + this->m_proj_parm.n1 * t); - xy_y = this->m_proj_parm.n * lp_lat + this->m_proj_parm.n1 * sin(lp_lat); - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double V; - int i; - - if (this->m_proj_parm.n) { - lp_lat = xy_y; - for (i = MAX_ITER; i ; --i) { - lp_lat -= V = (this->m_proj_parm.n * lp_lat + this->m_proj_parm.n1 * sin(lp_lat) - xy_y ) / - (this->m_proj_parm.n + this->m_proj_parm.n1 * cos(lp_lat)); - if (fabs(V) < LOOP_TOL) - break; - } - if (!i) - lp_lat = xy_y < 0. ? -geometry::math::half_pi() : geometry::math::half_pi(); - } else - lp_lat = aasin(xy_y); - V = cos(lp_lat); - lp_lon = xy_x * (this->m_proj_parm.n + this->m_proj_parm.n1 * V) / V; - } - - static inline std::string get_name() - { - return "fouc_s_spheroid"; - } - - }; - - // Foucaut Sinusoidal - template - void setup_fouc_s(Parameters& par, par_fouc_s& proj_parm) - { - proj_parm.n = pj_param(par.params, "dn").f; - if (proj_parm.n < 0. || proj_parm.n > 1.) - throw proj_exception(-99); - proj_parm.n1 = 1. - proj_parm.n; - par.es = 0; - } - - }} // namespace detail::fouc_s - #endif // doxygen - - /*! - \brief Foucaut Sinusoidal projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Projection parameters - - n (real) - \par Example - \image html ex_fouc_s.gif - */ - template - struct fouc_s_spheroid : public detail::fouc_s::base_fouc_s_spheroid - { - inline fouc_s_spheroid(const Parameters& par) : detail::fouc_s::base_fouc_s_spheroid(par) - { - detail::fouc_s::setup_fouc_s(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class fouc_s_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void fouc_s_init(detail::base_factory& factory) - { - factory.add_to_factory("fouc_s", new fouc_s_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_FOUC_S_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/gall.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/gall.hpp deleted file mode 100644 index 425f4a2f29..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/gall.hpp +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_GALL_HPP -#define BOOST_GEOMETRY_PROJECTIONS_GALL_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace gall - { - - static const double YF = 1.70710678118654752440; - static const double XF = 0.70710678118654752440; - static const double RYF = 0.58578643762690495119; - static const double RXF = 1.41421356237309504880; - - // template class, using CRTP to implement forward/inverse - template - struct base_gall_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_gall_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_x = XF * lp_lon; - xy_y = YF * tan(.5 * lp_lat); - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lon = RXF * xy_x; - lp_lat = 2. * atan(xy_y * RYF); - } - - static inline std::string get_name() - { - return "gall_spheroid"; - } - - }; - - // Gall (Gall Stereographic) - template - void setup_gall(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::gall - #endif // doxygen - - /*! - \brief Gall (Gall Stereographic) projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Cylindrical - - Spheroid - \par Example - \image html ex_gall.gif - */ - template - struct gall_spheroid : public detail::gall::base_gall_spheroid - { - inline gall_spheroid(const Parameters& par) : detail::gall::base_gall_spheroid(par) - { - detail::gall::setup_gall(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class gall_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void gall_init(detail::base_factory& factory) - { - factory.add_to_factory("gall", new gall_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_GALL_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/geocent.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/geocent.hpp deleted file mode 100644 index 8c7469d3af..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/geocent.hpp +++ /dev/null @@ -1,151 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_GEOCENT_HPP -#define BOOST_GEOMETRY_PROJECTIONS_GEOCENT_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Purpose: Stub projection for geocentric. The transformation isn't -// really done here since this code is 2D. The real transformation -// is handled by pj_transform.c. -// Author: Frank Warmerdam, warmerdam@pobox.com -// Copyright (c) 2002, Frank Warmerdam - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace geocent - { - - // template class, using CRTP to implement forward/inverse - template - struct base_geocent_other : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_geocent_other(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(forward) - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - xy_x = lp_lon; - xy_y = lp_lat; - } - - // INVERSE(inverse) - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - lp_lat = xy_y; - lp_lon = xy_x; - } - - static inline std::string get_name() - { - return "geocent_other"; - } - - }; - - // Geocentric - template - void setup_geocent(Parameters& par) - { - par.is_geocent = 1; - par.x0 = 0.0; - par.y0 = 0.0; - } - - }} // namespace detail::geocent - #endif // doxygen - - /*! - \brief Geocentric projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Example - \image html ex_geocent.gif - */ - template - struct geocent_other : public detail::geocent::base_geocent_other - { - inline geocent_other(const Parameters& par) : detail::geocent::base_geocent_other(par) - { - detail::geocent::setup_geocent(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class geocent_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void geocent_init(detail::base_factory& factory) - { - factory.add_to_factory("geocent", new geocent_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_GEOCENT_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/geos.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/geos.hpp deleted file mode 100644 index 375998b63c..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/geos.hpp +++ /dev/null @@ -1,355 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_GEOS_HPP -#define BOOST_GEOMETRY_PROJECTIONS_GEOS_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Copyright (c) 2004 Gerald I. Evenden -// Copyright (c) 2012 Martin Raspaud -// See also (section 4.4.3.2): -// http://www.eumetsat.int/en/area4/msg/news/us_doc/cgms_03_26.pdf - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace geos - { - - struct par_geos - { - double h; - double radius_p; - double radius_p2; - double radius_p_inv2; - double radius_g; - double radius_g_1; - double C; - std::string sweep_axis; - int flip_axis; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_geos_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_geos m_proj_parm; - - inline base_geos_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_forward) ellipsoid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double r, Vx, Vy, Vz, tmp; - - /* Calculation of geocentric latitude. */ - lp_lat = atan (this->m_proj_parm.radius_p2 * tan (lp_lat)); - /* Calculation of the three components of the vector from satellite to - ** position on earth surface (lon,lat).*/ - r = (this->m_proj_parm.radius_p) / boost::math::hypot(this->m_proj_parm.radius_p * cos (lp_lat), sin (lp_lat)); - Vx = r * cos (lp_lon) * cos (lp_lat); - Vy = r * sin (lp_lon) * cos (lp_lat); - Vz = r * sin (lp_lat); - /* Check visibility. */ - if (((this->m_proj_parm.radius_g - Vx) * Vx - Vy * Vy - Vz * Vz * this->m_proj_parm.radius_p_inv2) < 0.) - throw proj_exception();; - /* Calculation based on view angles from satellite. */ - tmp = this->m_proj_parm.radius_g - Vx; - if(this->m_proj_parm.flip_axis) - { - xy_x = this->m_proj_parm.radius_g_1 * atan (Vy / boost::math::hypot (Vz, tmp)); - xy_y = this->m_proj_parm.radius_g_1 * atan (Vz / tmp); - } - else - { - xy_x = this->m_proj_parm.radius_g_1 * atan (Vy / tmp); - xy_y = this->m_proj_parm.radius_g_1 * atan (Vz / boost::math::hypot (Vy, tmp)); - } - } - - // INVERSE(e_inverse) ellipsoid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double Vx, Vy, Vz, a, b, det, k; - - /* Setting three components of vector from satellite to position.*/ - Vx = -1.0; - if(this->m_proj_parm.flip_axis) - { - Vz = tan (xy_y / this->m_proj_parm.radius_g_1); - Vy = tan (xy_x / this->m_proj_parm.radius_g_1) * boost::math::hypot(1.0, Vz); - } - else - { - Vy = tan (xy_x / this->m_proj_parm.radius_g_1); - Vz = tan (xy_y / this->m_proj_parm.radius_g_1) * boost::math::hypot(1.0, Vy); - } - /* Calculation of terms in cubic equation and determinant.*/ - a = Vz / this->m_proj_parm.radius_p; - a = Vy * Vy + a * a + Vx * Vx; - b = 2 * this->m_proj_parm.radius_g * Vx; - if ((det = (b * b) - 4 * a * this->m_proj_parm.C) < 0.) throw proj_exception();; - /* Calculation of three components of vector from satellite to position.*/ - k = (-b - sqrt(det)) / (2. * a); - Vx = this->m_proj_parm.radius_g + k * Vx; - Vy *= k; - Vz *= k; - /* Calculation of longitude and latitude.*/ - lp_lon = atan2 (Vy, Vx); - lp_lat = atan (Vz * cos (lp_lon) / Vx); - lp_lat = atan (this->m_proj_parm.radius_p_inv2 * tan (lp_lat)); - } - - static inline std::string get_name() - { - return "geos_ellipsoid"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_geos_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_geos m_proj_parm; - - inline base_geos_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double Vx, Vy, Vz, tmp; - - /* Calculation of the three components of the vector from satellite to - ** position on earth surface (lon,lat).*/ - tmp = cos(lp_lat); - Vx = cos (lp_lon) * tmp; - Vy = sin (lp_lon) * tmp; - Vz = sin (lp_lat); - /* Check visibility.*/ - if (((this->m_proj_parm.radius_g - Vx) * Vx - Vy * Vy - Vz * Vz) < 0.) throw proj_exception();; - /* Calculation based on view angles from satellite.*/ - tmp = this->m_proj_parm.radius_g - Vx; - if(this->m_proj_parm.flip_axis) - { - xy_x = this->m_proj_parm.radius_g_1 * atan(Vy / boost::math::hypot(Vz, tmp)); - xy_y = this->m_proj_parm.radius_g_1 * atan(Vz / tmp); - } - else - { - xy_x = this->m_proj_parm.radius_g_1 * atan(Vy / tmp); - xy_y = this->m_proj_parm.radius_g_1 * atan(Vz / boost::math::hypot(Vy, tmp)); - } - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double Vx, Vy, Vz, a, b, det, k; - - /* Setting three components of vector from satellite to position.*/ - Vx = -1.0; - if(this->m_proj_parm.flip_axis) - { - Vz = tan (xy_y / (this->m_proj_parm.radius_g - 1.0)); - Vy = tan (xy_x / (this->m_proj_parm.radius_g - 1.0)) * sqrt (1.0 + Vz * Vz); - } - else - { - Vy = tan (xy_x / (this->m_proj_parm.radius_g - 1.0)); - Vz = tan (xy_y / (this->m_proj_parm.radius_g - 1.0)) * sqrt (1.0 + Vy * Vy); - } - /* Calculation of terms in cubic equation and determinant.*/ - a = Vy * Vy + Vz * Vz + Vx * Vx; - b = 2 * this->m_proj_parm.radius_g * Vx; - if ((det = (b * b) - 4 * a * this->m_proj_parm.C) < 0.) throw proj_exception();; - /* Calculation of three components of vector from satellite to position.*/ - k = (-b - sqrt(det)) / (2 * a); - Vx = this->m_proj_parm.radius_g + k * Vx; - Vy *= k; - Vz *= k; - /* Calculation of longitude and latitude.*/ - lp_lon = atan2 (Vy, Vx); - lp_lat = atan (Vz * cos (lp_lon) / Vx); - } - - static inline std::string get_name() - { - return "geos_spheroid"; - } - - }; - - // Geostationary Satellite View - template - void setup_geos(Parameters& par, par_geos& proj_parm) - { - if ((proj_parm.h = pj_param(par.params, "dh").f) <= 0.) throw proj_exception(-30); - if (par.phi0) throw proj_exception(-46); - proj_parm.sweep_axis = pj_param(par.params, "ssweep").s; - if (proj_parm.sweep_axis.empty()) - proj_parm.flip_axis = 0; - else - { - if (proj_parm.sweep_axis[1] != '\0' || - (proj_parm.sweep_axis[0] != 'x' && - proj_parm.sweep_axis[0] != 'y')) - throw proj_exception(-49); - if (proj_parm.sweep_axis[0] == 'x') - proj_parm.flip_axis = 1; - else - proj_parm.flip_axis = 0; - } - proj_parm.radius_g_1 = proj_parm.h / par.a; - proj_parm.radius_g = 1. + proj_parm.radius_g_1; - proj_parm.C = proj_parm.radius_g * proj_parm.radius_g - 1.0; - if (par.es) { - proj_parm.radius_p = sqrt (par.one_es); - proj_parm.radius_p2 = par.one_es; - proj_parm.radius_p_inv2 = par.rone_es; - } else { - proj_parm.radius_p = proj_parm.radius_p2 = proj_parm.radius_p_inv2 = 1.0; - } - } - - }} // namespace detail::geos - #endif // doxygen - - /*! - \brief Geostationary Satellite View projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Azimuthal - - Spheroid - - Ellipsoid - \par Projection parameters - - h: Height (real) - - sweep: Sweep axis ('x' or 'y') (string) - \par Example - \image html ex_geos.gif - */ - template - struct geos_ellipsoid : public detail::geos::base_geos_ellipsoid - { - inline geos_ellipsoid(const Parameters& par) : detail::geos::base_geos_ellipsoid(par) - { - detail::geos::setup_geos(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Geostationary Satellite View projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Azimuthal - - Spheroid - - Ellipsoid - \par Projection parameters - - h: Height (real) - - sweep: Sweep axis ('x' or 'y') (string) - \par Example - \image html ex_geos.gif - */ - template - struct geos_spheroid : public detail::geos::base_geos_spheroid - { - inline geos_spheroid(const Parameters& par) : detail::geos::base_geos_spheroid(par) - { - detail::geos::setup_geos(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class geos_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - if (par.es) - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - else - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void geos_init(detail::base_factory& factory) - { - factory.add_to_factory("geos", new geos_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_GEOS_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/gins8.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/gins8.hpp deleted file mode 100644 index 96de4cb90d..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/gins8.hpp +++ /dev/null @@ -1,147 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_GINS8_HPP -#define BOOST_GEOMETRY_PROJECTIONS_GINS8_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace gins8 - { - - static const double Cl = 0.000952426; - static const double Cp = 0.162388; - static const double C12 = 0.08333333333333333; - - // template class, using CRTP to implement forward/inverse - template - struct base_gins8_spheroid : public base_t_f, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_gins8_spheroid(const Parameters& par) - : base_t_f, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double t = lp_lat * lp_lat; - - xy_y = lp_lat * (1. + t * C12); - xy_x = lp_lon * (1. - Cp * t); - t = lp_lon * lp_lon; - xy_x *= (0.87 - Cl * t * t); - } - - static inline std::string get_name() - { - return "gins8_spheroid"; - } - - }; - - // Ginsburg VIII (TsNIIGAiK) - template - void setup_gins8(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::gins8 - #endif // doxygen - - /*! - \brief Ginsburg VIII (TsNIIGAiK) projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - - no inverse - \par Example - \image html ex_gins8.gif - */ - template - struct gins8_spheroid : public detail::gins8::base_gins8_spheroid - { - inline gins8_spheroid(const Parameters& par) : detail::gins8::base_gins8_spheroid(par) - { - detail::gins8::setup_gins8(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class gins8_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void gins8_init(detail::base_factory& factory) - { - factory.add_to_factory("gins8", new gins8_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_GINS8_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/gn_sinu.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/gn_sinu.hpp deleted file mode 100644 index dc585bd5b0..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/gn_sinu.hpp +++ /dev/null @@ -1,398 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_GN_SINU_HPP -#define BOOST_GEOMETRY_PROJECTIONS_GN_SINU_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace gn_sinu - { - - static const double EPS10 = 1e-10; - static const int MAX_ITER = 8; - static const double LOOP_TOL = 1e-7; - - struct par_gn_sinu - { - double en[EN_SIZE]; - double m, n, C_x, C_y; - }; - - /* Ellipsoidal Sinusoidal only */ - - // template class, using CRTP to implement forward/inverse - template - struct base_gn_sinu_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_gn_sinu m_proj_parm; - - inline base_gn_sinu_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_forward) ellipsoid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double s, c; - - xy_y = pj_mlfn(lp_lat, s = sin(lp_lat), c = cos(lp_lat), this->m_proj_parm.en); - xy_x = lp_lon * c / sqrt(1. - this->m_par.es * s * s); - } - - // INVERSE(e_inverse) ellipsoid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double s; - - if ((s = fabs(lp_lat = pj_inv_mlfn(xy_y, this->m_par.es, this->m_proj_parm.en))) < geometry::math::half_pi()) { - s = sin(lp_lat); - lp_lon = xy_x * sqrt(1. - this->m_par.es * s * s) / cos(lp_lat); - } else if ((s - EPS10) < geometry::math::half_pi()) - lp_lon = 0.; - else throw proj_exception();; - } - /* General spherical sinusoidals */ - - static inline std::string get_name() - { - return "gn_sinu_ellipsoid"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_gn_sinu_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_gn_sinu m_proj_parm; - - inline base_gn_sinu_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) sphere - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - if (!this->m_proj_parm.m) - lp_lat = this->m_proj_parm.n != 1. ? aasin(this->m_proj_parm.n * sin(lp_lat)): lp_lat; - else { - double k, V; - int i; - - k = this->m_proj_parm.n * sin(lp_lat); - for (i = MAX_ITER; i ; --i) { - lp_lat -= V = (this->m_proj_parm.m * lp_lat + sin(lp_lat) - k) / - (this->m_proj_parm.m + cos(lp_lat)); - if (fabs(V) < LOOP_TOL) - break; - } - if (!i) - throw proj_exception(); - } - xy_x = this->m_proj_parm.C_x * lp_lon * (this->m_proj_parm.m + cos(lp_lat)); - xy_y = this->m_proj_parm.C_y * lp_lat; - } - - // INVERSE(s_inverse) sphere - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - xy_y /= this->m_proj_parm.C_y; - lp_lat = this->m_proj_parm.m ? aasin((this->m_proj_parm.m * xy_y + sin(xy_y)) / this->m_proj_parm.n) : - ( this->m_proj_parm.n != 1. ? aasin(sin(xy_y) / this->m_proj_parm.n) : xy_y ); - lp_lon = xy_x / (this->m_proj_parm.C_x * (this->m_proj_parm.m + cos(xy_y))); - } - - static inline std::string get_name() - { - return "gn_sinu_spheroid"; - } - - }; - - template - void setup(Parameters& par, par_gn_sinu& proj_parm) - { - par.es = 0; - proj_parm.C_x = (proj_parm.C_y = sqrt((proj_parm.m + 1.) / proj_parm.n))/(proj_parm.m + 1.); - } - - - // General Sinusoidal Series - template - void setup_gn_sinu(Parameters& par, par_gn_sinu& proj_parm) - { - if (pj_param(par.params, "tn").i && pj_param(par.params, "tm").i) { - proj_parm.n = pj_param(par.params, "dn").f; - proj_parm.m = pj_param(par.params, "dm").f; - } else - throw proj_exception(-99); - setup(par, proj_parm); - } - - // Sinusoidal (Sanson-Flamsteed) - template - void setup_sinu(Parameters& par, par_gn_sinu& proj_parm) - { - if (!pj_enfn(par.es, proj_parm.en)) - throw proj_exception(0); - if (par.es) { - } else { - proj_parm.n = 1.; - proj_parm.m = 0.; - setup(par, proj_parm); - } - } - - // Eckert VI - template - void setup_eck6(Parameters& par, par_gn_sinu& proj_parm) - { - proj_parm.m = 1.; - proj_parm.n = 2.570796326794896619231321691; - setup(par, proj_parm); - } - - // McBryde-Thomas Flat-Polar Sinusoidal - template - void setup_mbtfps(Parameters& par, par_gn_sinu& proj_parm) - { - proj_parm.m = 0.5; - proj_parm.n = 1.785398163397448309615660845; - setup(par, proj_parm); - } - - }} // namespace detail::gn_sinu - #endif // doxygen - - /*! - \brief General Sinusoidal Series projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Projection parameters - - m (real) - - n (real) - \par Example - \image html ex_gn_sinu.gif - */ - template - struct gn_sinu_spheroid : public detail::gn_sinu::base_gn_sinu_spheroid - { - inline gn_sinu_spheroid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_spheroid(par) - { - detail::gn_sinu::setup_gn_sinu(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Sinusoidal (Sanson-Flamsteed) projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - - Ellipsoid - \par Example - \image html ex_sinu.gif - */ - template - struct sinu_ellipsoid : public detail::gn_sinu::base_gn_sinu_ellipsoid - { - inline sinu_ellipsoid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_ellipsoid(par) - { - detail::gn_sinu::setup_sinu(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Sinusoidal (Sanson-Flamsteed) projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - - Ellipsoid - \par Example - \image html ex_sinu.gif - */ - template - struct sinu_spheroid : public detail::gn_sinu::base_gn_sinu_spheroid - { - inline sinu_spheroid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_spheroid(par) - { - detail::gn_sinu::setup_sinu(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief Eckert VI projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_eck6.gif - */ - template - struct eck6_spheroid : public detail::gn_sinu::base_gn_sinu_spheroid - { - inline eck6_spheroid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_spheroid(par) - { - detail::gn_sinu::setup_eck6(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief McBryde-Thomas Flat-Polar Sinusoidal projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_mbtfps.gif - */ - template - struct mbtfps_spheroid : public detail::gn_sinu::base_gn_sinu_spheroid - { - inline mbtfps_spheroid(const Parameters& par) : detail::gn_sinu::base_gn_sinu_spheroid(par) - { - detail::gn_sinu::setup_mbtfps(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class gn_sinu_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class sinu_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - if (par.es) - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - else - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class eck6_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class mbtfps_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void gn_sinu_init(detail::base_factory& factory) - { - factory.add_to_factory("gn_sinu", new gn_sinu_entry); - factory.add_to_factory("sinu", new sinu_entry); - factory.add_to_factory("eck6", new eck6_entry); - factory.add_to_factory("mbtfps", new mbtfps_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_GN_SINU_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/gnom.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/gnom.hpp deleted file mode 100644 index ea771b2721..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/gnom.hpp +++ /dev/null @@ -1,240 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_GNOM_HPP -#define BOOST_GEOMETRY_PROJECTIONS_GNOM_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace gnom - { - - static const double EPS10 = 1.e-10; - static const int N_POLE = 0; - static const int S_POLE = 1; - static const int EQUIT = 2; - static const int OBLIQ = 3; - - struct par_gnom - { - double sinph0; - double cosph0; - int mode; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_gnom_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_gnom m_proj_parm; - - inline base_gnom_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double coslam, cosphi, sinphi; - - sinphi = sin(lp_lat); - cosphi = cos(lp_lat); - coslam = cos(lp_lon); - switch (this->m_proj_parm.mode) { - case EQUIT: - xy_y = cosphi * coslam; - break; - case OBLIQ: - xy_y = this->m_proj_parm.sinph0 * sinphi + this->m_proj_parm.cosph0 * cosphi * coslam; - break; - case S_POLE: - xy_y = - sinphi; - break; - case N_POLE: - xy_y = sinphi; - break; - } - if (xy_y <= EPS10) throw proj_exception();; - xy_x = (xy_y = 1. / xy_y) * cosphi * sin(lp_lon); - switch (this->m_proj_parm.mode) { - case EQUIT: - xy_y *= sinphi; - break; - case OBLIQ: - xy_y *= this->m_proj_parm.cosph0 * sinphi - this->m_proj_parm.sinph0 * cosphi * coslam; - break; - case N_POLE: - coslam = - coslam; - case S_POLE: - xy_y *= cosphi * coslam; - break; - } - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double rh, cosz, sinz; - - rh = boost::math::hypot(xy_x, xy_y); - sinz = sin(lp_lat = atan(rh)); - cosz = sqrt(1. - sinz * sinz); - if (fabs(rh) <= EPS10) { - lp_lat = this->m_par.phi0; - lp_lon = 0.; - } else { - switch (this->m_proj_parm.mode) { - case OBLIQ: - lp_lat = cosz * this->m_proj_parm.sinph0 + xy_y * sinz * this->m_proj_parm.cosph0 / rh; - if (fabs(lp_lat) >= 1.) - lp_lat = lp_lat > 0. ? geometry::math::half_pi() : - geometry::math::half_pi(); - else - lp_lat = asin(lp_lat); - xy_y = (cosz - this->m_proj_parm.sinph0 * sin(lp_lat)) * rh; - xy_x *= sinz * this->m_proj_parm.cosph0; - break; - case EQUIT: - lp_lat = xy_y * sinz / rh; - if (fabs(lp_lat) >= 1.) - lp_lat = lp_lat > 0. ? geometry::math::half_pi() : - geometry::math::half_pi(); - else - lp_lat = asin(lp_lat); - xy_y = cosz * rh; - xy_x *= sinz; - break; - case S_POLE: - lp_lat -= geometry::math::half_pi(); - break; - case N_POLE: - lp_lat = geometry::math::half_pi() - lp_lat; - xy_y = -xy_y; - break; - } - lp_lon = atan2(xy_x, xy_y); - } - } - - static inline std::string get_name() - { - return "gnom_spheroid"; - } - - }; - - // Gnomonic - template - void setup_gnom(Parameters& par, par_gnom& proj_parm) - { - if (fabs(fabs(par.phi0) - geometry::math::half_pi()) < EPS10) - proj_parm.mode = par.phi0 < 0. ? S_POLE : N_POLE; - else if (fabs(par.phi0) < EPS10) - proj_parm.mode = EQUIT; - else { - proj_parm.mode = OBLIQ; - proj_parm.sinph0 = sin(par.phi0); - proj_parm.cosph0 = cos(par.phi0); - } - par.es = 0.; - } - - }} // namespace detail::gnom - #endif // doxygen - - /*! - \brief Gnomonic projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Azimuthal - - Spheroid - \par Example - \image html ex_gnom.gif - */ - template - struct gnom_spheroid : public detail::gnom::base_gnom_spheroid - { - inline gnom_spheroid(const Parameters& par) : detail::gnom::base_gnom_spheroid(par) - { - detail::gnom::setup_gnom(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class gnom_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void gnom_init(detail::base_factory& factory) - { - factory.add_to_factory("gnom", new gnom_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_GNOM_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/goode.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/goode.hpp deleted file mode 100644 index 9ce3ee78c5..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/goode.hpp +++ /dev/null @@ -1,169 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_GOODE_HPP -#define BOOST_GEOMETRY_PROJECTIONS_GOODE_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace goode - { - - static const double Y_COR = 0.05280; - static const double PHI_LIM = .71093078197902358062; - - template - struct par_goode - { - sinu_ellipsoid sinu; - moll_spheroid moll; - - par_goode(const Parameters& par) : sinu(par), moll(par) {} - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_goode_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_goode m_proj_parm; - - inline base_goode_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par), m_proj_parm(par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - if (fabs(lp_lat) <= PHI_LIM) - this->m_proj_parm.sinu.fwd(lp_lon, lp_lat, xy_x, xy_y); - else { - this->m_proj_parm.moll.fwd(lp_lon, lp_lat, xy_x, xy_y); - xy_y -= lp_lat >= 0.0 ? Y_COR : -Y_COR; - } - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - if (fabs(xy_y) <= PHI_LIM) - this->m_proj_parm.sinu.inv(xy_x, xy_y, lp_lon, lp_lat); - else { - xy_y += xy_y >= 0.0 ? Y_COR : -Y_COR; - this->m_proj_parm.moll.inv(xy_x, xy_y, lp_lon, lp_lat); - } - } - - static inline std::string get_name() - { - return "goode_spheroid"; - } - - }; - - // Goode Homolosine - template - void setup_goode(Parameters& par, par_goode& proj_parm) - { - par.es = 0.; - } - - }} // namespace detail::goode - #endif // doxygen - - /*! - \brief Goode Homolosine projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_goode.gif - */ - template - struct goode_spheroid : public detail::goode::base_goode_spheroid - { - inline goode_spheroid(const Parameters& par) : detail::goode::base_goode_spheroid(par) - { - detail::goode::setup_goode(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class goode_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void goode_init(detail::base_factory& factory) - { - factory.add_to_factory("goode", new goode_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_GOODE_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/gstmerc.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/gstmerc.hpp deleted file mode 100644 index b73ef80a22..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/gstmerc.hpp +++ /dev/null @@ -1,184 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_GSTMERC_HPP -#define BOOST_GEOMETRY_PROJECTIONS_GSTMERC_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace gstmerc - { - - struct par_gstmerc - { - double lamc; - double phic; - double c; - double n1; - double n2; - double XS; - double YS; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_gstmerc_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_gstmerc m_proj_parm; - - inline base_gstmerc_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double L, Ls, sinLs1, Ls1; - L= this->m_proj_parm.n1*lp_lon; - Ls= this->m_proj_parm.c+this->m_proj_parm.n1*log(pj_tsfn(-1.0*lp_lat,-1.0*sin(lp_lat),this->m_par.e)); - sinLs1= sin(L)/cosh(Ls); - Ls1= log(pj_tsfn(-1.0*asin(sinLs1),0.0,0.0)); - xy_x= (this->m_proj_parm.XS + this->m_proj_parm.n2*Ls1)*this->m_par.ra; - xy_y= (this->m_proj_parm.YS + this->m_proj_parm.n2*atan(sinh(Ls)/cos(L)))*this->m_par.ra; - /*fprintf(stderr,"fwd:\nL =%16.13f\nLs =%16.13f\nLs1 =%16.13f\nLP(%16.13f,%16.13f)=XY(%16.4f,%16.4f)\n",L,Ls,Ls1,lp_lon+this->m_par.lam0,lp_lat,(xy_x*this->m_par.a + this->m_par.x0)*this->m_par.to_meter,(xy_y*this->m_par.a + this->m_par.y0)*this->m_par.to_meter);*/ - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double L, LC, sinC; - L= atan(sinh((xy_x*this->m_par.a - this->m_proj_parm.XS)/this->m_proj_parm.n2)/cos((xy_y*this->m_par.a - this->m_proj_parm.YS)/this->m_proj_parm.n2)); - sinC= sin((xy_y*this->m_par.a - this->m_proj_parm.YS)/this->m_proj_parm.n2)/cosh((xy_x*this->m_par.a - this->m_proj_parm.XS)/this->m_proj_parm.n2); - LC= log(pj_tsfn(-1.0*asin(sinC),0.0,0.0)); - lp_lon= L/this->m_proj_parm.n1; - lp_lat= -1.0*pj_phi2(exp((LC-this->m_proj_parm.c)/this->m_proj_parm.n1),this->m_par.e); - /*fprintf(stderr,"inv:\nL =%16.13f\nsinC =%16.13f\nLC =%16.13f\nXY(%16.4f,%16.4f)=LP(%16.13f,%16.13f)\n",L,sinC,LC,((xy_x/this->m_par.ra)+this->m_par.x0)/this->m_par.to_meter,((xy_y/this->m_par.ra)+this->m_par.y0)/this->m_par.to_meter,lp_lon+this->m_par.lam0,lp_lat);*/ - } - - static inline std::string get_name() - { - return "gstmerc_spheroid"; - } - - }; - - // Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) - template - void setup_gstmerc(Parameters& par, par_gstmerc& proj_parm) - { - proj_parm.lamc= par.lam0; - proj_parm.n1= sqrt(1.0+par.es*pow(cos(par.phi0),4.0)/(1.0-par.es)); - proj_parm.phic= asin(sin(par.phi0)/proj_parm.n1); - proj_parm.c= log(pj_tsfn(-1.0*proj_parm.phic,0.0,0.0)) - -proj_parm.n1*log(pj_tsfn(-1.0*par.phi0,-1.0*sin(par.phi0),par.e)); - proj_parm.n2= par.k0*par.a*sqrt(1.0-par.es)/(1.0-par.es*sin(par.phi0)*sin(par.phi0)); - proj_parm.XS= 0;/* -par.x0 */ - proj_parm.YS= -1.0*proj_parm.n2*proj_parm.phic;/* -par.y0 */ - /*fprintf(stderr,"a (m) =%16.4f\ne =%16.13f\nl0(rad)=%16.13f\np0(rad)=%16.13f\nk0 =%16.4f\nX0 (m)=%16.4f\nY0 (m)=%16.4f\n\nlC(rad)=%16.13f\npC(rad)=%16.13f\nc =%16.13f\nn1 =%16.13f\nn2 (m) =%16.4f\nXS (m) =%16.4f\nYS (m) =%16.4f\n", par.a, par.e, par.lam0, par.phi0, par.k0, par.x0, par.y0, proj_parm.lamc, proj_parm.phic, proj_parm.c, proj_parm.n1, proj_parm.n2, proj_parm.XS +par.x0, proj_parm.YS + par.y0);*/ - } - - }} // namespace detail::gstmerc - #endif // doxygen - - /*! - \brief Gauss-Schreiber Transverse Mercator (aka Gauss-Laborde Reunion) projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Cylindrical - - Spheroid - - Ellipsoid - \par Projection parameters - - lat_0: Latitude of origin - - lon_0: Central meridian - - k_0: Scale factor - \par Example - \image html ex_gstmerc.gif - */ - template - struct gstmerc_spheroid : public detail::gstmerc::base_gstmerc_spheroid - { - inline gstmerc_spheroid(const Parameters& par) : detail::gstmerc::base_gstmerc_spheroid(par) - { - detail::gstmerc::setup_gstmerc(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class gstmerc_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void gstmerc_init(detail::base_factory& factory) - { - factory.add_to_factory("gstmerc", new gstmerc_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_GSTMERC_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/hammer.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/hammer.hpp deleted file mode 100644 index aa61e771d5..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/hammer.hpp +++ /dev/null @@ -1,162 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_HAMMER_HPP -#define BOOST_GEOMETRY_PROJECTIONS_HAMMER_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace hammer - { - - struct par_hammer - { - double w; - double m, rm; - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_hammer_spheroid : public base_t_f, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_hammer m_proj_parm; - - inline base_hammer_spheroid(const Parameters& par) - : base_t_f, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double cosphi, d; - - d = sqrt(2./(1. + (cosphi = cos(lp_lat)) * cos(lp_lon *= this->m_proj_parm.w))); - xy_x = this->m_proj_parm.m * d * cosphi * sin(lp_lon); - xy_y = this->m_proj_parm.rm * d * sin(lp_lat); - } - - static inline std::string get_name() - { - return "hammer_spheroid"; - } - - }; - - // Hammer & Eckert-Greifendorff - template - void setup_hammer(Parameters& par, par_hammer& proj_parm) - { - if (pj_param(par.params, "tW").i) { - if ((proj_parm.w = fabs(pj_param(par.params, "dW").f)) <= 0.) throw proj_exception(-27); - } else - proj_parm.w = .5; - if (pj_param(par.params, "tM").i) { - if ((proj_parm.m = fabs(pj_param(par.params, "dM").f)) <= 0.) throw proj_exception(-27); - } else - proj_parm.m = 1.; - proj_parm.rm = 1. / proj_parm.m; - proj_parm.m /= proj_parm.w; - par.es = 0.; - } - - }} // namespace detail::hammer - #endif // doxygen - - /*! - \brief Hammer & Eckert-Greifendorff projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Miscellaneous - - Spheroid - - no inverse - \par Projection parameters - - W (real) - - M (real) - \par Example - \image html ex_hammer.gif - */ - template - struct hammer_spheroid : public detail::hammer::base_hammer_spheroid - { - inline hammer_spheroid(const Parameters& par) : detail::hammer::base_hammer_spheroid(par) - { - detail::hammer::setup_hammer(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class hammer_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_f, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void hammer_init(detail::base_factory& factory) - { - factory.add_to_factory("hammer", new hammer_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_HAMMER_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/hatano.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/hatano.hpp deleted file mode 100644 index 3c66259335..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/hatano.hpp +++ /dev/null @@ -1,184 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_HATANO_HPP -#define BOOST_GEOMETRY_PROJECTIONS_HATANO_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace hatano - { - - static const int NITER = 20; - static const double EPS = 1e-7; - static const double ONETOL = 1.000001; - static const double CN_ = 2.67595; - static const double CS_ = 2.43763; - static const double RCN = 0.37369906014686373063; - static const double RCS = 0.41023453108141924738; - static const double FYCN = 1.75859; - static const double FYCS = 1.93052; - static const double RYCN = 0.56863737426006061674; - static const double RYCS = 0.51799515156538134803; - static const double FXC = 0.85; - static const double RXC = 1.17647058823529411764; - - // template class, using CRTP to implement forward/inverse - template - struct base_hatano_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - - inline base_hatano_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_forward) spheroid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - double th1, c; - int i; - - c = sin(lp_lat) * (lp_lat < 0. ? CS_ : CN_); - for (i = NITER; i; --i) { - lp_lat -= th1 = (lp_lat + sin(lp_lat) - c) / (1. + cos(lp_lat)); - if (fabs(th1) < EPS) break; - } - xy_x = FXC * lp_lon * cos(lp_lat *= .5); - xy_y = sin(lp_lat) * (lp_lat < 0. ? FYCS : FYCN); - } - - // INVERSE(s_inverse) spheroid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - double th; - - th = xy_y * ( xy_y < 0. ? RYCS : RYCN); - if (fabs(th) > 1.) - if (fabs(th) > ONETOL) throw proj_exception(); - else th = th > 0. ? geometry::math::half_pi() : - geometry::math::half_pi(); - else - th = asin(th); - lp_lon = RXC * xy_x / cos(th); - th += th; - lp_lat = (th + sin(th)) * (xy_y < 0. ? RCS : RCN); - if (fabs(lp_lat) > 1.) - if (fabs(lp_lat) > ONETOL) throw proj_exception(); - else lp_lat = lp_lat > 0. ? geometry::math::half_pi() : - geometry::math::half_pi(); - else - lp_lat = asin(lp_lat); - } - - static inline std::string get_name() - { - return "hatano_spheroid"; - } - - }; - - // Hatano Asymmetrical Equal Area - template - void setup_hatano(Parameters& par) - { - par.es = 0.; - } - - }} // namespace detail::hatano - #endif // doxygen - - /*! - \brief Hatano Asymmetrical Equal Area projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Pseudocylindrical - - Spheroid - \par Example - \image html ex_hatano.gif - */ - template - struct hatano_spheroid : public detail::hatano::base_hatano_spheroid - { - inline hatano_spheroid(const Parameters& par) : detail::hatano::base_hatano_spheroid(par) - { - detail::hatano::setup_hatano(this->m_par); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class hatano_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void hatano_init(detail::base_factory& factory) - { - factory.add_to_factory("hatano", new hatano_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_HATANO_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/healpix.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/healpix.hpp deleted file mode 100644 index eb96abb30b..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/healpix.hpp +++ /dev/null @@ -1,846 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_HEALPIX_HPP -#define BOOST_GEOMETRY_PROJECTIONS_HEALPIX_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Purpose: Implementation of the HEALPix and rHEALPix projections. -// For background see . -// Authors: Alex Raichev (raichev@cs.auckland.ac.nz) -// Michael Speth (spethm@landcareresearch.co.nz) -// Notes: Raichev implemented these projections in Python and -// Speth translated them into C here. -// Copyright (c) 2001, Thomas Flemming, tf@ttqv.com - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace healpix - { - - static const double EPS = 1e-15; - - struct par_healpix - { - int north_square; - int south_square; - double qp; - double apa[APA_SIZE]; - }; - - /* Matrix for counterclockwise rotation by pi/2: */ - /* Matrix for counterclockwise rotation by pi: */ - /* Matrix for counterclockwise rotation by 3*pi/2: */ - /* Identity matrix */ - /* IDENT, R1, R2, R3, R1 inverse, R2 inverse, R3 inverse:*/ - /* Fuzz to handle rounding errors: */ - typedef struct { - int cn; /* An integer 0--3 indicating the position of the polar cap. */ - double x, y; /* Coordinates of the pole point (point of most extreme latitude on the polar caps). */ - enum Region {north, south, equatorial} region; - } CapMap; - typedef struct { - double x, y; - } Point; - double rot[7][2][2] = {{{1, 0},{0, 1}}, {{ 0,-1},{ 1, 0}}, {{-1, 0},{ 0,-1}}, {{ 0, 1},{-1, 0}}, {{ 0, 1},{-1, 0}}, {{-1, 0},{ 0,-1}}, {{ 0,-1},{ 1, 0}}}; - - /** - * Returns the sign of the double. - * @param v the parameter whose sign is returned. - * @return 1 for positive number, -1 for negative, and 0 for zero. - **/ - double pj_sign (double v) { - return v > 0 ? 1 : (v < 0 ? -1 : 0); - } - /** - * Return the index of the matrix in {{{1, 0},{0, 1}}, {{ 0,-1},{ 1, 0}}, {{-1, 0},{ 0,-1}}, {{ 0, 1},{-1, 0}}, {{ 0, 1},{-1, 0}}, {{-1, 0},{ 0,-1}}, {{ 0,-1},{ 1, 0}}}. - * @param index ranges from -3 to 3. - */ - static int get_rotate_index(int index) { - switch(index) { - case 0: - return 0; - case 1: - return 1; - case 2: - return 2; - case 3: - return 3; - case -1: - return 4; - case -2: - return 5; - case -3: - return 6; - } - return 0; - } - /** - * Return 1 if point (testx, testy) lies in the interior of the polygon - * determined by the vertices in vert, and return 0 otherwise. - * See http://paulbourke.net/geometry/polygonmesh/ for more details. - * @param nvert the number of vertices in the polygon. - * @param vert the (x, y)-coordinates of the polygon's vertices - **/ - static int pnpoly(int nvert, double vert[][2], double testx, double testy) { - int i, c = 0; - int counter = 0; - double xinters; - Point p1, p2; - /* Check for boundrary cases */ - for (i = 0; i < nvert; i++) { - if (testx == vert[i][0] && testy == vert[i][1]) { - return 1; - } - } - p1.x = vert[0][0]; - p1.y = vert[0][1]; - for (i = 1; i < nvert; i++) { - p2.x = vert[i % nvert][0]; - p2.y = vert[i % nvert][1]; - if (testy > (std::min)(p1.y, p2.y)) { - if (testy <= (std::max)(p1.y, p2.y)) { - if (testx <= (std::max)(p1.x, p2.x)) { - if (p1.y != p2.y) { - xinters = (testy-p1.y)*(p2.x-p1.x)/(p2.y-p1.y)+p1.x; - if (p1.x == p2.x || testx <= xinters) { - counter++; - } - } - } - } - } - p1 = p2; - } - if (counter % 2 == 0) { - return 0; - } else { - return 1; - } - return c; - } - /** - * Return 1 if (x, y) lies in (the interior or boundary of) the image of the - * HEALPix projection (in case proj=0) or in the image the rHEALPix projection - * (in case proj=1), and return 0 otherwise. - * @param north_square the position of the north polar square (rHEALPix only) - * @param south_square the position of the south polar square (rHEALPix only) - **/ - int in_image(double x, double y, int proj, int north_square, int south_square) { - if (proj == 0) { - double healpixVertsJit[][2] = { - {-1.0*geometry::math::pi()- EPS, geometry::math::pi()/4.0}, - {-3.0*geometry::math::pi()/4.0, geometry::math::pi()/2.0 + EPS}, - {-1.0*geometry::math::pi()/2.0, geometry::math::pi()/4.0 + EPS}, - {-1.0*geometry::math::pi()/4.0, geometry::math::pi()/2.0 + EPS}, - {0.0, geometry::math::pi()/4.0 + EPS}, - {geometry::math::pi()/4.0, geometry::math::pi()/2.0 + EPS}, - {geometry::math::pi()/2.0, geometry::math::pi()/4.0 + EPS}, - {3.0*geometry::math::pi()/4.0, geometry::math::pi()/2.0 + EPS}, - {geometry::math::pi()+ EPS, geometry::math::pi()/4.0}, - {geometry::math::pi()+ EPS, -1.0*geometry::math::pi()/4.0}, - {3.0*geometry::math::pi()/4.0, -1.0*geometry::math::pi()/2.0 - EPS}, - {geometry::math::pi()/2.0, -1.0*geometry::math::pi()/4.0 - EPS}, - {geometry::math::pi()/4.0, -1.0*geometry::math::pi()/2.0 - EPS}, - {0.0, -1.0*geometry::math::pi()/4.0 - EPS}, - {-1.0*geometry::math::pi()/4.0, -1.0*geometry::math::pi()/2.0 - EPS}, - {-1.0*geometry::math::pi()/2.0, -1.0*geometry::math::pi()/4.0 - EPS}, - {-3.0*geometry::math::pi()/4.0, -1.0*geometry::math::pi()/2.0 - EPS}, - {-1.0*geometry::math::pi() - EPS, -1.0*geometry::math::pi()/4.0} - }; - return pnpoly((int)sizeof(healpixVertsJit)/ - sizeof(healpixVertsJit[0]), healpixVertsJit, x, y); - } else { - double rhealpixVertsJit[][2] = { - {-1.0*geometry::math::pi() - EPS, geometry::math::pi()/4.0 + EPS}, - {-1.0*geometry::math::pi() + north_square*geometry::math::pi()/2.0- EPS, geometry::math::pi()/4.0 + EPS}, - {-1.0*geometry::math::pi() + north_square*geometry::math::pi()/2.0- EPS, 3*geometry::math::pi()/4.0 + EPS}, - {-1.0*geometry::math::pi() + (north_square + 1.0)*geometry::math::pi()/2.0 + EPS, 3*geometry::math::pi()/4.0 + EPS}, - {-1.0*geometry::math::pi() + (north_square + 1.0)*geometry::math::pi()/2.0 + EPS, geometry::math::pi()/4.0 + EPS}, - {geometry::math::pi() + EPS, geometry::math::pi()/4.0 + EPS}, - {geometry::math::pi() + EPS, -1.0*geometry::math::pi()/4.0 - EPS}, - {-1.0*geometry::math::pi() + (south_square + 1.0)*geometry::math::pi()/2.0 + EPS, -1.0*geometry::math::pi()/4.0 - EPS}, - {-1.0*geometry::math::pi() + (south_square + 1.0)*geometry::math::pi()/2.0 + EPS, -3.0*geometry::math::pi()/4.0 - EPS}, - {-1.0*geometry::math::pi() + south_square*geometry::math::pi()/2.0 - EPS, -3.0*geometry::math::pi()/4.0 - EPS}, - {-1.0*geometry::math::pi() + south_square*geometry::math::pi()/2.0 - EPS, -1.0*geometry::math::pi()/4.0 - EPS}, - {-1.0*geometry::math::pi() - EPS, -1.0*geometry::math::pi()/4.0 - EPS}}; - return pnpoly((int)sizeof(rhealpixVertsJit)/ - sizeof(rhealpixVertsJit[0]), rhealpixVertsJit, x, y); - } - } - /** - * Return the authalic latitude of latitude alpha (if inverse=0) or - * return the approximate latitude of authalic latitude alpha (if inverse=1). - * P contains the relavent ellipsoid parameters. - **/ - template - double auth_lat(const Parameters& par, const par_healpix& proj_parm, double alpha, int inverse) { - if (inverse == 0) { - /* Authalic latitude. */ - double q = pj_qsfn(sin(alpha), par.e, 1.0 - par.es); - double qp = proj_parm.qp; - double ratio = q/qp; - if (fabsl(ratio) > 1) { - /* Rounding error. */ - ratio = pj_sign(ratio); - } - return asin(ratio); - } else { - /* Approximation to inverse authalic latitude. */ - return pj_authlat(alpha, proj_parm.apa); - } - } - /** - * Return the HEALPix projection of the longitude-latitude point lp on - * the unit sphere. - **/ - void healpix_sphere(double const& lp_lam, double const& lp_phi, double& xy_x, double& xy_y) { - double lam = lp_lam; - double phi = lp_phi; - double phi0 = asin(2.0/3.0); - - /* equatorial region */ - if ( fabsl(phi) <= phi0) { - xy_x = lam; - xy_y = 3.0*geometry::math::pi()/8.0*sin(phi); - } else { - double lamc; - double sigma = sqrt(3.0*(1 - fabsl(sin(phi)))); - double cn = floor(2*lam / geometry::math::pi() + 2); - if (cn >= 4) { - cn = 3; - } - lamc = -3*geometry::math::pi()/4 + (geometry::math::pi()/2)*cn; - xy_x = lamc + (lam - lamc)*sigma; - xy_y = pj_sign(phi)*geometry::math::pi()/4*(2 - sigma); - } - return; - } - /** - * Return the inverse of healpix_sphere(). - **/ - void healpix_sphere_inverse(double const& xy_x, double const& xy_y, double& lp_lam, double& lp_phi) { - - double x = xy_x; - double y = xy_y; - double y0 = geometry::math::pi()/4.0; - /* Equatorial region. */ - if (fabsl(y) <= y0) { - lp_lam = x; - lp_phi = asin(8.0*y/(3.0*geometry::math::pi())); - } else if (fabsl(y) < geometry::math::pi()/2.0) { - double cn = floor(2.0*x/geometry::math::pi() + 2.0); - double xc, tau; - if (cn >= 4) { - cn = 3; - } - xc = -3.0*geometry::math::pi()/4.0 + (geometry::math::pi()/2.0)*cn; - tau = 2.0 - 4.0*fabsl(y)/geometry::math::pi(); - lp_lam = xc + (x - xc)/tau; - lp_phi = pj_sign(y)*asin(1.0 - pow(tau , 2.0)/3.0); - } else { - lp_lam = -1.0*geometry::math::pi(); - lp_phi = pj_sign(y)*geometry::math::pi()/2.0; - } - return; - } - /** - * Return the vector sum a + b, where a and b are 2-dimensional vectors. - * @param ret holds a + b. - **/ - static void vector_add(double a[2], double b[2], double *ret) { - int i; - for(i = 0; i < 2; i++) { - ret[i] = a[i] + b[i]; - } - } - /** - * Return the vector difference a - b, where a and b are 2-dimensional vectors. - * @param ret holds a - b. - **/ - static void vector_sub(double a[2], double b[2], double*ret) { - int i; - for(i = 0; i < 2; i++) { - ret[i] = a[i] - b[i]; - } - } - /** - * Return the 2 x 1 matrix product a*b, where a is a 2 x 2 matrix and - * b is a 2 x 1 matrix. - * @param ret holds a*b. - **/ - static void dot_product(double a[2][2], double b[2], double *ret) { - int i, j; - int length = 2; - for(i = 0; i < length; i++) { - ret[i] = 0; - for(j = 0; j < length; j++) { - ret[i] += a[i][j]*b[j]; - } - } - } - /** - * Return the number of the polar cap, the pole point coordinates, and - * the region that (x, y) lies in. - * If inverse=0, then assume (x,y) lies in the image of the HEALPix - * projection of the unit sphere. - * If inverse=1, then assume (x,y) lies in the image of the - * (north_square, south_square)-rHEALPix projection of the unit sphere. - **/ - static CapMap get_cap(double x, double y, int north_square, int south_square, - int inverse) { - CapMap capmap; - double c; - capmap.x = x; - capmap.y = y; - if (inverse == 0) { - if (y > geometry::math::pi()/4.0) { - capmap.region = CapMap::north; - c = geometry::math::pi()/2.0; - } else if (y < -1*geometry::math::pi()/4.0) { - capmap.region = CapMap::south; - c = -1*geometry::math::pi()/2.0; - } else { - capmap.region = CapMap::equatorial; - capmap.cn = 0; - return capmap; - } - /* polar region */ - if (x < -1*geometry::math::pi()/2.0) { - capmap.cn = 0; - capmap.x = (-1*3.0*geometry::math::pi()/4.0); - capmap.y = c; - } else if (x >= -1*geometry::math::pi()/2.0 && x < 0) { - capmap.cn = 1; - capmap.x = -1*geometry::math::pi()/4.0; - capmap.y = c; - } else if (x >= 0 && x < geometry::math::pi()/2.0) { - capmap.cn = 2; - capmap.x = geometry::math::pi()/4.0; - capmap.y = c; - } else { - capmap.cn = 3; - capmap.x = 3.0*geometry::math::pi()/4.0; - capmap.y = c; - } - return capmap; - } else { - double eps; - if (y > geometry::math::pi()/4.0) { - capmap.region = CapMap::north; - capmap.x = (-3.0*geometry::math::pi()/4.0 + north_square*geometry::math::pi()/2.0); - capmap.y = geometry::math::pi()/2.0; - x = x - north_square*geometry::math::pi()/2.0; - } else if (y < -1*geometry::math::pi()/4.0) { - capmap.region = CapMap::south; - capmap.x = (-3.0*geometry::math::pi()/4.0 + south_square*geometry::math::pi()/2); - capmap.y = -1*geometry::math::pi()/2.0; - x = x - south_square*geometry::math::pi()/2.0; - } else { - capmap.region = CapMap::equatorial; - capmap.cn = 0; - return capmap; - } - /* Polar Region, find the HEALPix polar cap number that - x, y moves to when rHEALPix polar square is disassembled. */ - eps = 1e-15; /* Kludge. Fuzz to avoid some rounding errors. */ - if (capmap.region == CapMap::north) { - if (y >= -1*x - geometry::math::pi()/4.0 - eps && y < x + 5.0*geometry::math::pi()/4.0 - eps) { - capmap.cn = (north_square + 1) % 4; - } else if (y > -1*x -1*geometry::math::pi()/4.0 + eps && y >= x + 5.0*geometry::math::pi()/4.0 - eps) { - capmap.cn = (north_square + 2) % 4; - } else if (y <= -1*x -1*geometry::math::pi()/4.0 + eps && y > x + 5.0*geometry::math::pi()/4.0 + eps) { - capmap.cn = (north_square + 3) % 4; - } else { - capmap.cn = north_square; - } - } else if (capmap.region == CapMap::south) { - if (y <= x + geometry::math::pi()/4.0 + eps && y > -1*x - 5.0*geometry::math::pi()/4 + eps) { - capmap.cn = (south_square + 1) % 4; - } else if (y < x + geometry::math::pi()/4.0 - eps && y <= -1*x - 5.0*geometry::math::pi()/4.0 + eps) { - capmap.cn = (south_square + 2) % 4; - } else if (y >= x + geometry::math::pi()/4.0 - eps && y < -1*x - 5.0*geometry::math::pi()/4.0 - eps) { - capmap.cn = (south_square + 3) % 4; - } else { - capmap.cn = south_square; - } - } - return capmap; - } - } - /** - * Rearrange point (x, y) in the HEALPix projection by - * combining the polar caps into two polar squares. - * Put the north polar square in position north_square and - * the south polar square in position south_square. - * If inverse=1, then uncombine the polar caps. - * @param north_square integer between 0 and 3. - * @param south_square integer between 0 and 3. - **/ - static void combine_caps(double& xy_x, double& xy_y, int north_square, int south_square, - int inverse) { - - double v[2]; - double a[2]; - double vector[2]; - double v_min_c[2]; - double ret_dot[2]; - CapMap capmap = get_cap(xy_x, xy_y, north_square, south_square, inverse); - if (capmap.region == CapMap::equatorial) { - xy_x = capmap.x; - xy_y = capmap.y; - return; - } - v[0] = xy_x; - v[1] = xy_y; - if (inverse == 0) { - /* Rotate (xy_x, xy_y) about its polar cap tip and then translate it to - north_square or south_square. */ - int pole = 0; - double (*tmpRot)[2]; - double c[2] = {capmap.x, capmap.y}; - if (capmap.region == CapMap::north) { - pole = north_square; - a[0] = (-3.0*geometry::math::pi()/4.0 + pole*geometry::math::pi()/2); - a[1] = (geometry::math::pi()/2.0 + pole*0); - tmpRot = rot[get_rotate_index(capmap.cn - pole)]; - vector_sub(v, c, v_min_c); - dot_product(tmpRot, v_min_c, ret_dot); - vector_add(ret_dot, a, vector); - } else { - pole = south_square; - a[0] = (-3.0*geometry::math::pi()/4.0 + pole*geometry::math::pi()/2); - a[1] = (geometry::math::pi()/-2.0 + pole*0); - tmpRot = rot[get_rotate_index(-1*(capmap.cn - pole))]; - vector_sub(v, c, v_min_c); - dot_product(tmpRot, v_min_c, ret_dot); - vector_add(ret_dot, a, vector); - } - xy_x = vector[0]; - xy_y = vector[1]; - return; - } else { - /* Inverse function. - Unrotate (xy_x, xy_y) and then translate it back. */ - int pole = 0; - double (*tmpRot)[2]; - double c[2] = {capmap.x, capmap.y}; - /* disassemble */ - if (capmap.region == CapMap::north) { - pole = north_square; - a[0] = (-3.0*geometry::math::pi()/4.0 + capmap.cn*geometry::math::pi()/2); - a[1] = (geometry::math::pi()/2.0 + capmap.cn*0); - tmpRot = rot[get_rotate_index(-1*(capmap.cn - pole))]; - vector_sub(v, c, v_min_c); - dot_product(tmpRot, v_min_c, ret_dot); - vector_add(ret_dot, a, vector); - } else { - pole = south_square; - a[0] = (-3.0*geometry::math::pi()/4.0 + capmap.cn*geometry::math::pi()/2); - a[1] = (geometry::math::pi()/-2.0 + capmap.cn*0); - tmpRot = rot[get_rotate_index(capmap.cn - pole)]; - vector_sub(v, c, v_min_c); - dot_product(tmpRot, v_min_c, ret_dot); - vector_add(ret_dot, a, vector); - } - xy_x = vector[0]; - xy_y = vector[1]; - return; - } - } - - // template class, using CRTP to implement forward/inverse - template - struct base_healpix_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_healpix m_proj_parm; - - inline base_healpix_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_healpix_forward) ellipsoid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - lp_lat = auth_lat(this->params(), m_proj_parm, lp_lat, 0); - return healpix_sphere(lp_lon, lp_lat, xy_x, xy_y); - } - - // INVERSE(e_healpix_inverse) ellipsoid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - /* Check whether (x, y) lies in the HEALPix image. */ - if (in_image(xy_x, xy_y, 0, 0, 0) == 0) { - lp_lon = HUGE_VAL; - lp_lat = HUGE_VAL; - throw proj_exception(-15); - return; - } - healpix_sphere_inverse(xy_x, xy_y, lp_lon, lp_lat); - lp_lat = auth_lat(this->params(), m_proj_parm, lp_lat, 1); - } - - static inline std::string get_name() - { - return "healpix_ellipsoid"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_healpix_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_healpix m_proj_parm; - - inline base_healpix_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_healpix_forward) sphere - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - return healpix_sphere(lp_lon, lp_lat, xy_x, xy_y); - } - - // INVERSE(s_healpix_inverse) sphere - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - /* Check whether (x, y) lies in the HEALPix image */ - if (in_image(xy_x, xy_y, 0, 0, 0) == 0) { - lp_lon = HUGE_VAL; - lp_lat = HUGE_VAL; - throw proj_exception(-15); - return; - } - return healpix_sphere_inverse(xy_x, xy_y, lp_lon, lp_lat); - } - - static inline std::string get_name() - { - return "healpix_spheroid"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_rhealpix_ellipsoid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_healpix m_proj_parm; - - inline base_rhealpix_ellipsoid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(e_rhealpix_forward) ellipsoid - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - lp_lat = auth_lat(this->params(), m_proj_parm, lp_lat, 0); - healpix_sphere(lp_lon, lp_lat, xy_x, xy_y); - combine_caps(xy_x, xy_y, this->m_proj_parm.north_square, this->m_proj_parm.south_square, 0); - } - - // INVERSE(e_rhealpix_inverse) ellipsoid - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - /* Check whether (x, y) lies in the rHEALPix image. */ - if (in_image(xy_x, xy_y, 1, this->m_proj_parm.north_square, this->m_proj_parm.south_square) == 0) { - lp_lon = HUGE_VAL; - lp_lat = HUGE_VAL; - throw proj_exception(-15); - return; - } - combine_caps(xy_x, xy_y, this->m_proj_parm.north_square, this->m_proj_parm.south_square, 1); - healpix_sphere_inverse(xy_x, xy_y, lp_lon, lp_lat); - lp_lat = auth_lat(this->params(), m_proj_parm, lp_lat, 1); - } - - static inline std::string get_name() - { - return "rhealpix_ellipsoid"; - } - - }; - - // template class, using CRTP to implement forward/inverse - template - struct base_rhealpix_spheroid : public base_t_fi, - Geographic, Cartesian, Parameters> - { - - typedef double geographic_type; - typedef double cartesian_type; - - par_healpix m_proj_parm; - - inline base_rhealpix_spheroid(const Parameters& par) - : base_t_fi, - Geographic, Cartesian, Parameters>(*this, par) {} - - // FORWARD(s_rhealpix_forward) sphere - // Project coordinates from geographic (lon, lat) to cartesian (x, y) - inline void fwd(geographic_type& lp_lon, geographic_type& lp_lat, cartesian_type& xy_x, cartesian_type& xy_y) const - { - healpix_sphere(lp_lon, lp_lat, xy_x, xy_y); - combine_caps(xy_x, xy_y, this->m_proj_parm.north_square, this->m_proj_parm.south_square, 0); - } - - // INVERSE(s_rhealpix_inverse) sphere - // Project coordinates from cartesian (x, y) to geographic (lon, lat) - inline void inv(cartesian_type& xy_x, cartesian_type& xy_y, geographic_type& lp_lon, geographic_type& lp_lat) const - { - /* Check whether (x, y) lies in the rHEALPix image. */ - if (in_image(xy_x, xy_y, 1, this->m_proj_parm.north_square, this->m_proj_parm.south_square) == 0) { - lp_lon = HUGE_VAL; - lp_lat = HUGE_VAL; - throw proj_exception(-15); - return; - } - combine_caps(xy_x, xy_y, this->m_proj_parm.north_square, this->m_proj_parm.south_square, 1); - return healpix_sphere_inverse(xy_x, xy_y, lp_lon, lp_lat); - } - - static inline std::string get_name() - { - return "rhealpix_spheroid"; - } - - }; - - // HEALPix - template - void setup_healpix(Parameters& par, par_healpix& proj_parm) - { - if (par.es) { - pj_authset(par.es, proj_parm.apa); /* For auth_lat(). */ - proj_parm.qp = pj_qsfn(1.0, par.e, par.one_es); /* For auth_lat(). */ - par.a = par.a*sqrt(0.5*proj_parm.qp); /* Set par.a to authalic radius. */ - par.ra = 1.0/par.a; - } else { - } - } - - // rHEALPix - template - void setup_rhealpix(Parameters& par, par_healpix& proj_parm) - { - proj_parm.north_square = pj_param(par.params,"inorth_square").i; - proj_parm.south_square = pj_param(par.params,"isouth_square").i; - /* Check for valid north_square and south_square inputs. */ - if (proj_parm.north_square < 0 || proj_parm.north_square > 3) { - throw proj_exception(-47); - } - if (proj_parm.south_square < 0 || proj_parm.south_square > 3) { - throw proj_exception(-47); - } - if (par.es) { - pj_authset(par.es, proj_parm.apa); /* For auth_lat(). */ - proj_parm.qp = pj_qsfn(1.0, par.e, par.one_es); /* For auth_lat(). */ - par.a = par.a*sqrt(0.5*proj_parm.qp); /* Set par.a to authalic radius. */ - par.ra = 1.0/par.a; - } else { - } - } - - }} // namespace detail::healpix - #endif // doxygen - - /*! - \brief HEALPix projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Spheroid - - Ellipsoid - \par Example - \image html ex_healpix.gif - */ - template - struct healpix_ellipsoid : public detail::healpix::base_healpix_ellipsoid - { - inline healpix_ellipsoid(const Parameters& par) : detail::healpix::base_healpix_ellipsoid(par) - { - detail::healpix::setup_healpix(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief HEALPix projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Spheroid - - Ellipsoid - \par Example - \image html ex_healpix.gif - */ - template - struct healpix_spheroid : public detail::healpix::base_healpix_spheroid - { - inline healpix_spheroid(const Parameters& par) : detail::healpix::base_healpix_spheroid(par) - { - detail::healpix::setup_healpix(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief rHEALPix projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Spheroid - - Ellipsoid - \par Projection parameters - - north_square (integer) - - south_square (integer) - \par Example - \image html ex_rhealpix.gif - */ - template - struct rhealpix_ellipsoid : public detail::healpix::base_rhealpix_ellipsoid - { - inline rhealpix_ellipsoid(const Parameters& par) : detail::healpix::base_rhealpix_ellipsoid(par) - { - detail::healpix::setup_rhealpix(this->m_par, this->m_proj_parm); - } - }; - - /*! - \brief rHEALPix projection - \ingroup projections - \tparam Geographic latlong point type - \tparam Cartesian xy point type - \tparam Parameters parameter type - \par Projection characteristics - - Spheroid - - Ellipsoid - \par Projection parameters - - north_square (integer) - - south_square (integer) - \par Example - \image html ex_rhealpix.gif - */ - template - struct rhealpix_spheroid : public detail::healpix::base_rhealpix_spheroid - { - inline rhealpix_spheroid(const Parameters& par) : detail::healpix::base_rhealpix_spheroid(par) - { - detail::healpix::setup_rhealpix(this->m_par, this->m_proj_parm); - } - }; - - #ifndef DOXYGEN_NO_DETAIL - namespace detail - { - - // Factory entry(s) - template - class healpix_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - if (par.es) - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - else - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - class rhealpix_entry : public detail::factory_entry - { - public : - virtual projection* create_new(const Parameters& par) const - { - if (par.es) - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - else - return new base_v_fi, Geographic, Cartesian, Parameters>(par); - } - }; - - template - inline void healpix_init(detail::base_factory& factory) - { - factory.add_to_factory("healpix", new healpix_entry); - factory.add_to_factory("rhealpix", new rhealpix_entry); - } - - } // namespace detail - #endif // doxygen - -}}} // namespace boost::geometry::projections - -#endif // BOOST_GEOMETRY_PROJECTIONS_HEALPIX_HPP - diff --git a/3party/boost/boost/geometry/extensions/gis/projections/proj/igh.hpp b/3party/boost/boost/geometry/extensions/gis/projections/proj/igh.hpp deleted file mode 100644 index d4eb9a09a5..0000000000 --- a/3party/boost/boost/geometry/extensions/gis/projections/proj/igh.hpp +++ /dev/null @@ -1,315 +0,0 @@ -#ifndef BOOST_GEOMETRY_PROJECTIONS_IGH_HPP -#define BOOST_GEOMETRY_PROJECTIONS_IGH_HPP - -// Boost.Geometry - extensions-gis-projections (based on PROJ4) -// This file is automatically generated. DO NOT EDIT. - -// Copyright (c) 2008-2015 Barend Gehrels, Amsterdam, the Netherlands. - -// 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) - -// This file is converted from PROJ4, http://trac.osgeo.org/proj -// PROJ4 is originally written by Gerald Evenden (then of the USGS) -// PROJ4 is maintained by Frank Warmerdam -// PROJ4 is converted to Boost.Geometry by Barend Gehrels - -// Last updated version of proj: 4.9.1 - -// Original copyright notice: - -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -// THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - -#include -#include - -#include -#include -#include -#include -#include -#include - -namespace boost { namespace geometry { namespace projections -{ - #ifndef DOXYGEN_NO_DETAIL - namespace detail { namespace igh - { - - template - struct par_igh - { - boost::shared_ptr > pj[12]; - double dy0; - }; - - static const double d4044118 = (40 + 44/60. + 11.8/3600.) * geometry::math::d2r(); // 40d 44' 11.8" [degrees] - - static const double d10 = 10 * geometry::math::d2r(); - static const double d20 = 20 * geometry::math::d2r(); - static const double d30 = 30 * geometry::math::d2r(); - static const double d40 = 40 * geometry::math::d2r(); - static const double d50 = 50 * geometry::math::d2r(); - static const double d60 = 60 * geometry::math::d2r(); - static const double d80 = 80 * geometry::math::d2r(); - static const double d90 = 90 * geometry::math::d2r(); - static const double d100 = 100 * geometry::math::d2r(); - static const double d140 = 140 * geometry::math::d2r(); - static const double d160 = 160 * geometry::math::d2r(); - static const double d180 = 180 * geometry::math::d2r(); - - static const double EPSLN = 1.e-10; // allow a little 'slack' on zone edge positions - - // Converted from #define SETUP(n, proj, x_0, y_0, lon_0) - template